cassandra - cassandra中每个节点有多少个分区是合适的
问题描述
我正在测试卡桑德拉。在服务器上设置我的 cassandra 节点之前。
我想知道每个节点有多少个分区是合适的。
- 我计划为每个分区保存 0~18000000 个数据。
- 问:分区??????/ 1node ==> 稳定
如果不存在,则创建表 access_log ( time_boundary int, --yyyymmddhh user_id 文本,--user01 时间戳 bigint,--yyyymmddhhmmssms url TEXT, -- /file/file/blabla~~ menu_id 文本, ip文本, 参数映射,- 主键((time_boundary),user_id,timestamp) ) ;
解决方案
我认为一个安全的经验法则(很大程度上取决于模式和写入速率)是一个表中大约 1-40 亿个分区(每个节点),您开始在使用2^20
最大 merkle 树深度的流上修复问题。
如果您使用的是 LeveledCompactionStrategy,则通过增量修复,您可以走得更高(仅推荐在最新的 3.11.x 上,甚至在那里进行大量测试)。当压缩预分配索引摘要时,使用 SizeTieredCompactionStrategy ALTER TABLE yourtable WITH min_index_interval = 4096 and max_index_interval = 4096
(或更高,如果您看到问题)来防止 OOM。
推荐阅读
- python - 为什么 Gio.Notification 没有在 Python 中显示?
- javascript - 使用 addEventListener 清除存储
- substrate - 如何实现订阅 RPC
- javascript - 如何在更改数量和折扣车表单后重新计算小计
- contentful - 内容 JSON 对象 - 无法保存到内容
- ruby - 由于某种原因,我无法在脑海中正确地理解这个迭代
- android - 从三星 Galaxy Watch4 上的传感器检索心率数据
- svg - SVG 缩放和 viewBox
- python - 如果生成器被垃圾收集,上下文管理器是否退出?
- c++ - 为什么在创建内置数组的模板函数中不允许使用 auto?