我正在创建一个Cassandra时间序列数据库,用于存储数百万系列的日常数据,这些数据可能总共可能有100B个数据点。在Cassandra中设计时间序列数据库
我看了这篇文章: http://rubyscale.com/blog/2011/03/06/basic-time-series-with-cassandra/
这样的设计是非常完善的。所以基本上我可以将每日时间戳记作为列,并且如果必要的话,通过将该日添加到行来分割列。
两个问题,我有:
- 我在看存储多达20,000时间戳(每日)列。是否有必要通过例如分割行。一年的这个数量的列?分割行以减少每年365列的数量是否有优势/劣势。
- 我的另一个想法是,而不是逐行分栏是每年创建列家族。通过这种方式访问多年的数据时,我不得不查询多个列族而不是一个列族,并在客户端加入结果。这种方法会加快速度或者放慢速度吗?
所以你认为在将表/列分割成单独的列族中没有任何要点,而是按行来完成它?单列系列中有太多行是否有缺点? – datageek
列家族只是一个额外的关键级别。如果我的数据具有相同的性质,并且需要缓存,比较(列名称)等相同的设置,那么我将它们放在同一个列族中。 Plus柱系列在编程上不易管理。只需写入新密钥即可创建密钥。并且您无法在一个查询中从单独的CF读取。 –