是否可以在列存储中仅存储一次列值?

时间:2017-10-16 11:28:33

标签: cassandra datastax-enterprise parquet

我是Cassandra的新手,我有一个关于Cassandra和镶木地板如何处理这个柱状案例的基本问题。 我试图自己搞清楚但到目前为止没有运气。我在wiki

上找到了以下信息
…;Smith:001;Jones:002,004;Johnson:003;…
  

由于其中两个记录存储了相同的值“琼斯”,因此可以   在列存储中只存储一次,以及指向所有的指针   与之匹配的行数。对于许多常见搜索,例如“查找全部   姓氏琼斯的人“,答案是在一个   单一操作。其他操作,比如计算数量   匹配记录或对一组数据执行数学运算,可以大大提高   通过这个组织改进。

我的问题是, “与Cassandra和Parquet有关吗?

002,Jones,Mary,50000;
004,Jones,Bob,55000;

Cassandra / Parquet只有一次存储'Jones',或者它收到'Jones'存储吗?请大家启发我。

1 个答案:

答案 0 :(得分:2)

Cassandra是一个广泛的商店数据库 存储的数据根据​​分区键和聚类列进行区分。

因此,对于您的上述用例,假设数据库建模是名称(列)是分区键(另一列)是群集列。

如果分区键相同,则群集列会使该列的值唯一 现在数据将在内部存储一些像这样的东西

jones |002|004|005... and so on

因此,您可以观察到jones存储一次,而值(即聚类列)作为同一行的一部分附加,因此名称宽行存储