Cassandra:单表有100万计数器更好还是10表有1个计数器?

时间:2013-12-19 03:31:05

标签: cassandra dashboard

我有一个仪表板,我必须展示很多发行版。为了维护所有发行版,我们需要计数器。现在我有两个选择

  1. 维护一个包含所有100万个计数器的单个表(最终会有更多 - 比如数百万甚至更多)

  2. 维护多个表以维护不同的计数器(比如10个表,每个表有10万个计数器)

  3. 我可以使用这两个选项实现相同的功能。但与性能有关,哪个更好?

    我正在使用Cassandra 1.2.10

1 个答案:

答案 0 :(得分:1)

如果不同表中的计数器具有不同的工作负载,那么您可能会从分离它们中获得一些好处。但如果没有,从性能的角度来看,分离它们几乎没有什么好处。有太多的表不利于性能,因为memtables会经常刷新,创建更多的压缩工作和更多的读取操作。

如果存在某种逻辑分离,则可能最好将它们分开,因为您可以删除整个表,而从单个表中删除一些计数器要困难得多。如果是每个客户都有一张表,那么你可以在他们要求时删除整个客户的柜台。