全局数据一致性方案

通过高可用的集中式服务来提供全局一致的版本号

OceanBase 的全局一致性方案,无需依赖特殊硬件,通过高可用的集中式服务来提供全局一致的版本号,在全局范围内实现了“快照隔离级别”和“多版本并发控制”的能力,并在此基础之上实现众多涉及全局数据一致性的功能。

行业现状及痛点

传统的分库分表架构没有全局统一的快照管理

传统的分库分表架构中,每一个数据库节点都是个孤岛,只能在单库内保证事务的完整性,跨库事务只能保证最终一致性;同时全局一致性时间点恢复几乎不可能实现 部分分布式数据库依赖特殊硬件且通用型差

业内有不少分布式数据库采用特殊的的硬件设备(如 Google Spanner 的 GPS 和原子钟),使多台机器间的系统时钟保持高度一致。

但其对机房的硬件要求明显提高,其次也不能 100% 保证多个机器之间的系统时钟完全一致,虽概率极小,但并不为 0

方案架构

方案架构

OceanBase 数据库利用集中式服务(Global Timestamp Service,简称 GTS)来提供全局一致的版本号。

无论事务请求源自哪台物理机器,都会从这个集中式的服务处获取版本号,并保证所有的版本号单调向前并且和真实世界的时间顺序保持一致。

OceanBase 以租户为单位分配 GTS。

参考资料

全局数据一致性方案