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

问题描述:

我是卡桑德拉的新手,我有一个关于Cassandra和Parquet如何处理这个柱状病例的基本问题。 我试图找出自己,但没有运气到目前为止。我发现在wiki是否可以在列存储中只存储一次列值?

…;Smith:001;Jones:002,004;Johnson:003;… 

以下信息作为两个记录存储相同的值,“琼斯”,就可以 商店这一次在列存储,并指出了所有沿与之相匹配的行的 。对于许多常见搜索,例如“查找姓氏琼斯的所有人 ”,答案将在 单一操作中检索。其他操作(如计算匹配记录的数量或对一组数据执行数学计算)可能会大大提高通过此组织的 。

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

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

Cassandra/Parquet是否只存储'Jones'一次,还是存储'Jones'?请在此启迪我。

+0

可能是[是卡桑德拉列向导或列数据库​​]的副本(https://stackoverflow.com/questions/25441921/is-cassandra-a-column-oriented-or-columnar-database) – FuzzyAmi

Cassandra是一个宽行数据库。
存储的数据根据​​分区键和聚簇列进行区分。

因此,对于你上述使用情况下,假设该数据库模型是这样的:(列)是分区键(另一列)是集群列。

如果分区键相同,则聚簇列会使该列的值具有唯一性。
现在的数据将存储在内部的一些这样的事

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

所以,你可以看到,琼斯存储一次而值(这是集群列)被追加为相同的一部分因此名为的宽排店

+0

感谢您的答复。它有助于 – BDR

+0

@BDR如果它已经为你工作,请将其标记为正确的答案。谢谢 –