摘要
关系数据库是当今社会的关键信息基础设施,互联网和数字化带来了高并发和海量数据,传统关系数据库均为集中式架构,处理能力和存储容量都捉襟见肘. OceanBase分布式关系数据库基于通用PC服务器,不仅实现了在线水平伸缩,还实现了机房故障自动无损容灾以及高倍率数据压缩等,已经应用于金融、政务、通信和互联网等行业.
本文介绍了OceanBase分布式关系数据库的系统架构和关键技术,包括分布式事务处理、基于LSM-tree 的存储系统以及分布式SQL优化器. 详细阐述了OceanBase数据库的高可用和数据一致性,包括RPO为0和RTO小于8秒. 也介绍了OceanBase数据库多租户机制,即采用了集群内原生多租户设计,在集群内实现多个互相独立的数据库服务. 基于Sysbench和TPC-H评测基准,对比实验结果表明,1)在单机模式下,OceanBase的性能是MySQL的1.27倍至2倍多;2)在单主模式下,OceanBase的性能是MySQL的1.25倍至近2倍;3)在多主模式下,OceanBase的性能是MySQL的1.09倍至3.1倍,对于下OLAP复杂查询,OceanBase 的性能是MySQL 的6 倍到327倍.
1 OceanBase系统架构
作为一个分布式关系数据库,OceanBase集群由若干zone组成,通常是1-5个zone,如下图是一个3-zone集群. 每个zone包含1个或多个OceanBase节点,称为OBServer. 每个OBServer由SQL引擎、事务引擎和存储引擎等构成. 每个zone都包含了整个系统的全部数据,zone内每个OBServer管理其中的部分数据即若干数据分片,单个zone内各个OB