微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 OceanBase十四年:艰难起步、根自研和一体化思路

OceanBase十四年:艰难起步、根自研和一体化思路

2024-03-22 18:37
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2024-03-22 18:37 金旺

2024年对于OceanBase来说是尤为关键的一年。

一方面,这一年,蚂蚁集团官宣OceanBase正式独立运营;

更重要的是,不少头部企业核心业务开始正式转向OceanBase分布式数据库,一些企业甚至明确提出了要“All in OceanBase”。

OceanBase CEO杨冰称,“分布式数据库如今已经开始成为现代数据库的标准架构,与此同时,一体化数据库也逐渐成熟、走向商用。”

2024年,在这两大主流趋势推动下,OceanBase有了更大的作战空间。

当然,他们也有了新的思考和目标。

数据库的艰难十年

2014年11月,在AWS re:Invent大会上,亚马逊官宣发布了Amazon Aurora,Aurora的发布,拉开了自研数据库的帷幕。

当时中国数据库商用市场仍处于初期阶段,虽然Oracle在1989年就已经进入中国市场,并带动了铁路、金融、运营商等大型国央企的信息化升级,但由于高昂的售价和运维费用,每年这些企业都需要巨额费用支出,自研数据库在这时的中国呼之欲出。

2010年,44岁的阳振坤加入阿里,带队开启了阿里的数据库自研之路,更准确的说法是,阳振坤这一年在阿里内部开启了分布式数据库OceanBase的自研之路。

OceanBase十四年:艰难起步、根自研和一体化思路

这一年,关系型数据库仍是主流,但行业中已经有了NoSQL有可能取代关系型数据库的热议,而分布式数据库还只是一个不被看好的小众路线。

杨冰回忆称,“十几年前,由于分布式数据库的技术还很不成熟,就连如何用中间件做分库、分表都还是一件很复杂的事,因而算是一条很小众的技术路线。”

不过,这还不是阿里自研数据库之初遇到最大的难题,他们当时遇到最大的难题其实是人才短缺。

当时虽然一些IT技术人员已经开始使用数据库,但由于这项技术复杂度高,在国内起步较晚,真要做数据库自研,很难招到优秀的数据库人才。

这也是OceanBase后来每年召开开发者大会,在开发者社群上不断投入,甚至直接与高校合作,联合高校培养人才的原因之一。

OceanBase十四年:艰难起步、根自研和一体化思路

当然,这些都是后话,在阿里决定自研数据库时,摆在他们面前的第一个问题是——选择开源路线,还是纯自研路线?

选择开源路线的话,相当于站在了巨人的肩膀上,不用经历从0到1的冷板凳和痛苦闭关,但问题在于,当时国内企业在实际应用场景中,遇到的很多问题通过开源数据库已经无法从根本上得到解决。

例如,随着企业对于海量数据、高速写入的需求越来越大,LSM-Tree数据结构刚好适合这样的需求。

然而,在传统的数据库架构中,基于LSM-Tree构建索引、进行数据查询这样最基本的需求并不友好。

OceanBase十四年:艰难起步、根自研和一体化思路

选择纯自研路线,可以从底层架构上打破传统规则,可以设计一个全新的、更适合应用需求的架构,这样自然也更容易解决数据库行业当时看似冲突的业务需求。

但这样从无到有根技术的突破,是一个痛苦而又煎熬的过程。

当时的OceanBase团队在二者之间,最终还是选择了纯自研这条“不归路”。

就是这样一条纯自研、当时看起来又很小众的技术路线,OceanBase坚持了10年。

杨冰说,“目前,OceanBase已经做到了100%根自研。”

OceanBase十四年:艰难起步、根自研和一体化思路

“从第一行代码写起,我们知道每一行代码是如何实现的,网络存储CPU是如何调度的,所以我们结合各个专有云、公有云场景做了大量的技术尝试和自研创新。”

2014年,原生分布式数据库OceanBase取代了原本的集中式数据库,支撑起了支付宝核心交易系统,并开始承担“双十一”10%的交易流量;

2016年,OceanBase 1.0版本正式发布,这一年“双十一”期间支付宝所有支付数据链和交易数据链全部运行在了OceanBase上,在阿里内部率先实现了核心业务替代;

2021年,OceanBase发布HTAP混合引擎,并正式对外开源,客户数量超过400家,开始真正成为通用型企业级分布式数据库。

“All in OceanBase”

当杨冰在2024年站到OceanBase数据库城市行|粤港澳的讲台上时,分布式数据库已经不再是十年前那个小众的技术路线,真正成了数据库领域一条主流技术路线。

来自IDC的统计数据显示,到2022年,中国分布式事务数据库在关系型数据库中的占比已经提升到了16.2%。

此外,据IDC预测,到2027年,中国分布式事务数据库总体市场年复合增长率将达到28.5%,其中在公有云上增长率将达到32.8%。

这样的增长速度,已经超过了公有云本身的增速。

OceanBase十四年:艰难起步、根自研和一体化思路

而杨冰在和一些机构分析师交流中也获悉,以现有的增速来看,到2025年,国内使用分布式数据库的企业和场景占比预计将会突破50%。

今天,用不用分布式数据库已经不再是一个问题,作为国内最具代表性的分布式数据库,OceanBase如今也已经有了超千家客户,诸如中国移动、交通银行、理想汽车等一些头部企业经过测试和准备,核心业务正在转向OceanBase分布式数据库。

交通银行贷记卡系统的分布式改造,是其向全面分布式转型的关键一步,其中就包括在底层使用OceanBase。

通过使用OceanBase,大大提升交通银行数据处理效率和系统可用性,金融TPS(每秒处理事务数)提升6倍、跑批效率提升超过7倍。

据杨冰在大会上公布的数据显示,如今的OceanBase已经服务了中国70%头部银行、75%头部证券、45%头部基金,以及20%省移动运营商和25%省人社部门。

在这个过程中,分布式数据库逐渐成为现代数据库的标准配置,越来越多企业开始选择分布式数据库,开始“All in OceanBase”。

“一体化”新趋势

2023年11月16日,在OceanBase2023年度发布会上,OceanBase 4.2.1 LTS正式发布。

OceanBase 4.2.1 LTS独特之处在于,这是OceanBase首个长期支持的一体化数据库版本。

OceanBase十四年:艰难起步、根自研和一体化思路

什么是分布式一体化数据库?

在传统概念中,与分布式架构相对应的是集中式架构,然而,企业往往是线性发展路线,在不同阶段,对两类数据库可能存在着不同的需求,这就意味着,对于数据库供应商而言,难以从工程和产品设计上将两类产品完全切分开来。

“分布式和集中式本身不是对立的,”这是杨冰和OceanBase团队这几年做数据库产品研发和工程实践的切身体会。

这也就有了OceanBase将分布式和单机数据库融合在一起的设计思路来源。

vivo是受益于这类数据库产品的企业之一,vivo体系与流程部IT部DBA组总监鄢楠指出,“vivo现在内部业务系统已经从十几个数据库实例发展到了数千个,其中既有使用商业数据库的业务系统,也有使用开源数据库的业务系统,基于降本增效考虑,在2023年开始基于OceanBase自建数据库。”

OceanBase十四年:艰难起步、根自研和一体化思路

在这一过程中,vivo使用的正是OceanBase 4.2.1版本,也就是OceanBase的单机分布式一体化产品。

基于这一版本,在半年时间里,OceanBase已经在vivo内部15个生产业务系统上线应用,在vivo原有的MySQL分库分表架构替换为OceanBase后,总资源占用节省了80%,极大地降低了vivo团队的运维成本。

一体化是杨冰笃定的数据库技术趋势,也是贯穿OceanBase过往十四年研发历路中始终如一的方向。

在过往十四年里,OceanBase团队已经基于自家数据库实现了工程一体化、TP/AP一体化、云上云下一体化、单机分布式一体化,这四个“一体化”打造出的数据库,也是杨冰认为接下来新一代数据库该有的样子。

就在前不久,蚂蚁集团官宣,旗下蚂蚁国际、OceanBase和蚂蚁数科已成立董事会,开始独立面向市场。

与此同时,OceanBase在3月20日的大会上官宣升级2022年发布的珊瑚计划,提高专有云伙伴签约占比至70%,伙伴独立交付占比提高到30%。

OceanBase分布式数据库规模化商用落地节奏由此也得以再次加快。

作为自2020年开始独立商业化的技术团队,2024年,当OceanBase正式独立运营、加快进入市场时,一个数据库行业新周期也悄然拉开帷幕。

分享至
5赞

好文章,需要你的鼓励

金旺

Wille
关注智造、硬件、机器人。
推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-