我有一个仪表板,我必须展示很多发行版。为了维护所有发行版,我们需要计数器。现在我有两个选择
维护一个包含所有100万个计数器的单个表(最终会有更多 - 比如数百万甚至更多)
维护多个表以维护不同的计数器(比如10个表,每个表有10万个计数器)
我可以使用这两个选项实现相同的功能。但与性能有关,哪个更好?
我正在使用Cassandra 1.2.10
答案 0 :(得分:1)
如果不同表中的计数器具有不同的工作负载,那么您可能会从分离它们中获得一些好处。但如果没有,从性能的角度来看,分离它们几乎没有什么好处。有太多的表不利于性能,因为memtables会经常刷新,创建更多的压缩工作和更多的读取操作。
如果存在某种逻辑分离,则可能最好将它们分开,因为您可以删除整个表,而从单个表中删除一些计数器要困难得多。如果是每个客户都有一张表,那么你可以在他们要求时删除整个客户的柜台。