阳振坤:分布式技术引领关系数据库发展

简介: 近日,HI COOL 全球创业者峰会在北京召开,OceanBase 创始人兼首席科学家阳振坤受邀出席了本次大会,并发表了《阳振坤:分布式技术引领关系数据库发展》的主题演讲,分享了全球主流关系型数据库发展的几个重要阶段以及对分布式数据库的畅想。以下为分享实录:从 1969 年 IBM 研究员 E.F.Codd 博士提出了“关系模型”以来,整个数据库行业开始进入关系数据库的时代。经过了几十年的发展,关系数据库成为了整个社会的关键信息基础设施,今天,我们所有的生活,不管是交通、通讯、商业,还是其他,基本都建立在关系数据库的基础之上。

image.png

关系数据库之所以成为今天信息社会的基础设施,是因为它提供的记账、转账和算账等的功能以及这些功能的事务属性,即事务的 ACID:原子性、一致性、隔离性和持久性。这些能力为商业、政务、互联网等等提供了很大的便利。

image.png

与此同时,信息社会基础设施的角色,也对关系数据库的系统稳定性、数据正确性、服务可靠性等提出了很高的要求,再加上关系数据库本身的复杂性和技术挑战,因此研制一个可在生产中使用的关系数据库门槛非常高、难度非常大。

image.png

今天最主流的关系数据库都是集中式的,尽管支撑了当今整个信息社会,但集中式数据库面临了很大的挑战。


第一, 难以扩展。集中式本质上其实是个单机系统,它依赖单一的共享存储。


第二,成本高昂。因为整个系统的可靠性、稳定性以及性能都建立在单个硬件的可靠性、稳定性和性能的基础上,这使得成本居高不下。


互联网时代的到来让这个问题变得更加严重,在互联网时代之前,比方说商场或银行或酒店柜台,不管有多少顾客,这些柜台的数量是稳定、确定的,此时整个系统只要按照最大的操作员数量来进行设计、测试,系统就能很好的工作,不管有多少人排队,系统的最大流量都不会超过设计流量。


到了互联网时代,每个人、每部手机都成了一个操作员,整个业务的流量,增长了 100 倍、1000 倍甚至是更多,并且业务流量在短时间内还可能迅速增加或降低,此时如果还按照最大的流量来搭建系统,可能要搭建一个几亿个操作员的流量的系统,甚至更大。


不止如此,访问量、并发量的激增还带来了数据量的巨大增长,企业需要对这些数据进行分析处理(即算账),但这个数据量已经远远超出了单个集中式数据库的存储容量。对于交易处理,人们还可以对业务做拆分,把业务拆小,让每个拆小后的业务可以运行在一个单机数据库上,就像人员和轻型装备可以分开用多架小飞机进行空运一样。但是,当人们要对这些海量数据进行分析处理的时候,就必须有一个容量足够大的数据库,就像一些重型装备,比如坦克、大炮等,无法拆小后用小飞机空运,而必须有大飞机才行。对于数据库,这种大飞机就是分布式数据库。

image.png

过去的几十年来,学术界讲 “One Size doesn't Fit all ”,一个尺寸不能适合所有人。但是,从企业家的角度来看是另外一回事,因为企业期望一个系统可以解决其业务问题,这样能让企业把更多精力放到业务上。

也许有人说,并不是什么场合都需要像“大飞机”这样的大数据库,分布式数据库只有大企业或者至少大中型企业才需要。事实上,大、中型企业肯定用得到分布式数据库,但是小微企业依然能够从分布式数据库中间受益。

image.png

以上图这个企业的业务曲线为例,很多时间业务量都在一个比较低的水位上,只有某些时段在一个较高的水位上,这也是几乎所有企业的业务特征。


今天的服务器的计算和存储能力越来越强悍,根据这个企业的最高业务流量来配置一台高性能的数据库服务器,确实就可以支撑这个企业的业务,但是这有很大的浪费。因为在大多数时候,服务器的处理能力没有得到充分发挥。采用分布式数据库,可以有另外一个思路,平时它的数据库是一台配置比较低的虚拟机服务器,如果业务流量增加了,利用分布式的能力随时增加虚拟服务器,业务流量更大时,虚拟服务器数量还可以再进一步增加,当业务高峰过了以后,这些虚拟服务器就可以逐步减掉,这样大幅度降低了企业成本。


image.png

关系数据库的研制十分困难,分布式关系数据库的研制更加困难,分布式关系数据库是否可行?这儿我们一起看两个现实中的例子。一个是 Google 的 Spanner,可能很多人了解它是从分布式存储直接跨到分布式数据库的;另一个是中国的 OceanBase 数据库,是从半分布式数据库到高可用数据库再到分布式关系数据库,虽然两者的技术路径不一样,但是结果是殊途同归。


我的汇报就到这里,谢谢大家。

相关文章
|
18天前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
17天前
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
66 0
|
4天前
|
人工智能 Kubernetes Cloud Native
深度对话 解锁阿里云分布式云原生技术落地新姿势
深度对话 解锁阿里云分布式云原生技术落地新姿势
深度对话 解锁阿里云分布式云原生技术落地新姿势
|
17天前
|
SQL Java 关系型数据库
探索Java数据库连接的奥秘:JDBC技术全攻略
探索Java数据库连接的奥秘:JDBC技术全攻略
38 8
|
23天前
|
存储 缓存 负载均衡
【PolarDB-X 技术揭秘】Lizard B+tree:揭秘分布式数据库索引优化的终极奥秘!
【8月更文挑战第25天】PolarDB-X是阿里云的一款分布式数据库产品,其核心组件Lizard B+tree针对分布式环境优化,解决了传统B+tree面临的数据分片与跨节点查询等问题。Lizard B+tree通过一致性哈希实现数据分片,确保分布式一致性;智能分区实现了负载均衡;高效的搜索算法与缓存机制降低了查询延迟;副本机制确保了系统的高可用性。此外,PolarDB-X通过自适应分支因子、缓存优化、异步写入、数据压缩和智能分片等策略进一步提升了Lizard B+tree的性能,使其能够在分布式环境下提供高性能的索引服务。这些优化不仅提高了查询速度,还确保了系统的稳定性和可靠性。
50 5
|
24天前
|
Cloud Native 数据库 开发者
云原生数据库2.0问题之帮助阿里云数据库加速技术更新如何解决
云原生数据库2.0问题之帮助阿里云数据库加速技术更新如何解决
|
4天前
|
存储 负载均衡 数据库
探索后端技术:从服务器架构到数据库优化的实践之旅
在当今数字化时代,后端技术作为支撑网站和应用运行的核心,扮演着至关重要的角色。本文将带领读者深入后端技术的两大关键领域——服务器架构和数据库优化,通过实践案例揭示其背后的原理与技巧。无论是对于初学者还是经验丰富的开发者,这篇文章都将提供宝贵的见解和实用的知识,帮助读者在后端开发的道路上更进一步。
|
4天前
|
SQL 关系型数据库 MySQL
MySQL技术安装配置、数据库与表的设计、数据操作解析
MySQL,作为最流行的关系型数据库管理系统之一,在WEB应用领域中占据着举足轻重的地位。本文将从MySQL的基本概念、安装配置、数据库与表的设计、数据操作解析,并通过具体的代码示例展示如何在实际项目中应用MySQL。
17 0
|
11天前
|
关系型数据库 Java MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【9月更文挑战第6天】在Linux环境下安装JDK 1.8、Tomcat和MariaDB是搭建Java Web应用的关键步骤。本文详细介绍了使用apt-get安装OpenJDK 1.8、下载并配置Tomcat,以及安装和安全设置MariaDB(MySQL的开源分支)的方法。通过这些步骤,您可以快速构建一个稳定、高效的开发和部署环境,并验证各组件是否正确安装和运行。这为您的Java Web应用提供了一个坚实的基础。
26 0