关于Cassandra中数据模型和分区的建议

时间:2016-06-12 16:27:13

标签: cassandra cql cql3 nosql

我想知道我是否在Cassandra中使用了正确的数据模型,我需要一些提示。首先,让我展示它在关系数据库中的作用:

SQL data model

然后,我计划在Cassandra中使用数据模型:

    <table border="1" class="CSSTableGenerator" id="myTable">
    <tr>
      <th>Component</th>
      <th>Properties</th>
      <th class="bots">J10</th>
      <th>J11</th>
      <th>J12</th>
      <th>J13</th>
    </tr>
   <tr>
      <td>GenerateAlternateTagUrlDroplet</td>
      <td>alternateTagConfiguration</td>
      <td class="trueValue">/com//jec/website/seo/</td>
      <td class="trueValue">/com//jec/website/seo/</td>
      <td class="trueValue">/com//jec/website/seo/</td>
      <td class="trueValue">/com//jec/website/seo/</td>
    </tr>
   <tr>

    <td>AlternateTagUrlDroplet</td>
      <td>tagConfiguration</td>
         <td class="trueValue">/jec/website/seo/</td>
         <td class="trueValue">/jec/website/seo/</td>
         <td class="trueValue">/jec/website/seo/</td>
         <td class="trueValue">/jec/website/seo/</td>
    </tr>
    </table>

我想知道我是否做得对,因为我在考虑以下几点时制作了这个模型:

  • 我在另一个分区(分别为CREATE Table Exch( exchsymb text, stsymb text, date int, //format YYYYmmDD dataH float, dataM float, dataL float PRIMARY KEY(exchsymb,stsymb,date) ) CREATE Table Exch_data ( exchsymb text, name text, description text, PRIMARY KEY(exchsymb) ) CREATE Table St_data ( stsymb text, name text, description text, PRIMARY KEY(stsymb) ) CREATE Table Users ( UserId int, name text, password text, PRIMARY KEY(UserId) ) CREATE Table Users_St ( UserId int, stsymb text, value float, nbSt int, PRIMARY KEY(UserId,stsymb) ) Exch)中分隔了StExch_data的详细信息,因为大多数情况下,我会直接将数据用于{{ 1}}
  • 我还分隔了用户拥有的St_data列表。我通过关于地图,但我无法为每个地图添加值。
  • 当我做一些选择
  • 时,最小化要读取的分区数

我希望你能帮助我。

修改

关于我将进行的查询:

  • 一个是关于特定Exch
  • 的表St上的所有数据
  • 一个将是关于ExchSt&lt;&gt; St&lt;&gt; User所拥有的St_data完整列表。
  • Users_St&amp; Users并不需要被召唤这么多时间。

0 个答案:

没有答案