OB君:9月21日,OceanBase 2.0 在云栖大会上重磅发布。咱们将在接下来的时间里为你们持续推出 “ OceanBase 2.0 技术解析系列” 文章,分别从 可运维性、分布式架构、数据可用性、性价比及兼容性 五个方面对OceanBase 2.0的产品新特性及其背后的技术原理进行深刻的解析。
今天咱们就从可运维性中一个很重要的功能DBReplay聊起,更多内容欢迎持续关注本系列!
本文做者:沈炼数据库
现任蚂蚁金服OceanBase DBA团队高级技术专家,2014年加入阿里巴巴,从事领域涉及蚂蚁核心业务上OB、数据流基础设施运维体系建设等,目前主要负责OceanBase的高可用体系建设工做。架构
传统数据库如何平滑迁移至OceanBase,迁移到OceanBase后如何平滑升级,如何保障稳定性,这是架构师们不得不考虑的问题。今天咱们将重点介绍一个专门为这些场景而生的利器 —— DBReplay。负载均衡
DBReplay是从生产库截取的真实流量,而后再在测试库回放用于测试数据库系统的功能和性能的工具。它不只回放读流量,也回放写流量,保证在整个回放过程当中的数据和真实线上的数据是一致的,全部查询基于的快照点和真实线上也是一致的,而且保证SQL执行过程当中的数据集与生产库彻底一致,从而在测试库覆盖生产库的每个功能场景和性能场景。运维
DBReplay的总体架构图如上图所示:tcp
1. 传统数据库平滑迁移OceanBase分布式
传统数据库迁移OceanBase的过程当中,最大的难点就是如何验证OceanBase的兼容性。业务系统很是复杂,例如订单型业务、状态型业务、契约型业务、分析型业务,这些业务的流量特色和使用数据库的方式各不相同,大量专门设计的测试验证方案不但成本昂贵,并且很难彻底覆盖真实场景。DBReplay正是为这一场景而生,咱们以MySQL迁移OB为例,其架构图以下:工具
因为目标库是MySQL数据库,为了不对业务系统的侵入,咱们采起了tcpdump的方式去抓取流量,这是一个通用的方案,避免各类环境下的权限问题。抓取的流量分别在MySQL测试环境和OB测试环境进行回放,并作功能比对、性能比对和数据比对,并生成报表。性能
结合OceanBase的MySQL兼容性和Oracle兼容性,最终作到传统数据库到OceanBase的平滑迁移。基于该方案,咱们支持了蚂蚁内部的MySQL/Oracle上的业务向OceanBase的平滑迁移。测试
2.OceanBase平滑升级设计
业务系统运行在OceanBase之后,OceanBase须要给这些业务系统在响应时间,吞吐量,高可用,可扩展性等方面提供服务级别的保证。对OceanBase的任何变动(例如OceanBase升级),都须要进行全方面的测试和验证,而后才能发布到生产环境。大量的测试验证方案很难彻底覆盖真实场景,DBReplay解决了以上挑战。咱们能够在流量回放阶段进行OceanBase升级,并验证升级过程当中的稳定性及升级后的执行计划变化,对于不正确的执行计划进行提早绑定。
3.功能验证
DBReplay还提供了加速回放功能,能够用来模拟大促等业务流量暴增的场景;能够搭建回归环境,经过DBReplay回放业务流量,从而进行功能验证,例如咱们在蚂蚁内部搭建了一个高可用体系回归环境,进行7*24的故障注入,验证高可用体系的覆盖率和正确性。
阅读《文明之光》有所感,印刷术是人类历史上最重要的发明之一,其传承人类的文明,让人类得以快速发展。历史上,有两我的独立发明了印刷术,一个是中国宋代的毕昇(雕版印刷术),一个是德国人古腾堡(活字印刷术)。
毕昇的发明比古腾堡早了400年,但在发明以后,基本上没有实际应用。活字印刷术在中国的普及,是在古腾堡解决了好几个毕昇没有触及的关键性技术问题后(古腾堡字幕库,手摇印刷机,排字、校对、装版一整套印刷工艺流程),才使得活字印刷术最终取代了雕版印刷。
活字印刷术相比雕版印刷术而言可谓是颠覆式的创新。可是,这种创新仅仅靠一项关键性技术远远不够,还必须解决和它相关联和配套的技术,才能让它成为改变世界、开创历史的杀手锏。
OceanBase相比于传统数据库已经进行了颠覆式的创新,融合了关系数据库与分布式系统的优点,这种融合使得OceanBase能够跨机房、跨地域、甚至跨洲际部署实现较高的金融级可用性和事务的强一致性。OceanBase基于低成本通用硬件,具有在线水平扩展能力,创造了4200万次/秒处理峰值的世界纪录。
一样,仅仅依靠单独突破是远远不够的,咱们须要解决“配套”设施的问题,才能让OceanBase真正的发挥出威力。DBReplay正是这样的一个重要的基础设施,解决了传统数据库迁移OceanBase过程当中的一些列问题,以及迁移到OceanBase后的稳定性保障问题。
下期预告
本文是“OceanBase 2.0 技术解析系列”文章的第三篇,下一篇将为你带来 《OceanBase负载均衡的魅力》。敬请期待!