or今年的“双十一”终于不用再“拼了”( 二 )


2019年:OceanBase2.2版本发布,在TPC-C测试中跑赢Oracle一举夺冠,并在双11里达到6100万笔/秒数据处理峰值。
到目前为止,OceanBase涵盖了蚂蚁集团核心业务板块,已支撑起集团100%的核心链路,每天都有数十亿条不同的SQL运行在蚂蚁集团的OceanBase集群中,承载的数据量达到数百PB,服务器核数过百万。
杨冰指出关键的一点,“好的数据库是踩坑踩出来的”。

二、OceanBase“十八般武艺”

or今年的“双十一”终于不用再“拼了”
文章插图


细数OceanBase从2010年立项至今的几个重要发展历程,与阿里淘宝、天猫、支付宝等业务场景每逢双十一迎来洪流般数据冲击的几个节点相映衬。这既是对OceanBase数据库性能的大阅兵,也是快速实现数据库技术创新的最佳引擎。
支付领域有一个说法:“账务是支付系统皇冠上的明珠”。
如果一个系统能够应用到账务系统,那么意味着你的系统可以应用到所有系统。
账务系统需要两步操作,一个是操作记录,谁给谁转账了要记录下来,另一个是记录账目的实际数值,转账了多少,一方要加上另一方要减掉。看似简单,海量数据高效完成对于数据库的能力要求可谓极难。
双十一对数据库的挑战也从最初存算容量的挑战,逐渐演变为对性能、稳定性,以及效率智能化等方面的挑战。总结起来,OceanBase目前已具备以下几大核心能力:
* 数据一致性:也叫数据的正确性,OceanBase最核心的竞争力是稳定可靠,那么保证稳定可靠的前提就是一个完全正确的系统,这是非常难的。OceanBase从最早期就已经应用到“双十一 ”这种核心场景,因此不仅做数据库相关的事,还做了很多数据库相关的非功能的事情,这是其他数据库所不具备的,OceanBase会在数据库运行的过程中,对数据进行校验,一旦系统发生问题,可以很快发现。
* 持续稳定运行:OceanBase能够持续运行8个小时,系统性能不抖动。TPC-C是全球最具公信力的联机交易处理数据库的功能与性能结合的测试标准,TPC-C要求八个小时持续稳定运行不抖动,OceanBase做到了,连续稳定运行8小时,抖动小于0.5。另外OceanBase以7.07亿(707,351,007)tpmC的在线事务处理性能打破了世界纪录,其中一张表格就有20万亿的数据量,OceanBase要保证所有数据库是一致的,所有的机器都在跑,保证转账的正确性,“不能出现一边转账了另一边没有收到的情况”,持续稳定的运行优势可以在“双十一”这种极端场景下,让用户流畅地购物。
* 无损容灾:据介绍,当机器、城市、机房发生故障时,OceanBase可以保障不丢一条数据。因为用到了Paxos协议,可以做到无所容灾,并提出三地五中心,进而四地八中心、八地九中心都不是问题。尤其在金融系统是不能丢失任何一条数据的,只有在其他行业的商业数据库得到充分认证,才会在金融应用。
* 无限扩容、弹性扩展:“双11”当天的容量会是平常的几十倍,而分布式数据库可以无限扩容,当天团队会快速部署服务器,把数据和服务快速传到云上,大促结束后再把数据和服务从云上搬下来,OceanBase每天可以快速弹上、弹下,弹性扩缩容过程中涉及了接近50万次变更操作。杨传辉表示:“支付宝百万副本级的能力,意味着每秒钟能支持100万笔最高峰值的支付,而100万笔支付对于数据库来说是接近亿级QPS(查询率)”。OceanBase能支持这么大的查询率关键点是通过两级弹性,一级是分库分表,二级是利用OceanBase的分区表格能力做自动扩容。先做一级分库分表分成100份,再通过OceanBase的分区表格能力再拆100份,总共拆出一万份,使得每一份都能在一台机器上做到自动弹性。