一、OceanBase数据库核心架构解析
1.1 OceanBase分布式架构设计原理
OceanBase作为原生分布式关系型数据库,其架构设计体现了分布式系统的高可用、高扩展和高性能特性。其核心架构可分为三层:
-
RootService层:全局管理节点,负责集群管理、DDL操作协调、分区位置管理及负载均衡。采用Paxos协议保证高可用,通常配置为3个节点形成仲裁组。
-
数据库代理层(OB Proxy):无状态代理服务,负责SQL解析和路由转发。根据SQL中的分区键将请求路由到正确的OBServer节点,避免跨节点查询。
-
存储层(OBServer):实际执行SQL的节点,每个OBServer包含多个租户(tenant),租户间资源隔离。采用LSM-Tree存储引擎,数据分为基线数据(SSTable)和增量数据(MemTable)。
分区表设计原理:
OceanBase通过分区技术实现水平扩展,支持Range、Hash、List等多种分区方式。分区键必须是主键的子集,确保同一分区的数据位于同一物理节点&#x