本文来自2024 OceanBase开发者大会,OceanBase CTO 杨传辉的演讲实录—《携手开发者打造一体化数据库》。完整视频回看,请点击这里>>
各位 OceanBase 的开发者,大家上午好!今天非常高兴能够在上海与大家再次相聚,这是 OceanBase 的第二届开发者大会,上次是在北京的望京,这次在上海。
首先,简单对 OceanBase 的架构做一个回顾。2010 年 OceanBase 开始研发,到今天已经有接近 14 年的时间,我们总共经历了两次重大的技术架构升级,以及一次重大的产品升级。
第一次技术架构升级是 2016 年,当时我们发布了 OceanBase 1.0 版,把原先OceanBase 0.5 版本的单写多读架构升级为全分布式架构。2022 年发布了 OceanBase 4.0 版,提出单机分布式一体化架构,使 OceanBase 不仅仅能够应用在大型企业,也可以应用在中小企业乃至创业公司。
去年下半年,我们又提出了一体化数据库,基于之前的单机分布式一体化架构,构建对 OLTP、OLAP、KV、多模乃至未来对 AI 的融合能力,支持各种各样不同的工作负载。
一、回顾开源
大家都知道,OceanBase 是 2021 年 6 月 1 号儿童节那一天正式开源的。其实 OceanBase 开源的时候,业界乃至中国也有一款非常流行的原生分布式数据库,为什么开源社区还需要另外一个原生分布式数据库?
回想当初,我们的想法挺简单的,我们认为作为一款在蚂蚁集团已经应用了十多年,支撑了每年“双 11”所有核心业务场景的产品,OceanBase 的稳定性非常好、性能非常好、性价比也非常高。
当我们把这样的产品开源出去,我们相信用户跟开发者一定会非常喜欢,这就是我们最早开源的初心。当时我们在面向公司内部、面向外部经常说一句话:开源,OceanBase 是认真的。还有一句话:OceanBase 是真开源。直到今天,我对“真开源”这几个字才有了深刻理解,OceanBase 是不是真开源?我们说了不算,只有用户跟开发者说了才算。
比较幸运的是,OceanBase 这两年开源了,我们发展得非常迅速,到今天为止,OceanBase 仅仅是社区版部署的集群数已经超过了一万。而且我们在 OceanBase 4.0 版本发布之后,看到使用 OceanBase 的用户、使用 OceanBase 的集群,增速进入了新台阶。
今天,业界主流的互联网公司,包括携程、快手、知乎、vivo、网易等等,他们都在各种各样的场景使用了 OceanBase 社区版。在开源社区,很多开发者已经形成了共识,就是最好的开源分布式数据库,产品技术特性能力最强的一定是 OceanBase。
今天,OceanBase 的客户数量已经突破了 1000 家,并且得到了各种各样的更多认可。在 IDC 去年的中国分布式关系型数据库厂商评估报告里,OceanBase 位列领导者象限,并且在产品能力上处于领先地位;在 Gartner 去年全球云数据库管理系统魔力象限里,OceanBase 也获得了荣誉提及;在“墨天轮中国数据库流行度排行”里,OceanBase 连续 14 个月获得了第一。
(一)用户将 OceanBase 社区版应用在分布式 OLTP 场景
OceanBase 一开始设计之初,主要是用来处理交易、支付这样的 mission-critical 核心业务场景。所以,最早的开源用户还是把 OceanBase 应用在核心业务场景的。
华润万家原先使用 MySQL 分库分表,但我们都知道 MySQL 分库分表没有办法做扩展。通过 OceanBase 原生分布式替换 MySQL 分库分表实现了按需扩容,并且存储容量由原来的 15TB 减少为 6TB,降低了 60%,并且实现 RPO 等于零。
作业帮的基础设施(包括数据库)构建在百度云、阿里云、腾讯云三朵云上,通过 OceanBase 的高可用和容灾能力,实现了多基础设施环境下的多活架构,最终一套系统同时处理 TP 和 AP 混合负载。并且把原来 24 台 MySQL 服务器降低为只有 9 台 OceanBase,节省了 60%。
大家应该都去过物美超市,多点 DMALL 服务了包括物美超市在内的很多大大小小的超市。原先多点 DMALL 使用了很多分散的 MySQL 服务器,但是大量的MySQL没有办法做扩展,并且运维成本比较高。通过 OceanBase 的多租户能力实现了数据库的整合,大大降低了运维成本,同时压缩比做到了 6:1。并且在如此高压缩比的前提下,单机的OceanBase性能仍然高于 MySQL。
携程是 OceanBase 社区版最早的一批用户之一,他们有一个历史库场景。原先的历史库也是使用的 MySQL 分库分表,但是历史库的数据量增长非常快,MySQL 分库分表无法很方便地做在线动态扩容,通过 OceanBase 原生分布式数据库避免了分库分表,并且存储容量降低了 85%,写入性能提升了数倍。
(二)用户也将 OceanBase 社区版应用在实时 AP、多模场景
虽然 OceanBase 一开始设计是用来处理 mission-critical 核心业务场景,但是我们的开发者也把 OceanBase 应用在实时 AP 和多模的场景。
跨越速运在一个偏分析类的场景,原先使用“HBase+Kafka+StarRocks”,并且他们自研了一套系统叫 HBase CDC,把数据从 HBase 拉取到 Kafka 再同步到 StarRocks。这个方案链路非常复杂,而且自研成本很高,因为链路复杂也导致数据处理的时间很长。通过 OceanBase 实现了一套系统解决原来多套系统的问题,硬件成本降低了 50%,同时数据处理的时效提升了 50%。