恩格斯说:“社会的需求对科技进步的作用要超过10所大学。”
奋战在“双11大促”背后的蚂蚁金服OceanBase团队或许对这句话颇有感触。
与十一年前相比,双11的许多东西都变了,比如金额---2684亿,差不多是十一年前0.5亿的5000倍;比如流量---当晚的交易峰值达到54.4 万笔/秒,是2009年第一次双十一的1360倍。
而在这个成绩的背后,不得不提到蚂蚁金服技术团队OceanBase。作为中国数据库中的佼佼者,OceanBase不仅在双十一大放异彩,还于今年十月份打破了美国甲骨文公司保持了9年的世界纪录,登顶TPC-C榜单,成为首个登上该榜单的中国数据库系统。TPC-C是专门针对联机交易处理系统(OLTP系统)的测试基准,几乎所有在OLTP市场提供软硬平台的国外主流厂商都发布过相应的TPC-C测试结果。
今年的双11金融新技术发布会上,蚂蚁金服技术团队展示了他们在数据库领域获得的一些成果。
解决痛点,挑战巨头
一直以来Oracle等老牌数据库占据着金融等各个行业的的数据库市场。一步先,步步先。怎样“虎口拔牙”,从传统的数据库厂商手中抢夺市场,这是新兴的数据库团队要考虑的内容。
蚂蚁金服研究员、OceanBase团队核心成员韩鸿源说道:“让银行等金融行业使用新的数据库,面临的最大的挑战是所有业务系统在过去20年里已经构建好,如果既有系统平滑迁移,用户会有特别大的开发和改造投入。”
“OceanBase挑战TPC-C就是要证明我们可以把分布式架构和数据库表现的和一个数据库的效果一样,这样可以最大程度的降低迁移复杂度。”
“OceanBase于今年的十月份打破了Oracle公司保持了9年的世界纪录,登顶TPC-C榜单。而在这件事的背后,其实在于OceanBase团队做的一件有意义的事情:即改变了关系数据库做交易的处理方法,把交易处理从传统的集中式系统变成了分布式系统。蚂蚁金服高级研究员、OceanBase创始人阳振坤补充道。
20世界80年代后,数据库的一个重要的应用场景开始得到普遍应用,即在线交易处理On-Line Transaction Processing(OLTP),之后企业应用环境基于数据库中的数据又增强了商业智能分析的需求,即对销售结果进行预测、对比、分析等各种需求,所以在在线交易处理(OLTP)之外,还需要数据库承担联机分析处理(OLAP)的负载。
但近些年来,因为数据量不断高速增长,硬件发展速度赶不上数据的增长速度,原本可以由一个关系数据库处理的OLTP和OLAP变成了由关系数据库和数据仓库两个分离的系统来承担。这带来很大的不便。一来,需要另外架一个桥梁,把数据从交易数据库抽取和转载后加载到数据仓库系统,而且这个过程是非实时的,效率低下。二来,数据仓库本身是面向某个主题的,如果有多个不同的主题,就要建多个数据仓库,造成大量数据冗余。而对交易数据库进行分库分表后,当分库数量变成两位数或者三位数,不管是业务扩容了,还是业务缩容,都需要应用进行很多的调试。
“能够做到随时扩展和收缩,正是2010年公司立项做OceanBase的目标之一。”阳振坤说道。
对标国际,市场先行
“商业成就科技,技术成就商业。”阿里巴巴合伙人、蚂蚁金服CTO胡喜告诉记者,“天猫双十一就是金融新技术的最佳演练场。”而强大的市场需求不断推动技术前行将成为阿里的一个标志。
早在2008年,阿里巴巴提出了“去IOE“的概念。即在阿里巴巴的IT架构中,去掉IBM的小型机、Oracle数据库、EMC存储设备,代之以自己在开源软件基础上开发的系统。今年阿里已完成全部去Oracle,部分使用MySQL的目标。
相比于在业界应用广泛的Oracle和MySQL,金融IT专家、赞奇科技CTO谢军博士向雷锋网表示,“如果操刀大型系统,他会与阿里的OceanBase合作。如果是一般系统,则更倾向于使用MySQL。”
Oracle是一款诞生早、结构严谨、功能多的数据库产品,但同时存在价格高、安装较为复杂等问题。使用Oracle的客户十分广泛,涉及金融、能源等各个行业。早些时候,世界前100强的公司几乎100%都使用的是Oracle数据库。MySQL最大的特点在于开源、便宜、安装方便、支持平台多,但比较而言安全系数较低。生于互联网,兴于互联网的MySQL在高并发等存取能力并不比大型数据差,同时价格便宜,安装使用简单便捷,能够自主选择存储引擎,深受互联网公司的喜爱。
而OceanBase诞生于阿里,应对像双11这种大流量访问、高并发的实战,经验更充足。相对于传统数据库而言,OceanBase有更好的扩展性且效率较高,更适合如聚划算、秒杀以及短时间突发大流量的场景应用。但同时也有一定的缺点:分布式事物的代价较为高昂、管理复杂,如果数据量没达到一定规模,则使用OceanBase可能没有明显的优势。
此外,谢军博士对雷锋网说道:“OceanBase的优势在于能大规模支持极高并发业务集群;另外,由于是国产数据库产品,安全可靠。“
近两年,OceanBase团队重点在做兼容Oracle的工作,目标可以达到不用改代码,就能实现业务的平滑迁移,尤其是在金融领域,成就颇丰。目前国内如西安银行已把Oracle业务迁到了OceanBase。
谢军表示,OceanBase兼容Oracle对基金、保险行业的意义重大,但如果要大规模赋能银行,则需进一步兼容DB2。
生命易逝,基因长存
阿里并不是国内第一家研发数据库的公司。
21世纪初,我国开始了自主研发数据库的历程。除了南大通用、人大金仓等传统国产数据库厂商;腾讯TDSQL、华为GaussDB等互联网开源产品厂商也相继进军市场。而更早些时候,Oracle等国际巨头早已抢占了大部分市场。
虽然阿里巴巴并不是最早开始研发数据库的公司,但毋庸置疑的是,在数据库领域,尤其是工业数据库产品中,处于较为领先的地位。
“今天市场上即便是大厂,也不一定能做到使自己的业务全部运行到自己的数据库上,而OceanBase这个产品是经过长期的检验之后才拿出来的,蚂蚁金服的业务量对OceanBase有非常好的支持作用。”蚂蚁金服研究员、OceanBase团队核心成员韩鸿源说道。
支付宝参战双11的第十一年,OceanBase再次刷新了数据库处理峰值,达6100万次/秒,创造了新的世界纪录。这些宝贵的经验是其他厂商所不具备的。
除此之外,今年9月份蚂蚁金服和阿里云的业务合并,将给OceanBase带来更加积极的改变。阿里云智能新金融业务部总裁刘伟光说道:“我们的目标是把整个面向金融的技术栈做的更厚,不仅是数据库,我们还会将云计算、中间件、智能风控等技术结合在一起,构成一个自顶向下非常完整面向金融级的技术栈,为金融行业的客户提供更多、更丰富的技术选择。”
阿里云和蚂蚁金服,一个是基础架构,一个是应用架构,合二为一,将会形成指数倍的力量。”云计算发展头十年,大部分在公有云上运行的客户是一些初创公司和互联网公司。而发展到第二阶段,有了蚂蚁金服的技术支持,是帮助传统企业上云的时候了。这是所有云计算厂商在中国走向的第二个阶段。”
据悉,在2017年,OceanBase向银行、保险等金融机构对外开放后,南京银行国内首个商业银行分布式互联网核心业务系统顺利上线运营。而在今年阿里云和蚂蚁金服也联手赢得了四川农信新一代分布式架构平台项目。
“阿里有非常独特的优势,所有的技术都来自于实践,这点和同行和友商有非常大的不同,在我们场景下验证过的技术才拿到外部市场。这是阿里区别于其他数据库厂商的独特基因。”刘伟光说。