从XML和&amp ;;建模Cassandra C#

时间:2016-03-07 02:20:56

标签: cassandra datastax

我是Cassandra的初学者。我发现很难对附加的XML文件进行建模。

我的要求是:

  1. 我每天都会收到许多XML文件。我需要编写一个C#程序来读取XML并存储在Cassandra中。
  2. 一旦存储,数据将由1000个客户1000次读取。存储数据后,将不会再次更新。
  3. 注意:每个父节点(例如:客户/站点......)可能看起来更多。时间。即我可能有Customer2,Site2,另一个EquipmentDetails节点等。

    我的XML:

    <?xml version="1.0" standalone="yes"?>
    <MyAnalystXMLReport>
      <MC-DomainID ID="XYZ123">
        <Customer Name="CUSTOMER1" ID="53043">
          <Site Name="SITE1" ID="488688">
            <EquipmentDetails>
              <EquipmentDescription>Test Desc</EquipmentDescription>
              <EquipmentRefId>T3567111</EquipmentRefId>
              <ComponentDescription>COM Oil</ComponentDescription>
              <ComponentRefId>
              </ComponentRefId>
              <AnanlystNo>1235LKJU</AnanlystNo>
              <ComponentType>TestComp</ComponentType>
              <Sample SampleNo="976023696">
                <SampleCondition>USUAL</SampleCondition>
                <AnalysisComments>Test Comments</AnalysisComments>
                <DateRecieved>2015-12-10</DateRecieved>
                <DateAnalysed>2015-12-18</DateAnalysed>
                <EquipmentLife>
                </EquipmentLife>
                <LubricantLife>
                </LubricantLife>
                <TopUpVolume>0</TopUpVolume>
                <FuelUsed>
                </FuelUsed>
                <Tests>
                  <TestGroup Name="Group NAME1" ID="667">
                    <Test Name="Test Name1" ID="1785">
                      <Result>171.3</Result>
                    </Test>
                  </TestGroup>
                  <TestGroup Name="Group NAME2" ID="617">
                    <Test Name="Test NAME2" ID="1763">
                      <Result>153.40</Result>
                    </Test>
                  </TestGroup>
                </Tests>
              </Sample>
            </EquipmentDetails>
          </Site>
        </Customer>
      </MC-DomainID>
    </MyAnalystXMLReport>
    

    我如何以有效的方式对此XML进行建模以实现此要求? 什么是存储此数据数据的最简单方法?使用C#在Cassandra中建模。任何一个例子将不胜感激。

    感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

首先,在Cassandra中使用的建模数据与传统的RDBMS略有不同。我的第一个建议是看看这个链接:

http://www.datastax.com/dev/blog/basic-rules-of-cassandra-data-modeling

基本上Cassandra使用每个查询表的方法来确定数据模型。这意味着您需要知道应用程序将如何查询数据,然后在此之后对逻辑和物理持久性模型进行建模。 DataStax在Cassandra上有一些优秀的教程视频和专门的数据建模。见这里:

https://academy.datastax.com/courses/ds220-data-modeling

至于如何在C#中使用它,有一个关于如何开始使用c#的好视频:

https://academy.datastax.com/demos/getting-started-apache-cassandra-and-c-net