报告笔记-数据库的发展趋势

36 views

在线上聆听了2021年计算机体系结构重点实验室高峰论坛关于数据库的报告之后,决定写点什么记录一下。

德彪嘻嘻

云计算加速数据库系统推进

所有的应用都与数据相关,几乎都是对数据进行操作,然后进行数据的展示。数据库作为数据存储、处理的工具,已经成为应用中不可或缺的一部分。

在数据库系统日趋成熟的今天,数据库系统的未来发展趋势为何?

总的来说可以分为下面两点:

  • 计算与存储分离
  • 百家争鸣到大一统
云计算加速数据库系统演进

如何做到计算与存储分离?基本的思路就是使用云计算技术,将计算资源与存储资源进行虚拟化,从而进行分离。然而在资源虚拟化过程中,不可以避免的会碰到效率较低的问题。同时,分离的计算与存储通过何种方式组合起来来高效的运转业务也是一个问题。

从百家争鸣到大一统,只需要有各取百家之长。但是不同数据库针对的业务场景不同,数据格式不同,数据库系统计算方式和存储方式也不同,统一的过程中要解决这些问题。


计算与存储分离

前面说到,资源虚拟化之后效率低较低及如何将分离的计算与存储组合是计算与存储分离的两个挑战。那么如何解决这两个挑战。

针对资源虚拟化之后效率比较低的问题,只能通过软件及硬件的方式来提高计算和存储能力。

如何提高计算能力?

  • 内存计算
  • GPU加速
  • 硬件指令集及编译上的优化

其实这些和传统的并行计算加速没有本质上的区别,只不过是应用于数据库系统当中而已。而且,计算能力本来就已经很强了,计算所需要较长时间的原因其实主要还是数据搬运所用的时间。

对于存储资源效率比较低的问题,主要通过下面的方式:

  • RDMA, 通过高速以太网的方式进行内存共享。在网络状态比较好的情况下,可以媲美内存的读取速度。
  • ESSD,固态硬盘。

效率比较低,提高效率。那么将分离的计算与存储组织起来就是下一个要解决的难题了。其实,这是分布式系统中的老问题了。

如果你是单机系统,那非常好控制,哪里有冲突就加锁。

但是如果通过网络连接的多机,那么基本上可以分为这两种结构:

  • 一个master 多个worker (有老板)
  • 大家都是master和worker (没老板或者人人都是老板)

有老板的好处是:老板可以解决冲突,但是坏处是老板跑路了,公司就倒闭了,还有和老板沟通需要比较高的成本。

没老板的好处是:沟通成本低,扁平架构,不会因为某个人跑路了,公司就倒闭了。但是坏处是:解决冲突的效率比较低,可能需要大家开一个仲裁会议,这样的仲裁会议又臭又长,相信大家都不想开。

聪明的人两个都想要,那就做加法。做成一个集团,一个集团下面有很多小公司,每个小公司都有一个小老板。不同小公司之间的冲突通过董事会解决。资本家果然都很会玩,提高个体劳动效率的同时,又充分减少了管理成本。

下一代的分布式数据库架构可能采用的就是集团的模式了。




百家争鸣到大一统

不同于秦始皇统一六国,数据库系统要做到大一统不能书同文,车同轨。毕竟你不能改变用户多样的需求,你只能去满足用户多样的需求。

Polarrdb架构

Polardb的架构是这样的。作为现有商业数据库的升级版本可以是这样的,但是如果要大一统的话,估计还要和具体的业务结合起来。比如提供推荐、预测、机器学习等方面的支持。

从上述架构来看,对一些比较高级的业务的支持还是不够的,毕竟“SQL is all”在复杂的矩阵计算与深度学习数以百万级的参数面前稍显无力。

对于大一统方面,Polardb所迈出的第一步在于底层对于多种数据存储方式的支持。比如,polardb不仅支持行存储,也支持列存储。行存储的方式有利于业务上的逻辑处理,列存储的方式有利于机器学习、推荐这些数据类应用的数据读取。


整场关于数据库未来的报告就听到了这里,些许所得,以此篇博客的方式记录下来,可能有点浅薄,言尽于此。

Rating: 5.0/5. From 3 votes.
Please wait...