【发布时间】:2012-03-21 17:35:44
【问题描述】:
在我的previous question 中,我询问了如何使用 CQL 在 cassandra 中实现固定数量的列。
问题是,用户试图将行的列保持在固定数量(大小)是没有意义的。
我们知道“宽排设计”非常方便,另一方面我们必须将尺寸保持在合理的尺寸。那么,我们需要水桶对吗?每月、每天甚至每小时的存储桶...存储桶的问题在于,对于某些行来说,每小时存储桶对于其他行来说可能是每年存储桶是有意义的。
那么为什么不告诉 cassandra,我想要一个像 LRU 缓存这样的列族,但要在磁盘上存储一些“最新数据”。
列族存储参数:
max_column_number_hint : 1000 // 意思是:尽量保持在 1000 左右,好吗?我可以接受墓碑或 800 - 1200 范围
或
max_row_size_hint:1MB
Cassandra 已经有后台作业,并且列已经有时间戳;那么,为什么不呢?
【问题讨论】:
-
您是否考虑过使用 TTL(生存时间)以便旧列自动过期?
-
TTL 与桶的分布有同样的问题。有些行会比其他行更活跃。在这种情况下,很难选择正确的 TTL 或存储桶大小。
标签: cassandra