13:09:49破2016年1207亿记录!你和马云共同参与的千亿级大项目背后有位名叫OceanBase的功臣!

编辑:小泰   来源:cqwu023   科技业界   2017-11-13 11:34:10

------   【导读】   ------

    3分01秒,天猫“双11”成交额突破100亿!2小时15分18秒,成交额突破800亿!13小时09分49秒,破2016年双11全天成交总额1207亿。

    开场5分22秒,新的支付峰值诞生:25.6万笔/秒,比去年增长超1.1倍,同时诞生的还有数据库处理峰值,4200万次/秒

不知道大家有没有感觉,今年“双11”的前几日,比往年显得冷清许多。

热火朝天的讨论、兢兢业业的比价、风风火火抢红包、定闹铃掐秒表的疯狂情景似乎都不复存在,“双11”这个被海妖施了魔法的关键词似乎并没有在iot101君的办公室里掀起任何波澜。

媒体也是一面倒的唏嘘,诸如《咱这智商,基本告别双十一了》、《我为什么不参加双十一》之类的文章将2017版“双11”购物的超超超复杂玩法吐槽了个底儿朝天,大家纷纷表示还是回去做高考数学卷子比较简单...

于是,iot101君跟同事感慨:看来今年大家都挺矜持,购物开始从冲动消费回归理智,这样看来,今年“双11”交易额超去年可能有点儿玄......

然而...

没错,只用了3分01秒,天猫“双11”成交额就已经突破了100亿!!要知道去年达到这一数字耗费了6分58秒,时间缩短了一半!!!2小时15分18秒,成交额突破800亿!13小时09分49秒破2016年双11全天成交总额1207亿

emmm.....说好的矜持,说好的理智消费呢???

根据统计,天猫双11全球狂欢节刚开场5分22秒,新的支付峰值诞生:25.6万笔/秒,比去年增长超1.1倍,同时诞生的还有数据库处理峰值,4200万次/秒

此外,第7分23秒,支付宝的支付笔数突破1亿笔,这相当于5年前(2012年)双11全天的支付总笔数。从网友和iot101君自身的购物体验(没错,我清空了购物车才爬过来写文章的...)来看,今年双11的前10分钟支付较为顺畅,没有网络拥堵和卡壳现象。

今年是支付宝首次公布数据库处理峰值。4200万次/秒的意思是,在支付峰值产生的那一秒里,蚂蚁金服自主研发的数据库OceanBase平稳处理了4200万次请求数,这也意味着中国自主研发的数据库已经跃升至全球数据库的第一梯队。

没错,也就是说,在我们流畅的购物体验背后,站在一位名叫OceanBase的大功臣!于是问题来了,OceanBase是何许人也?

简单来说,OceanBase阿里巴巴、蚂蚁金服自2010年开始自主研发的数据库系统用户在使用支付宝时产生的所有数据、以及对数据的处理都存放在OceanBase上,所以它又被称为“超级会计师”。

如果说,今年的天猫双11是商家比拼新零售的年度“奥运会”,那么对支付宝来说,这也是检验Ocean Base处理能力的“阅兵场”。

与传统数据库公司的产品相比,OceanBase的升级维护,不需要昂贵的共享存储、高可靠的服务器、数据库软件的许可费,可以将商业数据库成本降到一半以下。同时,分布式的系统,可以保证业务在服务器、存储、网络等出现异常情况的情况下不受影响。

蚂蚁金服高级研究员阳振坤曾在揭秘阿里服务互联网金融的关系数据库——OceanBase中详细介绍了OceanBase背后用到的技术。

原来,对于数据库,与传统企业相比,互联网企业最大的不同之一是并发访问量非常大。传统商业企业、银行,用户需要通过收银台、银行终端、ATM柜员机、POS机等专用设备开展业务并访问数据库,几百和几千的数据库并发访问比较常见,几万以上的并发访问相当少见。在互联网上,每一个草根网民都可以发起购物交易并访问数据库,几十万的数据库并发访问时常可见,几百万甚至千万的并发访问都可以见到(例如双11下的淘宝、天猫和支付宝)。如此之大的并发访问下,商业数据库软件及其高可靠的数据库服务器和共享存储的成本成为了不可承担之重。

由于上述原因,OceanBase的一个基本假设就是硬件(服务器、存储、网络等)是不可靠的,另一个基本假设是单机(数据库服务器及共享存储)无法满足互联网业务的需求。因此,OceanBase必须是一个多机(分布式)系统,并且必须保证任何时刻出现的少量硬件(服务器、存储、网络等)异常不影响业务。

为此,OceanBase引入了Paxos协议,每一笔事务,主库执行完成后,要同步到半数以上库(包括主库自身),例如3个库中的2个库,或者5个库中的3个库,事务才成功。这样,少数库(例如3个库中的1个库,或者5个库中的2个库)异常后业务并不受影响:

与传统数据库相比,OceanBase的另外一个关键特征是软件版本的灰度升级。

主备方式的传统数据库是“单活”的,只有主库可执行写事务,尽管维护升级时可以先操作备库,操作完成后备库变成主库并且接受用户访问是一步到位的,如果新版本有问题,则业务受到影响:

传统数据库:升级前

传统数据库:升级中

传统数据库:升级后只能一次性地引入全部读写流量

OceanBase则是“多活”设计,即多个库(3个,5个等)每个都可以有部分读写流量,升级时先把要升级的库的读写流量切走,升级后先进行数据对比,正常后逐步引入读写流量(白名单,1%,5%,10%......),一切正常并运行一段时间后再升级其他的库:

OceanBase之3机群(3库)部署:升级前

OceanBase之3机群(3库)部署:切走读写流量,准备升级

OceanBase之3机群(3库)部署:升级一个机群(库)

OceanBase之3机群(3库)部署:升级一个机群(库)后切回部分读写流量

OceanBase之3机群(3库)部署:升级一个机群(库)后切回全部读写流量

基于硬件不可靠的假设并且能够容忍少量服务器的故障,OceanBase使用了相对廉价的PC服务器代替高可靠服务器并且不再使用昂贵的共享存储,从而不仅提供了比使用高可靠服务器和共享存储低得多的成本,容忍少数服务器乃至少数机群故障意味着比传统数据库更高的可靠性。通过灰度升级,OceanBase避免了传统数据库的“一锤子买卖”的升级,极大地降低了数据库维护升级的风险。

蚂蚁金服首席技术架构师、副总裁胡喜介绍,支付宝之所以在今年首次公布“数据库处理峰值”,是因为今年双11,支付宝首次把包括账务库在内的所有核心数据链,全部搬到了蚂蚁金服自主研发的数据库OceanBase上。

“对于用户来说,一笔支付就是一笔支付,对于数据库来说,一笔支付则是数个处理请求的集合。”胡喜介绍,用户进行支付时,钱可能从借记卡转出,从花呗借出、还有10块钱由优惠券出、分期付款……这些都是一个个独立的处理请求,需要数据库进行处理。在支付高峰,能否支撑得住海量级的处理并发量,对OceanBase来说是一个巨大的考验,而此次4200万次/秒的处理峰值说明,这个“超级会计师”经受住了考验。

据了解,今年双11,OceanBase还有一个技术突破,是实现了“离在线混合部署”。它最核心的优势是,能够在双11支付峰值来临前,借调“离线机房”的闲置计算资源,并在峰值回落后再“还”回去。凭借这一技术创新,今年的双11支付保障节省了2000多台服务器。

标签: 物联网,数据库,OceanBase,今年,支付,升级,处理