【多选题】在分布式事务设计中,以下哪些是推荐的最佳实践?

在分布式事务设计中,以下哪些是推荐的最佳实践?
A. 尽量避免跨机分布式事务
B. 使用表组(Table Group)将关联表聚集
C. 尽可能多利用跨机分布式事务能力
D. 业务设计时考虑分区键对齐

1 个赞

正确答案是 A、B、D

逐项解析

:white_check_mark: A. 尽量避免跨机分布式事务

推荐。 跨机分布式事务涉及网络通信、两阶段提交(2PC)协调、跨节点加锁等开销,延迟远高于单机单分区事务。OceanBase 的最佳实践是尽量将事务收敛在单个分区/单台机器内,以减少分布式协调成本,提升吞吐量。

:white_check_mark: B. 使用表组(Table Group)将关联表聚集

推荐。 表组(Table Group)是 OceanBase 的重要特性,它可以将多张关联表的分区绑定到相同的分区策略,使得关联数据落在同一节点上,从而将跨机分布式事务降级为本地事务,显著降低事务协调开销。

:x: C. 尽可能多利用跨机分布式事务能力

不推荐。 虽然 OceanBase 具备强大的分布式事务能力,但"尽可能多用"是反模式。跨机事务的性能代价(网络 RT、2PC 延迟、锁竞争)远高于本地事务。正确做法是通过合理的分区设计,尽量减少跨机事务的发生,而非主动依赖它。

:white_check_mark: D. 业务设计时考虑分区键对齐

推荐。 分区键对齐(Partition Key Alignment)是分布式数据库设计的核心原则之一。例如,将订单表和订单明细表都按 order_id 分区,这样对同一订单的查询和修改都能落在同一分区内,天然避免分布式事务。