cassandra中每个节点适合多少个分区
how many partition is suitable per each node in cassandra
我正在测试卡桑德拉。
在服务器上设置我的 cassandra 节点之前。
我想知道每个节点有多少个分区是合适的。
- 我计划每个分区保存 0~18000000 条数据。
- 问:分区?????? / 1node ==>稳定
如果不存在则创建 TABLE access_log
( time_boundary int, --yyyymmddhh
user_id 文本,--user01
时间戳 bigint,--yyyymmddhhmmssms
url 文本,-- /file/file/blabla~~
menu_id 文字,
ip文本,
参数映射,--
主键((time_boundary),user_id,时间戳)
);
我认为一个安全的经验法则(在很大程度上取决于模式和写入速率)是 table(每个节点)内的大约 1-40 亿个分区,你开始遇到修复问题而不是流式传输2^20
最大 merkle 树深度。
如果您使用的是 LeveledCompactionStrategy,则通过增量修复,您可以做得更高(仅在最新的 3.11.x 上推荐,甚至在那里进行了大量测试)。使用 SizeTieredCompactionStrategy ALTER TABLE yourtable WITH min_index_interval = 4096 and max_index_interval = 4096
(或更高,如果您发现问题)以防止压缩预分配索引摘要时出现 OOM。
我正在测试卡桑德拉。 在服务器上设置我的 cassandra 节点之前。
我想知道每个节点有多少个分区是合适的。
- 我计划每个分区保存 0~18000000 条数据。
- 问:分区?????? / 1node ==>稳定
如果不存在则创建 TABLE access_log ( time_boundary int, --yyyymmddhh user_id 文本,--user01 时间戳 bigint,--yyyymmddhhmmssms url 文本,-- /file/file/blabla~~ menu_id 文字, ip文本, 参数映射,-- 主键((time_boundary),user_id,时间戳) );
我认为一个安全的经验法则(在很大程度上取决于模式和写入速率)是 table(每个节点)内的大约 1-40 亿个分区,你开始遇到修复问题而不是流式传输2^20
最大 merkle 树深度。
如果您使用的是 LeveledCompactionStrategy,则通过增量修复,您可以做得更高(仅在最新的 3.11.x 上推荐,甚至在那里进行了大量测试)。使用 SizeTieredCompactionStrategy ALTER TABLE yourtable WITH min_index_interval = 4096 and max_index_interval = 4096
(或更高,如果您发现问题)以防止压缩预分配索引摘要时出现 OOM。