我正在考虑创建一个 Cassandra 时间序列数据库,用于存储数百万个日常数据系列,这些数据可能总共有多达 100B 个数据点。
我看了这篇文章: http ://rubyscale.com/blog/2011/03/06/basic-time-series-with-cassandra/
这个设计非常合理。因此,基本上我可以将每日时间戳作为列,并在必要时通过将日期附加到行来对列进行分片。
我有两个问题:
- 我正在考虑存储多达 20,000 个带时间戳的(每日)列。甚至有必要通过例如对行进行分片。有这么多列的年份?对行进行分片以将列数减少到每年 365 是否有任何优点/缺点。
- 我的另一个想法是每年创建列族,而不是逐行分片。这样,当访问多年的数据时,我将不得不查询多个列族而不是一个列族,并在客户端加入结果。这种方法会加快速度还是减慢一切?