OceanBase V4 中表组的作用是什么?SHARDING = NONE / PARTITION / ADAPTIVE 有什么区别?
表组是一个逻辑概念,用于控制一组表在物理存储上的邻近关系,使具有相同分区属性的分区尽可能调度到同一台 OBServer 上。
主要作用包括:
- 优化关联查询 :使相同分区号的分区落在同一节点,实现 Partition Wise Join,减少跨节点数据重分布。
- 优化分布式事务 :将经常一起访问的表聚集在同一节点,减少跨节点事务。
- 支持负载均衡与弹性伸缩 :RootService 调度时会优先保持表组内分区组的整体迁移。
SHARDING 属性区别:
- SHARDING = NONE :表组内所有表的所有分区聚集在同一台机器,不限制分区类型。
- SHARDING = PARTITION :按一级分区打散,要求所有表的一级分区定义相同;一级分区表和二级分区表可混用,只校验一级分区。
- SHARDING = ADAPTIVE :自适应打散。若全是一级分区表则按一级分区聚集;若全是二级分区表则按二级分区聚集;要求表组内表必须全部是一级分区表或全部是二级分区表。