OceanBase是如何从数据库赛道“杀”出来的?

了不起的云计算 2024-07-15 09:10:06

提到国产化替代,就不得不提阿里去“IOE”行动,也正是阿里去IOE的成功,拉开了国内国产化的大幕。

这一切要从2009年说,当时,阿里提出“去IOE化”的概念,这在那个时候起来是天方夜谭。

IOE指的是传统的IT三大件,以IBM、Oracle、EMC为代表的小型机、集中式数据库和高端存储的技术架构。

今天我们先单独聊聊阿里在数据库方面是如何操作的?

▉ 数据库为什么一定要去?

去"IOE"的一个重要考虑是信息安全,安全是个死门槛,尤其是对于很多互联网大厂,政府机关、银行机构等领域,这些领域的数据非常多,而且非常重要,一旦泄露造成的损失会非常严重。

数据库则是负责管理、存储这些数据的核心软件,如果核心数据库不能替代,那么即使硬件实现了替代,也不能实现真正的安全。

而且对于像阿里这样的互联网企业来说,软件的替代可能更麻烦,比硬件的考验更大,尤其是在2009年更是阿里业务快速扩展的那几年,动一发二牵全身是对当时阿里系统的最恰当的形容。

可以说,最难升级就是数据库,无论是与应用的耦合度还是状态数据的重要性,都给架构升级带来了巨大挑战。

举个例子,随着互联网的发展,现代应用处理的数据量更大,也会经常面对脉冲业务的冲击,应用架构通过服务化架构和容器技术具备了更大的数据处理能力和弹性伸缩能力,从而间接要求数据库具备海量数据处理能力和弹性伸缩能力,同时业务的分布式和垂直拆分会要求数据库也是分布式的,但分布式有状态数据如何保证一致性,又如何应对大量数据库实例管理的复杂度,这在传统集中式数据库的架构上是极大的挑战。

另外,在分布式架构下 PC Server 的可靠性降低但数量变多,这"一降一多"极大的放大故障概率,而现代应用需要提供在线服务,对业务连续的要求只会变得更高,传统数据库依赖特定的高可用硬件来应对可靠性要求的方案已经难以为继。

所有这些新的问题表明,互联网时代的架构已经无法用传统的数据架构和思路来解决这些新问题了。如果还是治标不治本,通过外挂或者各种外部软件和数据库软件拼装组合的方式来应对这些复杂问题,只会让复杂度和风险变得更高。

因此,要构建现代应用架构的摩天大厦必须彻底重构数据库这个地基。

▉ 互联网浪潮 催生原生分布式数据库

说到数据,萌芽出现在20世纪60年代。

当时,计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。传统的文件系统已经不能满足人们的需要。能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。

随着关系模型有了完善的理论支撑后,以Oracle、DB2到SQL Server为代表的数据库开始在各大企业中应用,商业数据库迎来了第一波高速发展。

但关系数据库有一个比较大的问题就是贵,非常的贵。只有那些比较大的企业才能用得起数据库,对于一些中小企业来说,很难负担的起这个费用。

随着业务的增长,也急需要一款能用的数据库出现,于是以MySQL、PostgreSQL 等以开源、免费和简化版的形态出现的数据库形成了数据库发展的第二波浪潮。

但直到 1996 年后,OLTP 领域再也没有新的主流数据库出现。

这是什么原因呢?

因为在使用场景上并没有形成代际跃迁的变化,也就没法对现有数据库的能力和架构产生太大的推动力。

直到以中国、美国为代表的区域迎来了第一波 PC 互联网到移动互联网的高速爆发,也就是在这之后,数据库领域慢慢开始有了新的变化,而比较有意思的是,这波移动互联网的变革,中国比美国跑得更快、更彻底,也更快地推动了大量技术的发展甚至是变革。

2000 年左右,基础架构还没有反应过来,从应用层到中间件层开始解决集中式解决不了的问题,以 Cobar,MyCAT 为代表的中间件方案的分布式架构出现。一直到 2010 年左右,以 Google Spanner、 OceanBase 等为代表的原生分布式架构出现,陪伴互联网高速发展的十余年,产品逐渐打磨成熟并开始商业化。

说完了阿里去"O"的外部原因,下面我们就来聊聊阿里云内部是如何实现数据库研发的呢。

▉坚持自研 阿里的"硬核"数据库

要想真正做到数据块的替代,那么就需要阿里在底层数据库需要重新考虑设计或开发。

当时,正值中国互联网发展的高峰,传统数据库产品越来越难以适应用户的需求,去中心化、分布式架构已经成为发展趋势。

但是在当时看来挑战无疑非常大。要知道早在2007年,淘宝网日均PV就达到2.5亿个,商品数超过一亿个,全网成交额就达到四百多亿元。如何解决这些海量数据成为阿里面临的重要挑战?

当时,摆在技术团队面前有两条路,一条是基于开源,这种方式门槛儿低,起步更快;另一条是完全自研,从零起研发出一套能够满足淘宝业务需求的数据库产品。

相比较而言,从难易程度来说,基于开源无疑是一个简单且见效快的方式。但经过深入研讨后,团队认为,要想从根本上解决数据库的问题,还是需要打破原来的架构完全重写,于是就有了-- OceanBase。

刚开始的时候OceanBase团队举步维艰。在当时自研分布式框架的时候,团队遇到了多变的需求以及复杂的场景,但也正是这种挑战让 OceanBase 得到了快速发展和完善。

"逢山开路、遇水搭桥"是对当时整个团队工作最好的形容。

正是在前期采用了自主研发,让技术团队对代码有了完全的掌控力和掌控权,这是 OceanBase 最大的底气,也是 OceanBase 厚积薄发的根基。

在过去的十多年, OceanBase 不断被打磨,从互联网支付核心到全场景金融核心,再到政企民生、运营商核心场景,以及新零售和新制造的核心场景,不断突破、创新,形成了逐渐成熟的 OceanBase。

OceanBase CEO杨冰介绍,目前OceanBase已经做到了100%根自研,包括从0到1自研三百万行代码、自研代码开源主导产品和社区发展方向、构建自研技术生态。基于“根自研”和中国场景的打磨,OceanBase才得以推动树立分布式数据库在性能、容灾、高可用、架构上的新标准,立足中国服务世界。这就是OceanBase负载关键业务系统、为客户需求兜底的最大底气。

过去近4年,杨冰带领OceanBase快速奔跑。

产品层面上,OceanBase完成了开源,并持续践行“一体化”的产品战略。在同等硬件条件下,一体化数据库的性能比单机数据库更好,也能实现分布式架构下事务处理和实时分析的更佳性能。统一的技术栈,化解了客户业务规模增大后IT架构越来越复杂的难题,大幅降低架构、存储、运维和管理成本。

商业层面上,选用OceanBase产品的客户跃升了两个数量级。去年11月,杨冰宣布OceanBase数据库已服务超1,000家行业客户,客户数量年增长150%,其中30%客户将其应用于核心系统。杨冰认为,随着客户数量级的跃升,公司业务已经迈过阶段性的拐点。

发展至今,在技术、产品和商业化等多个层面,OceanBase已成为国产数据库领域的领跑者之一。根据IDC发布的《中国分布式关系型数据库2023年厂商评估》报告,OceanBase位列“领导者”类别,产品能力第一。而在Gartner的云数据库魔力象限中,OceanBase也凭其布局一年的云数据库产品入选了全球仅十家的“荣誉提及”。

如今,OceanBase 代码行数超过300万行,获得超过200项授权发明专利,主导和参与了十多项国家/行业标准。OceanBase 最为人知的是近年来在"数据库世界杯"上的表现。2020年在国际联机事务处理基准测试(TPC-C)中获得7.07亿tpmC,成为世界第一,2021年在国际联机分析处理基准测试(TPC-H)中获得1,526万QphH@30,000GB,再破世界记录,中国分布式数据库弯道超车。

同时,在尚未为人熟知的那些性能指标,OceanBase 在不断提升。比如,高压缩比的分布式数据库存储技术,可以解决了集中式数据库无法平衡"性能"和"压缩"的难题,显著降低了数据存储成本。异构数据库平滑迁移技术体系,也可以最大程度降低了现有系统的扩展、迁移改造成本,等等。这些产品的基本功,是 OceanBase 最大的核心竞争力和投入最大的方向。

▉ 一体化满足用户"既要又要还要

随着互联网的发展,背后产生的数据越来越多,据统计,截止2022年底我国数据存储量已达724.5EB,这意味着如今数据量的"大"和40年前Oracle诞生时理解的"大",早已不在一个量级。

而伴随着OceanBase数据库在各行各业的应用越来越广,应用场景也从核心业务拓展至更多中长尾覆盖。OceanBase团队注意到,许多客户希望统一技术栈,但又希望用单机来解决问题;此外,许多中小企业有明确的未来高速增长需求,但起步阶段又希望用更轻量的单机。

面向业务负载挑战,OceanBase 创新性的一体化产品战略应运而生--用一体化解决数据库的使用复杂度,目的是实现一个数据库解决 80% 的问题。它可以"一套系统,就能实现从单机到分布式对用户完全透明,同时业务可大可小,平滑压缩"。

“一体化”的数据库设计理念包括两层含义:第一层是一体化体验,客户不需要关心数据库本身的技术问题,可以把更多精力花费在业务需求上。第二层是“二八”原则,一个数据库满足80%的客户需求,剩余20%的专业场景由专门的数据引擎来解决。

“就像今天的智能手机,可以很好地满足普通人对电话、聊天、游戏、听音乐和看电影的需求,但是针对一些专业用户,专业的游戏机或电影院是更好的选择。”杨冰说。

为了实现一体化产品战略,OceanBase 足足花费了两年多的时间完成了技术讨论和总体架构的设计,并在2020年年中左右开始做详细设计和代码开发,再经过两年多的时间才在2022年8月份发布了第一个 OceanBase 4.0版本,代号"小鱼"。可以说,4.0版本奠定了单机分布式一体化架构的底座。

单机分布式一体化架构数据库的出现,为 OceanBase 打开了新的商业化思路。分布式数据库是大型企业的核心业务负载过重,集中式数据库性能无法满足时的产物,但小鱼的出现,让中小企业得以在业务早期就可灵活选择,并为后续业务体量爆发做准备,不必经历大规模迁移的过程。

过去近两年的时间里,OceanBase 4.0收获了大批用户。以往,OceanBase的客户以中大型企业和机构为主。有了一体化数据库之后,OceanBase能够覆盖更多中长尾客户,并让用户回归业务本身,让数据库使用尽可能简单。

目前在一体化上,OceanBase已经实现单机分布式一体化、TP/AP一体化、云上云下一体化、多模一体化等。

在最近的OceanBase开发者大会上,OceanBase发布4.3版本,在TP/AP一体化上更进一步:推出列式存储引擎,打造PB级实时分析数据库,可以实现秒级实时分析。相较于实时数仓,OceanBase更具备实时写入、读写强一致、大规模并行处理、管理运维难度低等优势。

正是由于OceanBase 在产品方面的"精雕细琢",让 OceanBase 在IDC 发布《IDC MarketScape:中国分布式关系型数据库 2023 年厂商评估》报告中位列"领导者"类别。同时报告认为,作为一款原生分布式数据库,OceanBase在产品能力上表现突出,处于第一的地位。2022年发布的单机分布式一体化的产品更突破了集中式与分布式关系型数据库的场景隔离,用一个数据库产品伴随客户业务成长。

▉ 成千行百业客户首选

随着云计算、大数据、人工智能等新兴技术的发展,也对数据库产品提出了更高要求。

云数据库成为新的市场热点,因此,在2022年,在原有企业版、社区版两个版本基础上,OceanBase 推出多基础设施的一体化数据库--云数据库OB Cloud,从而惬意用户面向不同场景可以使用不同版本的 OceanBase。

如今,在OceanBase1000多家客户中,已有30%将其应用于核心系统,其中不乏交通银行、中国移动、理想汽车、vivo、携程等大型企业,场景涉及支付、金融、政务、新零售、互联网等。

据悉,在粤港澳地区,OceanBase已深耕多年,服务雄帝科技、金地集团、澳门通、工银亚洲、广东农信、顺德农商银行、招商证券、广发证券、安信证券、递四方、出行365、丽迅物流、洋葱集团等上百家企业。其中,深圳公积金的公积金业务在线办理系统已在OceanBase上稳定运行超过1000天,平安银行的核心账务等数套关键业务系统已实现分布式升级,图匠数据两大核心业务“数货宝”、“数智柜”全面接入OceanBase的云数据库版本OB Cloud。

随着客户数的增加,OceanBase 发现出现了大量高频重复的场景以及共性需求。所以,在服务上,OceanBase 今年也做了迭代升级,推出了基于场景的服务,为此适配了更多产品。随着客户用到深水区,要的是更多高阶的咨询能力,OceanBase 在这个方向已经投入了更多人,但是远远不够,明年 OceanBase 还会在这个方向继续增强。

▉ 最后总结

数据库作为存储、管理和检索数据的重要工具,无论对于传统或新兴行业,都是不可或缺的基础设施,受到了越来越多开发者的关注。随着数字经济的快速发展,新一轮的技术混战已经开启。以OceanBase为代表的国产数据库也逐渐崭露头角,成为一股推动数字经济发展的重要力量。

人们常说"十年磨一剑",而 OceanBase 在过去13年间一直在坚持把分布式数据库做好,同时深入参与移动互联网的浪潮,在金融、支付、电商、游戏、直播等场景中,打磨了最好的产品能力。正是这13年的实践之路,减少了 OceanBase 与国际对手的能力差距,也收获了超1000家客户的"信任"。

在接下来的日子,OceanBase 将继续坚持自研,持续创新硬核科技能力。OceanBase 期待与每一位同行者,一起努力为"关键业务负载"打磨越来越好的"一体化"数据库,从而助力企业跨越数字化转型深水区,走出国门,走向全球。

————END————

0 阅读:5

了不起的云计算

简介:致力于数字化转型问题的技术探讨和解决!