2011-09-01 68 views
3

我想知道什么是获得特定列族中列数的最佳方法。我可以直接得到列数,但我不确定它是否是有效的解决方案。另一方面,我可以维护另一个列族,其中包含列数的计数器列。你有类似问题的经验吗?列数vs专栏性能

回答

6

http://wiki.apache.org/cassandra/API解释说,get_count方法:

...不是O(1)。它从磁盘的所有列计算 答案。该方法的唯一好处是,您不需要通过Thrift界面上的所有列来拉动 来计算它们。

如果您只是偶尔需要计数和/或列数很少,那么这可能无关紧要。

如果表现很重要,那么你最好用柜台。

http://www.datastax.com/dev/blog/whats-new-in-cassandra-0-8-part-2-counters

How to increment a counter in Cassandra?

+1

而且由于它是不可能把计数器和数据在同一个CF然而,他们不会是原子。 (尽管有一个问题尚未解决,正在努力实现这一目标) – Zanson