阳振坤:OceanBase 4.0 核心技术解读

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 阳振坤:OceanBase 4.0 核心技术解读

8 月 10 日,2022 OceanBase 年度发布会在京沪深三地同时召开,OceanBase 创始人兼首席科学家阳振坤在会上分享了《OceanBase 4.0 核心技术解读》的主题演讲,向大家分享了 4.0 的核心技术突破——业内首个单机分布式一体化数据库,RTO 从 30 秒迈入 8 秒,进入真正的秒级容灾时代。


在发布会上阳振坤从 OceanBase 的 0.1 版本聊到今天的 4.0 发布,并表达了 12 年技术演进背后的思考。“从 2010 年 OceanBase 的第一个版本开始到今天,已经过去 12 年多的时间,我们开发了好多的版本,可以说每一个版本都是整个 OceanBase 梦想的一次次迭代、一次次升级。”阳振坤表示。




0.1 时代,准分布式

基线+增量、中心写+分布式读


0.5 时代,高可用

正式启用 Paxos 三副本


1.0 时代,迈过分布式门槛

解决分布式事务


2.0 时代,原生分布式

水平扩展、存储压缩,两次登顶 TPC-C 榜首


3.0 时代,Oracle 兼容+开源

走出蚂蚁集团


4.0 时代,单机分布式一体化

业内首个单机分布式一体化数据库,RTO<8s


以下为演讲实录:

image.png 

在 OceanBase 的 0.1 时代,我们要解决淘宝收藏夹的问题,当时淘宝收藏夹面临着巨大的业务压力,我们在技术上采取了两个对应策略。

第一个策略是用了数据从来没有用过的结构——把数据分成基线和修改的增量,基线放硬盘,修改的增量放内存。很多人对这个方案是质疑的,因为关系型数据库从来没有人这么做过,我们直到现在也只找到这一个办法来解决收藏夹的问题。

今天看这个技术方案确实给我们带来了很多挑战,因为传统的数据库是定长的页,它的执行只需要针对这一个对象,但 OceanBase 的基线是定长的数据块,它的修改内容在内存中是变长的,每次读都要做两者的融合。虽然给我们的评估优化器带来了很大的困难和挑战,但也给我们带来了很大的收益和好处。

尤其是在今天,我们想把交易和分析在一个系统上进行的话,曾经大家都认为这件事是不可能的,所有系统的列存都是批量更新,而交易的数据库都做到了实时更新,但 OceanBase 把这两者统一了——都能做到实时更新,就是因为我们有基于内存的增量。

第二个策略是半分布式结构。当时团队刚刚组建,人员的成长还需要过程,但业务却没有太多时间等待。所以,我们决定先采用一个中心的写节点加上多个读节点,读是分布式的,写是集中式的。

2013 年,支付宝交易库和其他核心系统决定从 IOE 升级至 OceanBase,当时面临最大的挑战就是数据的高可用、系统的高可用。为此,我们决定在关系型数据库上第一次采用三副本架构,在三个副本中选两个副本,当两个副本达到一致,整个数据也就达到了一致。

也就是在这一年,我们第一次在关系型数据库这个产业里提出 RPO=0,这是传统集中式数据库从来没有做到的;我们第一次在整个数据库产业里做到并提出 RTO<30s,如今,RTO<30s 已经成为中国数据库业界的标准。

2014 年,支付宝交易库上线的同时我们开始了 1.0 的开发,因为 OceanBase 的 0.5 还是维持中心单一的写节点,随着业务的发展,瓶颈越来越突显。所以,从 2014 年到 2016 年整整两年的时间,我们绝大部分资源都投入到把“半分布式”变成“全分布式”,让各个点都能写入。这是一个很大的挑战,但当这个挑战解决后,我们把支付宝的账务库在 2016 年后都逐步迁到了 OceanBase,真正在关系型数据库里做到了多点写入。

2.0 时代是 OceanBase 迈过分布式门槛之后的又一次进步。因为 1.0 是我们第一个真正的分布式版本,这在整个世界范围内的关系型数据库里,也算是最早期的版本,但它在性能功能方面有不少欠缺,所以在2.0 进行了不少的完善。借助这个完善,我们第一次登上了全球数据库性能的基准测试榜首,我们第一次做了一个小规模测试,做到了 6000 万,是当时 Oracle 的 2 倍。几个月之后,我们做了一次比较大规模的测试,做到了 7 个亿,直到今天 TPC-C 榜首第一、第二还是 OceanBase。

2.0 之后,我们逐步开始走出阿里巴巴和蚂蚁集团,开始向全社会提供数据库服务。在3.0版本时,我们进行了 TPC-H 的打榜,当时也以 1526 万QphH 拿下第一。

由于之前的版本更多是在蚂蚁集团场景下优化的,面对的都是非常高配置的服务器,我们走出来之后发现遇到的很多场景并不完全是这样,还遇到了很多分析上的需求。所以,我们一方面在进行小型化的工作,为今天的 4.0 奠定基础;另一方面,我们在逐步增加分析的能力,满足更多业务更多客户的需求。


image.png

12 年成长磨炼和积累,成就了今天的 OceanBase 4.0 小鱼,如同杨冰、韩富晟和大家展示的一样,4.0 我们有了很多新的突破。

今天我给大家展示两方面:第一,是我们的单机一体化架构。以前大家都知道OceanBase 是个分布式系统,我们可以支持很多大型的高并发业务,在过去几年努力的基础上我们能够支持从小型到中型到大型的各种业务。从我们的了解来看,今天的 OceanBase 4.0 是业内首个把分布式跟单机做到一体化的。不只是树莓派,普普通通的个人电脑也将能流畅运行 OceanBase 4.0。


第二,我们进一步实现了以前提出的目标。2014 年初,我们第一次在关系型数据库这个产业内提出了 RPO=0,就是没有数据损失,业务能够在 30 秒之内实现故障下自动恢复,经过这几年的努力我们在这一点上有了进一步的提高,我们把机房故障级单机故障做到 8 秒。F1 赛车最早更换轮胎的时间是几分钟,有点像我们数据库,前几年大家故障的时间都是分钟计时甚至半个小时,经过几年的努力我们能保证业务在 8 秒时间内恢复,给客户给业务提供更好的可用性。


image.png


最后是开源,随着 OceanBase 4.0 的发布,
我们将做到企业版和社区版拥有同等性能。除了少数管理能力和安全能力外,其他 MySQL 兼容能力都会开源、开放出来,希望 OceanBase 能够给整个社会整个产业提供更大的动力。

过去 12 年的时间里,OceanBase 的很多同事凭着热爱、凭着梦想一直在数据库最基础的产业上奋斗前行。刚才有嘉宾问我们与其他的数据库最主要的差别是什么?我说最主要的差别是 OceanBase 数据库的每一行代码都是这些同学用他们的热爱、用他们的梦想一行一行敲出来的。所以,我们今天有能力解决大家使用过程中遇到的各种各样的问题,除了这些热爱和梦想之外,我们还有这么多合作伙伴、客户、用户的支持,相信 OceanBase 未来会有更大的发展。谢谢大家!


image.png


相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
28天前
|
SQL 存储 人工智能
OceanBase CTO杨传辉谈AI时代下数据库技术的创新演进路径!
在「DATA+AI」见解论坛上,OceanBase CTO杨传辉先生分享了AI与数据库技术融合的最新进展。他探讨了AI如何助力数据库技术演进,并介绍了OceanBase一体化数据库的创新。OceanBase通过单机分布式一体化架构,实现了从小规模到大规模的无缝扩展,具备高可用性和高效的数据处理能力。此外,OceanBase还实现了交易处理、分析和AI的一体化,大幅提升了系统的灵活性和性能。杨传辉强调,OceanBase的目标是成为一套能满足80%工作负载需求的系统,推动AI技术在各行各业的广泛应用。关注我们,深入了解AI与大数据的未来!
|
3月前
|
关系型数据库 OLAP 分布式数据库
揭秘Polardb与OceanBase:从OLTP到OLAP,你的业务选对数据库了吗?热点技术对比,激发你的选择好奇心!
【8月更文挑战第22天】在数据库领域,阿里巴巴的Polardb与OceanBase各具特色。Polardb采用共享存储架构,分离计算与存储,适配高并发OLTP场景,如电商交易;OceanBase利用灵活的分布式架构,优化数据分布与处理,擅长OLAP分析及大规模数据管理。选择时需考量业务特性——Polardb适合事务密集型应用,而OceanBase则为数据分析提供强大支持。
646 2
|
5月前
|
关系型数据库 MySQL 调度
OceanBase 高并发场景技术解读
OceanBase 高并发场景技术解读
|
5月前
|
SQL 存储 调度
OceanBase 轻量级数仓关键技术解读
OceanBase 轻量级数仓关键技术解读
|
存储 调度 数据库
OceanBase存储引擎高级技术——内存数据落盘策略-合并和转储
OceanBase存储引擎高级技术——内存数据落盘策略-合并和转储
1046 0
|
存储 监控 容灾
初二不放假 | OceanBase技术文章精选Top10
辞旧迎新,今天初二啦~(问就是与我无关,不放假☺️) 年前为大家做《盘了个盘~2022年OceanBase最受读者欢迎的20篇文章》时,我们也对全年的内容做了一下整体回顾,发现每个版块的内容还是很值得做一个单独的盘点,所以值此春节假期,给大家做一下分门别类的<春节系列回顾>,今天先给大家盘点一下 2022 年 OceanBase 技术文章 Top10,希望为您带来一些启发与思考,也欢迎收藏或分享(点击下方图片直达原文)。
281 0
初二不放假 | OceanBase技术文章精选Top10
|
负载均衡 Oracle 关系型数据库
7.07亿TPC-C背后的技术突破,OceanBase研究成果入选VLDB
7.07亿TPC-C背后的技术突破,OceanBase研究成果入选VLDB
380 0
7.07亿TPC-C背后的技术突破,OceanBase研究成果入选VLDB
|
运维 容灾 分布式数据库
一年一度 OceanBase 技术征文大赛全面开启! 入门实战,等您来写
为了让更多用户能够真正体验到 OceanBase 数据库,Gitee 联合 OceanBase 发起一年一度 OceanBase 技术征文大赛,邀请广大开发者体验从部署到迁移的各种玩法,第一期征文主题将围绕《OceanBase 社区版入门到实战》课程学习与实践。
|
3月前
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
254 0
|
3月前
|
Oracle 架构师 分布式数据库
OceanBase数据库的发展历程是什么?
【8月更文挑战第11天】OceanBase数据库的发展历程是什么?
169 63

热门文章

最新文章