OceanBase开发者大会实录 - 阳振坤:云时代的数据库

ops/2024/9/22 23:50:15/

本文来自2024 OceanBase开发者大会,OceanBase 首席科学家阳振坤的演讲实录——《云时代的数据库》。完整视频回看,请点击这里 >> 

1713958126

在去年的开发者大会中,我跟大家分享了我对数据库产品和技术一些看法,包括单机分布式一体化,事务与分析处理一体化,还有公有云与私有云服务。今年,我把视角聚焦到数据库的云服务,与大家分享我对云上数据库的几点看法。

这第一张 PPT 其实去年就有的,今年的内容跟去年差不多。关于云上数据库,有两个部分要关注,一个是数据库,一个是云,让我们从数据库开始。

1713958328

大家知道数据库要做事务处理,要做分析处理,是当今整个社会的基础设施的基础设施。数据库又是这么复杂,这使得一个数据库,尤其事务处理数据库,成长起来非常困难,需要有大量业务长时间打磨。直白地说,数据库的成长需要大量业务做“小白鼠”,可没有一个业务愿意做数据库的“小白鼠”。

这张 PPT 可以看得到,数据库从诞生到今天,主流的数据库是一只手都能数得过的数量。很多人会问一个问题,既然数据库这么难成长起来,那么这些数据库他们是怎么成长起来的?

1980 年代诞生了一批的商业数据库,那时候的数据库连事务都还没有,稳定性和可靠性也都不好,用户没有更好的选择。现在的这几个主流商业数据库,它们是伴随着整个产业一起成长起来的。

到了 90 年代,一些人觉得商业数据库太贵了,希望能够做一些让大家都用得起的数据库,所以出来了开源数据库。这两个开源数据库在市场上经过了十多年时间的打磨,从边缘业务到中心一点的业务,再到更重要一点的业务,逐步稳定、逐步成熟和逐步成长起来的。

之后,直到今天,再也没有新的数据库能成长起来。数据库还有希望吗?1990 年代出现的互联网,由于其极大的并发、海量的数据,以及对性价比的更高需求,既对数据库带来了很大的挑战,也给数据库带来了新的需求和新的机会。

我们可以看到,互联网出现之后全球出现了不少新的数据库,尽管没有一个像前面说到的那几个数据库那么普及、那么流行。

如果把它们分分类,大家能看得到这些系统一些典型的特点,就是容量可以几乎不受限制,处理能力可以不受限制。

1713958351

但是它们都缺少一个关键的特性,就是事务处理的能力。有的系统号称能处理事务,但是如果你问它在什么生产环节里得到过考验,你就发现没有。事务处理真正在生产系统里得到考验的仍然只有关系数据库

一些人说,今天单机处理能力那么强,磁盘容量那么大,对绝大部分用户单机数据库就够用了。然而,越高配的计算机,其性价比肯定是越不好的。在云上,如果允许单个虚拟机可以扩容到很高的配置,对应的物理机的计算资源的复用和超卖就受到更多的限制,否则扩容的成功率就会很低,因此经济上越不合算。所以真正能够让数据库处理能力自由伸缩的,还是原生数据库>分布式数据库

曾经有用户问我,分库分表他们告诉我自己是分布式,你们也告诉我自己是分布式,这两个有什么差别?我说这是大飞机和小飞机的差别,大飞机是一架飞机,小飞机是多架飞机。小飞机可以运人,可以运轻武器,但是重武器、重设备只有大飞机才能运输,多架小飞机也无法运输。

1713958400

现在让我们看看云。云根本的特点是资源池化、共享和复用。很多人知道,在几乎所有的企业生产系统里,计算机资源利用率很低,比如 CPU 的利用率,大部分是个位数,比如 3%~5%,因此这些机器大部分的计算资源浪费掉了。

云做了什么?云把它们集中起来,通过复用把这些 CPU 利用率提高。大家想想,如果你的 CPU 利用率 5%,云上做到 30%,相当于用一份资金买了六倍的设备,经济效益是非常可观的。

1713958417

云同样实现了对人的复用,一两百人的企业要雇一个 DBA,这个成本其实非常高,而且 DBA 没有成长空间,因为企业业务小。但是,云上一个优秀 DBA 可以支持几十个企业,甚至更多,他有足够大的业务量和成长空间,他的成本也被这么多企业分摊了,人本身的资源得到共享和复用。

云还有很多好处,比如计算和存储等资源随时可用,按使用付费,不需要自己买设备、自己运维等。

云上的数据库,除了事务处理、分析处理,还要支持各种的模态数据,例如半结构化数据,乃至非结构化数据等。

更重要的一点,云上数据库也是云的一部分,所以资源共享和复用至关重要。我相信在不久的将来,云上数据库能做到计算和存储都随时按需使用和付费,比如:

1713958437

○   一个用户的数据量很大,但是计算量很小,可能需要一个PB的存储却只要一个CPU 核。可以,没问题。

○   或者反过来,一个用户计算量很大,但是数据量不大,要 10 万甚至 100 万 CPU 核,却只有几十 GB 数据。可以,没问题。

这样就是把云上数据库的计算能力、存储能力都池化,让它们得到共享和复用,就像云上其他资源一样。

这就是我跟大家分享的内容,谢谢大家!


http://www.ppmy.cn/ops/28125.html

相关文章

实验七 SJK数据库定义与操纵

实验题目 实验七 SJK数据库定义与操纵 实验时间 2023.5.17 实验地点 软件工程基础实验室 实验课时 2 实验目的 ​了解并掌握数据库定义与操纵的知识并能熟练应用 实验要求 ​熟练掌握和使用PL-SQL建立数据库基本表,使用PL/SQL developer操作数据库&a…

C++:string类(第一章)

hello,各位小伙伴,本篇文章跟大家一起学习《C:string类》,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 如果本篇文章对你有帮助,还请各位点点赞!!…

前端高并发的出现场景及解决方法——技能提升——p-limit的使用

最近在写后台管理系统的时候,遇到一个场景,就是打印的页面需要根据传入的多个id,分别去请求详情接口。 比如id有10个,则需要调用10次详情接口获取到数据,最后对所有的数据进行整合后页面渲染。 相信大家或多或少都遇到…

Grafana页面嵌入自建Web应用页面

目录 一、应用场景 二、实现方式 1、修改Grafana配置文件 2、获取监控页面url 3、隐藏左侧和顶部菜单 一、应用场景 需要将Grafana监控页面嵌入自建Web应用页面,使Grafana监控页面成为自建Web应用的一部分。 二、实现方式 总体思路:修改Grafana配…

Windows系统下安装Mosquitto的步骤(4)

接前一篇文章:Windows系统下安装Mosquitto的步骤(3) 本文内容参考: Windows下搭建MQTT服务器_mqtt服务器软件-CSDN博客 特此致谢! 上一回讲解了Mosquitto的配置,经过配置步骤后,大的功能有了并…

基于ssm+vue+Mysql的药源购物网站

开发语言:Java框架:ssmJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.…

Xcode安装与配置

Xcode的安装步骤通常包括从Mac App Store下载Xcode、安装Xcode、启动并配置Xcode等。具体如下: 下载安装:前往Mac App Store,搜索Xcode并下载。由于Xcode体积较大,下载可能需要一些时间。安装:下载完成后,…

MATLAB初学者入门(30)—— 数据库开发

在MATLAB中实现数据库开发涉及连接数据库、执行SQL查询、处理查询结果以及将数据用于分析和可视化。MATLAB提供了数据库工具箱,该工具箱支持与多种数据库系统的连接,包括但不限于MySQL、Oracle、SQL Server、PostgreSQL等。 案例分析:使用MA…