浅谈数据库发展史和 OceanBase 的诞生

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 本文主要介绍数据库的发展,带大家共同回顾这一历史进程,也将首次揭秘 OceanBase 诞生的故事。

3O1A8389 (1).JPG

本文作者:杨传辉(花名:日照)蚂蚁集团资深总监、OceanBase 研发总经理,全面负责 OceanBase 研发工作。作为 OceanBase 创始成员和首席架构师,主导了技术架构设计,实现分布式数据库在核心金融场景零的突破,完成蚂蚁集团核心数据库100%上 OceanBase,主导 OceanBase TPC-C 测试并打破世界纪录。曾在百度负责云存储与云计算系统研究工作,著有专著《大规模分布式存储系统:原理与实践》。

本文主要介绍数据库的发展,带大家共同回顾这一历史进程,也将首次揭秘 OceanBase 诞生的故事。

什么是数据库

首先,什么是数据库。顾名思义,数据库是按照数据结构来组织、存储和管理数据的仓库。历史上曾经出现过层次数据库、网状数据库以及关系数据库。

如今,关系数据库成为业界的主流。关系数据库的全称是 Relational Database Management System,简称叫 RDBMS。一般来讲,关系数据库主要应用在核心行业的核心业务场景,也就是我们经常说的 Mission-critical 场景,涉及到人、财、物等需要精确管理等应用。关系数据库有一个第一定律,那就是永远不要丢失任何一条数据。

关系数据库可以被分成三个基本的模块,包括:

关系模型,也就是我们经常听到的表格、索引、外键、范式等;

事务处理,也就是事务的 ACID,原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability);

查询优化,也就是 SQL 的解析、改写、优化、执行等等。

31.jpg

(图片来自互联网)

数据库技术的繁荣发展,也得益于很多优秀的科学家。数据库领域有四位图灵奖得主,第一位图灵奖得主是 1973 年的网状数据库的创始人 Charles W.Bachman。第二位是 1981 年关系理论的提出者 Edgar F.Codd。第三位图灵奖得主是事务处理的发明人 Jim Gray,于 1998 年获得了图灵奖,Jim Gray 也是科学研究四类范式的提出人,他是一个天才科学家。有个有趣的事可以和大家分享:当年微软想把 Jim Gray 招到西雅图的总部,但是,Jim Gray 不喜欢西雅图的天气,于是,微软专门在旧金山给 Jim Gray 建了一个单独的研究院。

第四位数据库领域的图灵奖得主是 Michael Stonebraker。Michael Stonebraker 不仅是位教授,而且还是不同数据库公司的创始人,他创立了很多不同类型的数据库产品,除了 Oracle 和 DB2 以外,绝大部分的数据库产品,都或多或少与 Michael Stonebraker 有点关系。Michael Stonebraker 最著名的一个数据库产品就是 Ingres,Ingres 是 Informix、Sybase、SQL Server、PostgresSQL 等一系列产品的前身,Michael Stonebraker 也是在 2014 年获得了图灵奖。

关系数据库发展史

根据下图的时间线,我们一起回顾下关系数据库的发展史。

32.jpg

1970 年,Edgar F.Codd 首先提出了关系模型。接下来就有两个关系模型的原型系统。第一个是 IBM 做出来的 System R,第二个是 Michael Stonebraker 领导的 Ingres。IBM 是关系模型的提出者,也是第一个原型系统的实现者,但是 IBM 并没有抓住关系数据库商业化的历史新机遇,反而把机会让给了一个叫 Larry Ellison 的人,1979 年 Oracle 模仿 IBM 的 System R 做出了第一个商业数据库版本 Oracle Release 1。直到 1983 年,IBM 的第一个商业数据库版本 DB2 才姗姗来迟,但是已经错过了最好的数据库发展时期。

1987 年,Sybase 和微软一起做出了 Sybase SqlServer。1989 年,微软买下了 Sybase SqlServer 的代码版权,并且形成了一个独立的 MS SqlServer 的分支。我们今天听到的 SqlServer 一般指的是微软的 MS SqlServer。

同一年,著名的开源数据库 PostgreSQL 也诞生了。

1995 年,MySQL 诞生,MySQL 的创始人叫 Monty。一个非常神奇的事情是,MySQL 早期的主要代码都是 Monty 一个人贡献的,而且到今天为止,Monty 仍然保持着写代码的习惯。

2004 年,更多的列式数据库产品,包括 MonetDB、C-Store 也加入到关系数据库的产品行列。

分布式系统发展

接下来,我们再来看下分布式系统的发展。

分布式系统也是一个相对比较古老的领域。但是直到最近的十几二十年,分布式系统才由理论变成大规模的工程实践。对分布式系统工程实践贡献最大的公司是 Google,Google 的基础设施有三驾马车,分别叫做《Google File System》、《Google MapReduce》以及《Google BigTable》。Google 发表了这三篇论文以后,基本上奠定了业界大规模分布式存储系统的理论基础,所有对分布式系统工程实践感兴趣的同学,我建议都去仔细精读这三篇论文。

33.jpg

2005 年,Hadoop 成立,Hadoop 项目的初衷就是做出 Google 三驾马车的开源实现。

2007 年,Amazon 发表了 Dynamo 的论文,Dynamo 的设计思想也比较有意思,他采用了 P2P 的思想来实现分布式的存储,里面用到了包括一致性 Hash、NWR 等一系列非常有意思的技术。当然了,最终 P2P 的技术因为没有办法保证强一致性,并没有成为业界的主流。

2009 年,Spark 项目成立。

2010 年,我所在的 OceanBase 项目成立。OceanBase 团队是分布式数据库的信仰者、实践者,OceanBase的定位是原生分布式数据库,以追求成为分布式数据库的领导者为目标。

2011 年,另外一个云计算的巨头微软,发布了 Windows Azure Storage。

2012 年,Google Spanner 发表了论文,Spanner 是全球第一个 Global Database,采用了 TrueTime、Paxos和两阶段提交等一系列分布式的技术来实现了一个全球级别、可无限扩展的、强一致的分布式数据库。

2016 年,Amazon 发布了 Aurora,Aurora 是一个存储计算分离的系统,运行在公有云之上,它的设计思想很巧妙,它把存储与计算分离使得可以非常简单得实现存储能力的可扩展。Aurora 有个核心的设计理念:The log is the Database。

关系数据库的经验教训

关系数据库发展了这么多年,有很多的经验教训。

关于经验,今天我选两点经验分享:

第一点:应用驱动创新,应用创新与技术创新相辅相成,互为促进。关系数据库的很多技术都是应用驱动产生的,这也形成了非常强大的技术生态。

第二点:抽象与标准化,关系数据模型、事务处理模型本身就是最本质的抽象,能够获得图灵奖的一个抽象。关系数据库里面也产生了很多的标准,其中最著名的标准是 :SQL 标准和 TPC 测试标准。

早期的商业数据库也比较混乱,每一家商业数据库都说自己是最好的。最终 TPC 组织站了出来,制定了 TPC-C、TPC-H 等一系列测试标准,并且采用第三方的专业的审计机构,进行严格的审计。TPC 组织使得不同的商业数据库公司能够获得一个公平的、竞技的舞台,大家良性竞争共同促进。

分布式数据库-关系数据库的未来

我坚定认为关系数据库的未来一定是分布式数据库。为什么这么坚信?因为分布式数据库能够完全兼容集中式数据库的使用方法,包括关系模型、事务处理模型和 SQL 标准,并且融合分布式云原生的先进技术,从而充分享受到分布式的技术红利,包括高可用、可扩展、低成本、智能等等。

分布式数据库和集中式数据库的关系,有点像当年的汽车与马车,汽车刚出现的时候它并没有马车那么好用,但是我们都知道,随着时代的发展,汽车是一定会逐步替代马车的。分布式数据库也是一样,因为分布式数据库能够完全兼容集中式数据库,包含集中式数据库的能力,并且具备更好的扩展能力。所以,分布式数据库未来也一定能够替代集中式数据库。

企业级分布式数据库 OceanBase

刚刚提到我们坚信分布式数据库的时代正在到来,接下来为大家介绍我们打造的这款企业级分布式数据库——OceanBase。

OceanBase 是一个透明可扩展的企业级数据库,底层是一个原生的分布式架构,这样的设计,可以让使用者充分享受到分布式技术的技术红利,包括:

高可用:RPO = 0,RTO < 30秒,最高支持三地五中心部署,这也就意味着,当一台服务器、一个机房甚至一个城市发生故障的时候,OceanBase 都能够在 30s 内恢复,完全不丢数据;

透明扩展:完备的分布式事务、分布式查询、全局二级索引和全局一致性支持;

全球唯一通过 TPC-C 测试审计的分布式数据库,事务处理性能达到 7.07 亿 tpmC,比竞品高一个数量级;

从使用者的角度来看,OceanBase 兼容传统的企业级数据库,兼容 MySQL/Oracle的语法、企业级功能,具备与 Oracle 对标的高效处理混合负载的能力。OceanBase 已经支撑蚂蚁集团&网商银行所有核心业务的100%流量,支撑银行、保险、证券、运营商、公共事业等多个关系到国计民生的行业的重要客户的核心系统。

刚刚提到,OceanBase 诞生于2010 年,立项之初,我们的目标是做出一个原生的分布式数据库,业界并没有参考方案,这样的背景成就了 OceanBase 从0到1,100%自主研发。2010 年到 2014 年,OceanBase 在阿里巴巴的电商平台应用推广,服务了几十个电商平台的业务系统。2014 年,OceanBase 支撑了当年双 11 的峰值,这也实现了 OceanBase 核心交易类场景的 0 的突破。

34.jpg

接下来的 3 年时间, 支付宝包括交易、支付、账务会员在内的所有的核心业务都是使用 OceanBase。

2017 年,OceanBase 第一次走出阿里巴巴,走出蚂蚁集团,开始对外商业化,南京银行是第一家运行在 OceanBase 上的外部客户。

2019 年,OceanBase 第一次参加 TPC-C 测试,取得 6088万 tpmc 的成绩,打破了原先的世界记录。

2020 年,OceanBase 再次参加 TPC-C 测试,取得了 7.07 亿 tpmc 的成绩。同年,OceanBase 正式进行独立公司化运作,成立北京奥星贝斯科技有限公司,致力于分布式关系数据库 OceanBase 的设计、研发、销售、服务等,助力客户实现分布式架构转型。

以上就是数据库历史的简单介绍以及 OceanBase 诞生的历史。

OceanBase 大力布道分布式数据库技术

作为全球唯一经过大规模金融场景长时间考验的分布式关系数据库,OceanBase 在技术领域不断深耕的同时,也十分注重推动开发者生态的发展。OceanBase CEO 杨冰表示,“我们始终坚定地相信分布式数据库就是未来的主流。OceanBase 有着十余年的专业技术积累,正在不断通过自身实践来加速新的数据库生态的建立,以帮助开发者更好地成长,也帮助 DBA 实现转型,培养更多的分布式数据库人才。”

2020 年 8 月上线开发者线上社区,OceanBase 技术团队首次集中展示分布式数据库技术干货。同时积极推动线下的技术布道,延续去年的全国巡回技术论坛,今年 9 月 20 日在上海举办以“深入分布式数据库:事务·高可用·云原生”为主题的 Meetup,吸引了上百位开发者现场参与,超过四千人观看直播,并引发热烈探讨。

10 月,OceanBase 团队发起 OceanBaseDev 社群,旨在建立并维系一个面向分布式数据库技术的社群,为关注分布式数据库技术的爱好者们提供技术交流、分享、探讨的空间。OceanBaseDev 将继续大力推动线上线下的技术分享、邀请业界大牛来一同切磋,当然,创造更多的玩法也是我们想做的。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
5月前
|
存储 关系型数据库 MySQL
【赵渝强老师】OceanBase数据库从零开始:MySQL模式
《OceanBase数据库从零开始:MySQL模式》是一门包含11章的课程,涵盖OceanBase分布式数据库的核心内容。从体系架构、安装部署到租户管理、用户安全,再到数据库对象操作、事务与锁机制,以及应用程序开发、备份恢复、数据迁移等方面进行详细讲解。此外,还涉及连接路由管理和监控诊断等高级主题,帮助学员全面掌握OceanBase数据库的使用与管理。
291 5
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
1127 0
|
9月前
|
SQL 存储 监控
obdiag:一款OceanBase 数据库诊断的利器
本次分享的主题是obdiag:一款 OceanBase 数据库诊断的利器,由蚂蚁集团 OceanBase 技术专家汤庆分享。主要分为四个部分: 1. OceanBase 概述 2. Obdiag 项目价值 3. Obdiag 设计与实现 4. Obdiag 未来规划
254 14
|
SQL 存储 人工智能
OceanBase CTO杨传辉谈AI时代下数据库技术的创新演进路径!
在「DATA+AI」见解论坛上,OceanBase CTO杨传辉先生分享了AI与数据库技术融合的最新进展。他探讨了AI如何助力数据库技术演进,并介绍了OceanBase一体化数据库的创新。OceanBase通过单机分布式一体化架构,实现了从小规模到大规模的无缝扩展,具备高可用性和高效的数据处理能力。此外,OceanBase还实现了交易处理、分析和AI的一体化,大幅提升了系统的灵活性和性能。杨传辉强调,OceanBase的目标是成为一套能满足80%工作负载需求的系统,推动AI技术在各行各业的广泛应用。关注我们,深入了解AI与大数据的未来!
OceanBase CTO杨传辉谈AI时代下数据库技术的创新演进路径!
|
Oracle 关系型数据库 MySQL
OceanBase 与传统数据库的对比
【8月更文第31天】随着云计算和大数据技术的发展,分布式数据库因其高扩展性、高可用性和高性能而逐渐成为企业和开发者关注的焦点。在众多分布式数据库解决方案中,OceanBase作为一个由阿里巴巴集团自主研发的分布式数据库系统,以其独特的架构设计和卓越的性能表现脱颖而出。本文将深入探讨OceanBase与其他常见关系型数据库管理系统(如MySQL、Oracle)之间的关键差异,并通过具体的代码示例来展示这些差异。
1228 1
|
关系型数据库 OLAP 分布式数据库
揭秘Polardb与OceanBase:从OLTP到OLAP,你的业务选对数据库了吗?热点技术对比,激发你的选择好奇心!
【8月更文挑战第22天】在数据库领域,阿里巴巴的Polardb与OceanBase各具特色。Polardb采用共享存储架构,分离计算与存储,适配高并发OLTP场景,如电商交易;OceanBase利用灵活的分布式架构,优化数据分布与处理,擅长OLAP分析及大规模数据管理。选择时需考量业务特性——Polardb适合事务密集型应用,而OceanBase则为数据分析提供强大支持。
3948 2
|
SQL DataWorks 关系型数据库
DataWorks操作报错合集之如何处理在DI节点同步到OceanBase数据库时,出现SQLException: Not supported feature or function
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
377 0
|
1月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
76 3
|
1月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
28天前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。

热门文章

最新文章

推荐镜像

更多