6

阿里云李飞飞:数据库发展的几个重要趋势

 3 years ago
source link: http://www.tmtpost.com/4926143.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

J3qmqie.jpg!mobile

图片来源@视觉中国

文 | 阿里云,分享 | 李飞飞(阿里巴巴集团副总裁)

上世纪80年代初,数据库系统逐步走上信息技术舞台的中央,2000年开始大数据技术兴起,再到2010年后云计算热度持续升温。技术的进程走到了今天这个奇妙的节点,看向未来,有几个趋势可能会发生。

仅以此文,分享一些浅见和实践。

三段交叉的技术史

过去40年,数据库系统、大数据和云计算三项技术交替兴起。

首先是数据库系统,成型于上个世纪80年代,是计算机领域三大基础软件系统之一。早期的关系型数据库以甲骨文数据库为代表,取得了巨大的商业成功。后来出现了MySQL、PostgreSQL等开源的关系型数据库。

90年代,随着关系型数据库的广泛应用,产生了大量的数据,分析这些结构化的数据对分析型的数据库系统提出了很高的要求,因而在90年代涌现出了一批分析型数据库系统。

世纪更迭,2000年到2010年,大数据技术走上历史舞台的时代。大数据技术诞生的原因有以下两方面:

一是大数据的产生。随着以谷歌为代表的互联网公司的发展,产生了大量数据。

二是获取、处理、分析数据的方式不一样。比如说银行最简单的交易、转账,对隔离、一致性、持久性有非常严格的要求。大数据不一样,单一数据对最终结果没有特别影响。这种应用场景和传统的联机交易关系型数据库完全不同。

于是,大数据系统应运而生,谷歌发表了耳熟能详的分布式文件系统、分布式表格存储、MapReduce三大论文,奠定了今天大数据的整个技术生态圈的基石。

2010年后,另一个趋势是云计算的热度逐渐升温。云计算的本质就是利用分布式技术将资源高效池化,而对应用做到透明的集中式部署。

把云计算、数据库、以及大数据发展结合起来看,数据系统本质上就是对数据从生产、处理、消费、存储的一个全链路的过程。

云计算对数据处理系统产生了非常大的影响:

第一,  云原生技术在数据处理系统深入的应用;

第二,  传统的关系型数据库和传统大数据生态正在快速发生融合。

业界发展的趋势,是资源的池化,资源解耦,以云原生、分布式的技术为基础,打造下一代的数据处理系统。举例来说,阿里云数据库之所以能够支撑双11,也是在不断实践基于这些理念的思考。

fEz2MfY.jpg!mobile

以双11为例,第一张图是历年双11的零点交易峰值的曲线,最新的2020年双11的零点的峰值是58万笔/秒。每一笔交易还会有一个拆单的动作,到数据库系统就是每秒几百万TPS。

第二张图是系统零点负载的瞬间变化曲线,一秒钟时间内系统负载瞬间爆发了145倍。如果不是利用云原生的技术,简单依赖传统技术根本无法满足这种高并发、弹性、高可用的要求。

几个重要趋势

从架构的角度来看,数据库系统的变化如下图所示:

jymYFnz.jpg!mobile

左边是传统的冯诺依曼架构;右边是分布式架构;中间是云原生的架构,背后大量利用了分布式技术。这种资源池化带来的弹性、高可用的能力显而易见。

这是今天三种不同的架构,有以下几个趋势:

  1. l  大数据和数据库一体化;
  2. l  云原生和分布式技术结合;
  3. l  智能化;
  4. l  多模数据处理;
  5. l  软硬件一体化:例如,利用高速网络等来提升数据处理系统的性能和效率;
  6. l  安全可信:例如,如何确保数据不可更改。 

结合阿里云数据库的核心技术,把以上背景、趋势实例化:

  • 云原生关系型数据库PolarDB 

PolarDB的每个数据块分成三个物理节点,不用关心分布式带来的挑战,比如分库分表、分布式的查询,对应用完全透明,读写一份数据,做到了分布式技术透明化、集中式部署。

PolarDB是阿里云自研的云原生数据库,创新采用存储与计算架构分离设计,能在分钟级别部署一个新的计算节点、或者扩容存储节点。同时,在性能上做了大量的优化,非常好地兼容了生态,比如100%兼容MySQL和PostgreSQL,高度兼容Oracle。

在实际的客户案例里,利用PolarDB Oracle兼容版替换现有的Oracle,在性能一样的前提下,整体成本不到原来的三分之一。

除了云原生的架构,也有分布式架构版的PolarDB-X。在每个分区里面做这种三节点的架构,同时三节点利用协议做数据的一致性保障,而且三节点可以做到同城跨AZ部署。

  •  一体化设计是下一代数据分析系统的核心理念 

下一代的系统,是将云原生技术和分布式技术合二为一:上面是分布式,而下面是云原生的方式实现,每个分区都可以享受云原生带来弹性、高可用的能力,同时上面有分布式带来的水平拓展的能力,解决高并发可能带来的瓶颈问题。

  • 云原生数据仓库ADB

云原生的数据仓库本质上也是云原生的架构,存储池化、计算池化、存储计算分离,同时实现海量存储弹性,轻量化部署。

利用这些技术实现数据处理和计算分析的离在线一体化,数据库与大数据一体化。如同现实生活中的仓库,所有物品要分门别类放好,所以数据仓库比较适合已经范式化的数据格式、业务类型比较固定的场景,性价比非常高。

在云原生数仓方面,我们也利用这套架构研发了AnalyticDB(ADB)支持了淘宝天猫对实时交易数据进行在线交互式分析和计算的需求,同时支持复杂的离线ETL与在线分析的融合。

  • 数据湖

数据湖,“湖底”的数据参差不齐,“湖面”却是平的。不同于数据仓库,数据湖的存储是多源异构的,只需要有一个统一的界面对这些数据进行分析、处理。

以阿里云的云原生Serverless数据湖解决方案DLA为例,基于对象存储,对多源异构的数据存储进行统一的计算和分析,利用云原生的Serverless技术可以用非常低成本的实现弹性高可用的能力,并且满足安全性的要求。

  • 多模、智能化和安全可信

在管控这一层实现异常检测、安全诊断,通过K8S这套编排技术,把多源异构的资源管理起来,打造智能化的运维管控平台。

我们做了全加密的数据库,数据进入内核以后不需要解密。利用安全硬件技术做了全加密的流程和保护,实现了不解密也能进行数据加工和处理。

数据业务的多样化带来了除了结构化数据之外的多模数据,例如文本、时序、图片、图数据等非结构化数据。针对多模数据,我们设计研发了基于云原生架构的多模数据库Lindorm以及云原生内存数据库Tair来支持多模数据处理。

最后是生态工具,从传输、备份到管理。传输采用DTS,做端到端数据的同步,用DBS数据备份做多云多端的逻辑备份、物理备份,DMS做企业级的开发建模流程, ADAM做针对基于传统数据库和数据仓库开发的应用评估和迁移。

今年疫情期间,各行各业有一个非常大的变化——传统的离线业务和在线业务在快速融合,线上线下的边界越来越模糊。

这带来的挑战是,业务波峰波谷的变化越来越剧烈。这是疫情带来的必然变化,数字化的转型也是一个必然发生的事实。在这种背景下,云原生数据库、云原生数仓等产品,将会服务越来越多“线上线下边界模糊”的各行各业。

【钛媒体作者简介:李飞飞,现任阿里巴巴集团副总裁、高级研究员,阿里云智能数据库事业部总负责人。美国计算机协会ACM杰出科学家,加入阿里巴巴之前为美国犹他大学计算机系终身教授。】


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK