1、杨志丰OceanBase首席架构师OceanBaseOceanBase的单机分布式一体化的单机分布式一体化OceanBase架构发展历程V1.0分布式事务,多租户V0.1分布式,三副本高可用V2.0V3.0高兼容,高性能,混合负载V4.0单机分布式一体化OBServerOBServerZoneOBServerOBServerZoneOBServerOBServerZoneSQLSQLSQLChunkServerUpdateServerUpdateServerUpdateServerOBServerOBServerOBServerOBServer2010201620182022OB-MySQLO
2、B-OracleZoneOB-MySQLOB-OracleZoneOB-MySQLOB-OracleZone营销战略弹性单机形态可在线升级为分布式形态部署形态形态灵活动态转换同一程序既可以单机部署,也可以分布式部署租户级多形态分布式集群中可以有单机租户单机性能以单机部署时,可以获得单机数据库相当的性能和效率分布式性能以分布式部署时,不仅可扩展,还可以做到高性能低时延单机分布式一体化性能高效什么是单机分布式一体化数据库?单机分布式可动态转换ZONE_1ZONE_1P5P6OBServerOBServerZONE_2ZONE_2P5P6OBServerOBServerP7ZONE_3ZONE_3P
3、5P6OBServerOBServerP7基于基于PaxosPaxos复制的日志流复制的日志流P1P2P4OBServerP1P0P4OBServerP1P0P2OBServerP0P2P4弱一致性读写操作读操作SQLSQLSQLSQLSQLSQLP8P8P7P8SQLSQL路由路由驱动/OBProxy 小业务 初创企业 大规模业务 大型企业OBServerOBServerSQLSQLStorageStorageOBServerSQLStorage更大规格的单机主备库 中等规模业务 中等规模企业ZONE_1ZONE_1ZONE_2ZONE_2ZONE_3ZONE_3OBServerSQLSto
4、rageOBServerSQLStorageOBServerSQLStorageOBServerSQLStorageOBServerSQLStorage主库主库备库备库三副本垂直扩展不为你不需要的特性买单:你为什么需要分布式数据库?01单机部署时如何获得单机数据库相当的性能?单机部署时如何获得单机数据库相当的性能?过度分层设计虽然简化了实现,但牺牲了性能把一个“分布式数据库”装入“单机”ServerSQLTSO网络RPC调用StorageSQL API某“分布式数据库”单机部署GTM NodeGTM/TSODiskSLBCompute NodeSQLData NodeStorageComput
5、e NodeSQLData NodeStorageSQL APIOceanBase的单机分布式一体化目标:1.单机时高效2.分布式时经济关键特征:单组件(单进程)单机工作无RPC,保证单机性能 单机内支持并行执行 每个组件的设计实现兼顾单机和多机 既分离,又耦合OBServerSQL事务OBServerSQL事务存储存储OBProxy网络OceanBase的单机为何能高效?OBServerSQL事务OBServerSQL事务存储存储OBProxy网络两种单机含义 每个Zone一个OBServer的集群 在每个Zone里单UNIT的租户单机高性能垂直扩展 SQL引擎:单机内并行 事务引擎:日志组
6、提交 存储引擎:准内存更新,单机并行IO单机无额外开销 组件间直接使用函数调用619,669 25,611 61,654 16,736 234,907 229,066 571,863 12,327 43,836 11,342 140,379 116,765 0100,000200,000300,000400,000500,000600,000700,000point selectread onlywrite onlyread writeinsertupdate4.0.0.0MySQL 8.0 企业版OceanBase 4.0 vs MySQL 8.0sy