程序员必备!关系型数据库架构的超强总结( 四 )


跟Spanner的关系和区别:
1. Spanner大概2008年开始研发 , 2012年通过论文对外公开 。首次跨地域实现水平扩展 , 并基于普通PC服务器实现自动高可用和数据强一致 。OceanBase在2010年开始立项研发 , 也是基于普通PC服务器 , 发展出自己独特的ACID特性和高可用技术以及拆分技术 。
2. Spanner对标准SQL支持不好 , 不是真正的关系型数据库 , 定位于内部应用 。OceanBase定位于通用的分布式关系型数据库 , 支持标准SQL和关系模型 。基本兼容MySQL功能 , 逐步兼容Oracle功能 。
3. Spanner借助原子钟硬件和TrueTime设计支持全局一致性快照 , 提供快照读隔离级别 , 对节点间网络延时要求比较高 。OceanBase使用软件提供全局时间服务 , 实现了全局一致性快照功能 。
4. Spanner的内部诊断跟踪机制很欠缺 , OceanBase的内部诊断分析机制功能很完善 , 是瞄准商业软件标准去做的 。
功能:
1. 扩展性:租户和集群的弹性伸缩非常方便 , 可以在线进行 , 对业务写影响可控 。可以用于两地三中心异地容灾和多活(结合业务做单元化设计) 。
2. 可用性:单个或多个observer不可用时 , 只要分区的绝大部分成员存活 , 则可以迅速选举恢复服务(RTO=20s) 。
3. 数据一致性:故障恢复后 , 数据库数据绝对不丢 。RPO=0 。




推荐阅读