1、业务驱动的技术架构OceanBase的实践与展望大纲1.关于OceanBase2.OceanBase的架构介绍3.来自业务的挑战和需求4.OceanBase应对业务挑战的架构演进5.展望:下一代的OceanBase关于OceanBase100%自主知识产权的国产数据库;商业数据库;通用关系型数据库;原生分布式数据库;2010年项目启动2018年发布2.0版本直击金融业务架构转型痛点2014年起支持支付宝核心业务去Oracle2017年服务外部银行构建互联网金融核心OceanBase架构介绍全对等节点的无共享分布式数据库;数据分区,多副本及Paxos协议;OBProxy反向代理;基于LSM Tr
2、ee的存储结构;OceanBase架构(一)多副本:OceanBase一般部署为三个子集群(Zone),每个子集群(Zone)由多个节点/服务器(OBServer)组成,拥有完整的一份数据;全对等:每个节点均有自己的SQL引擎和存储引擎,各自管理不同的数据分区,完全对等无共享:OceanBase数据分布在各个节点上,不基于任何共享存储结构OceanBase架构(二)数据分区:OceanBase数据架构的基本单元,是传统数据库的分区表在分布式系统上的实现高可用+强一致:多副本+Paxos协议,保证数据(日志)写(持久化)到三台机器中至少两台OceanBase架构(三)OBProxy:百万级处理能
3、力的代理,路由转发,轻量级SQL Parser,无状态反向代理功能复杂场景支持自动化运维OceanBase架构(四)业务的挑战如何在业务高峰平滑扩容,高峰后如何缩容,甚至对业务无感知;如何去O,如何保证风险可控地去O;如何解决多活和异地容灾;如何备份分布式数据库,如何恢复到一个全局一致的时间点;如何规避分布式数据库的种种限制,如分区键和主键的绑定关系;如何解决非分区维度查询的问题;如何解决业务数据量膨胀之后的冷热数据问题;通过副本类型变更支持弹性大促BackupLeaderFollowerReadOnlyLogOnly主副本(Leader):Paxos协议复制组中的主分区;从副本(Follow
4、er):Paxos协议复制组中的从分区;只读副本(ReadOnly):不参与Paxos协议投票,可提供读能力的分区;日志副本(LogOnly):参与Paxos协议投票,但只包含日志(不含数据)的分区;备份副本(Backup):不参与Paxos协议投票,仅仅从主从副本复制数据的分区;支付宝的弹性大促城市1UID 00UID 01UID 02UID 03机房1城市2城市3机房2机房3A机房4AAA机房5B机房6BBB机房7C机房8CCC机房9机房2、3、5、7为云机房LeaderFollowerReadOnlyLogOnly支付宝的弹性大促城市1UID 00UID 01UID 02UID 03机房
5、1城市2城市3机房2机房3A机房4AAA机房5B机房6BBB机房7C机房8CCC机房9机房2、3、5、7为云机房DDDEEEFFFLeaderFollowerReadOnlyLogOnly支付宝的弹性大促城市1UID 00UID 01UID 02UID 03机房1城市2城市3机房2机房3A机房4AAA机房5B机房6BBB机房7C机房8CCC机房9机房2、3、5、7为云机房DDDEEEFFFLeaderFollowerReadOnlyLogOnly支付宝的弹性大促城市1UID 00UID 01UID 02UID 03机房1城市2城市3机房2机房3A机房4AAA机房5B机房6BBB机房7C机房8C
6、CC机房9机房2、3、5、7为云机房DDDEEEFFFLeaderFollowerReadOnlyLogOnly支付宝的弹性大促城市1UID 00UID 01UID 02UID 03机房1城市2城市3机房2机房3A机房4AAA机房5B机房6BBB机房7C机房8CCC机房9机房2、3、5、7为云机房DDDEEEFFFLeaderFollowerReadOnlyLogOnly支付宝的弹性大促城市1UID 00UID 01UID 02UID 03机房1城市2城市3机房2机房3A机房4AAA机房5B机房6BBB机房7C机房8CCC机房9机房2、3、5、7为云机房DDDEEEFFFLeaderFollo
7、werReadOnlyLogOnly支付宝的弹性大促城市1UID 00UID 01UID 02UID 03机房1城市2城市3机房2机房3A机房4机房5B机房6机房7C机房8机房9机房2、3、5、7为云机房DDDEEEFFFLeaderFollowerReadOnlyLogOnly通过热备库解决异地容灾通过热备库解决异地容灾通过热备库解决异地容灾通过备份恢复组件实现数据备份通过备份恢复组件实现数据恢复通过历史库平台实现冷热数据分离解决在线库空间日渐紧张的问题,节约数据存储成本通过数据转换服务实现去O评估兼容性PoC部署OB相关预迁移部分数据验证sql性能正式迁移全量和增量数据校验以及订正切换停应用回滚反向切换(可选)性能诊断(可选)通过GTS实现全局一致性GTSGTS(Global Time ServiceGlobal Time Service)OceanBase 内部每个租户启动一个全局时间戳服务;事务提交时通过本租户的时间戳服务获取事务版本号,保证全局的事务顺序;GTS同样采用三副本保证高可用;通过全局索引解决多维度查询下一代的OceanBaseOracle兼容计算存储分离HTAP