YugabyteDB最大分区大小限制及是否参考Cassandra 100MB推荐值问询
YugabyteDB分区大小规则说明
首先明确结论:YugabyteDB同样需要遵守单分区大小的限制,只是不同接口场景下的推荐阈值和Cassandra的100MB有区别:
- 如果你使用的是兼容Cassandra的YCQL接口,官方推荐单逻辑分区的大小上限为300MB。这一阈值比Cassandra的100MB更加宽松,是YugabyteDB基于底层DocDB存储引擎的架构特性优化后的结果,但超过该值仍然会带来性能损耗。
- 如果你使用的是兼容PostgreSQL的YSQL接口,单个表分区(范围/列表/哈希分区的单个子分区)建议控制在10GB以内,避免单分区对应底层tablet过大引发的调度、压缩和恢复效率问题。
单分区超过推荐阈值后,通常会出现全分区扫描延迟升高、后台数据压缩任务资源占用陡增、节点故障后对应分区的流量切换耗时变长、集群分片负载均衡效率下降等问题,生产环境需要尽量规避。
如果业务场景不可避免需要在同一个逻辑分区下存储大量数据,可以采用分区键拆分的方案:给原有分区键增加一个固定范围的分片后缀,比如将原分区键user_id调整为组合分区键(user_id, shard_no),shard_no设置为0~N的整数,将大分区拆分为N个独立小分区,即可完美规避单分区过大的问题。
内容的提问来源于stack exchange,提问作者dh YB
相关产品推荐
相关产品推荐

