2011-09-22 110 views
7

卡桑德拉的列数是否有限制?我正在考虑使用unix时间戳(转换为TimeUUID)作为列键。在最坏的情况下,我最终会得到每行86400列。这是一个好主意吗?限制卡桑德拉的列数

回答

9

每行有86.400列是小菜一碟只要你的列不太大,你不检索所有的列。

每列的最大值为20亿。 参见http://wiki.apache.org/cassandra/CassandraLimitations

有人建议:对于列名应该使用整型数据串行化,这将需要仅4字节1秒精度,而不是使用UUID(16个字节);只要你的时间戳都是唯一的,1s的精度就足够了。

列名已排序,您可以使用unix时间作为整数。有了这个,你可以在列上进行快速查找。

还有与每列关联的时间戳,这在某些情况下可以用于设置。您无法查询,但可能会在需要时为您提供其他信息。

+18

虽然2B不是每行的列,但它是每个分区的行*列。 – Arty