OceanBase数据库使用表组来按照一定的规则将不同表、分区进行聚合与均衡,以下关于表组的描述正确的是?
A.SHARDING=PARTITION的表组:如果表有二级分区,则所有表相同的二级分区聚合在同一个日志流上,不同的二级分区平均分布到多个日志流上
B.SHARDING=PARTITION的表组:所有的表的相同的一级分区聚合在同一个日志流上,不同的一级分区平均分布到多个日志流上
C.SHARDING=NONE的表组:所有的表、分区均匀地分散在多个日志流上
D.SHARDING=ADAPTIVE的表组:表组内的表的分区方式要完全相同,或者全都是非分区表,或者全都是一级分区表,或者全都是二级分区表
B D是正确的
选B,关于SHARDING有这些说法
SHARDING=NONE
目标:实现极致的数据亲和性。
规则:不限制表的分区类型,但表组内所有表的所有分区都会被调度到同一个日志流上。这牺牲了数据的分布式扩展性,换取了跨表操作的极致性能。
SHARDING=PARTITION
目标:在保持数据分布性的同时,实现分区级别的亲和性,以支持高效的 Partition Wise Join。
规则:要求表组内所有表的一级分区定义完全相同。系统会将不同表中具有相同一级分区值的分区(对于二级分区表,包含其下所有二级分区)聚合在同一个日志流上。这样,关联查询可以优先在单个日志流内完成,减少网络开销。
SHARDING=ADAPTIVE
目标:提供更细粒度的数据分布控制。
规则:这是约束最强的一种模式。它要求表组内的表不仅分区类型完全相同(全部分区表或全部二级分区表),而且所有层级的分区定义都必须完全一致。其数据对齐规则自适应于分区类型:一级分区表按一级分区值对齐;二级分区表则按一级和二级分区值共同对齐,实现最精细的聚合。
A答案 SHARDING=PARTITION 如果表存在二级分区,则所有相同一级分区下的二级分区聚集在同一个日主流上,不是相同的二级分区聚集在同一个日志流上,不同的二级分区平均到多个日志流上,所以答案错误
C答案 SHARDING=NONE 所有表的分区都聚集在一个日志流上,所以C错误