首页 > 解决方案 > cassandra中每个节点有多少个分区是合适的

问题描述

我正在测试卡桑德拉。在服务器上设置我的 cassandra 节点之前。

我想知道每个节点有多少个分区是合适的。

    如果不存在,则创建表 access_log
 ( time_boundary int, --yyyymmddhh
    user_id 文本,--user01
    时间戳 bigint,--yyyymmddhhmmssms
    url TEXT, -- /file/file/blabla~~
    menu_id 文本,
    ip文本,
    参数映射,-
    主键((time_boundary),user_id,timestamp)
 ) ;

标签: cassandranosqlpartition

解决方案


我认为一个安全的经验法则(很大程度上取决于模式和写入速率)是一个表中大约 1-40 亿个分区(每个节点),您开始在使用2^20最大 merkle 树深度的流上修复问题。

如果您使用的是 LeveledCompactionStrategy,则通过增量修复,您可以走得更高(仅推荐在最新的 3.11.x 上,甚至在那里进行大量测试)。当压缩预分配索引摘要时,使用 SizeTieredCompactionStrategy ALTER TABLE yourtable WITH min_index_interval = 4096 and max_index_interval = 4096(或更高,如果您看到问题)来防止 OOM。


推荐阅读