李飞飞在阿里云分享:数据库发展的新趋势

发表时间: 2021-01-10 15:36

本文作者:李飞飞,阿里巴巴集团副总裁、高级研究员,阿里云智能数据库事业部总负责人

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

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

三段交叉的技术史

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

几个重要趋势

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

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

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

大数据和数据库一体化

云原生和分布式技术结合

智能化

多模数据处理

软硬件一体化:例如,利用高速网络等来提升数据处理系统的性能和效率

安全可信:例如,如何确保数据不可更改

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

1 云原生关系型数据库PolarDB

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

PolarDB的存储与计算架构分离,能在分钟级别部署一个新的计算节点,或者扩容存储节点。同时,在性能上做了大量的优化,非常好地兼容了生态,比如100%兼容MySQL和PostgreSQL,高度兼容Oracle。

其性价比在商业数据库中有非常大的竞争优势,在实际的客户案例里,利用PolarDB Oracle兼容版替换现有的Oracle,在性能一样的前提下,整体成本不到原来的三分之一。

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

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

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

3 云原生数据仓库AnalyticDB

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

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

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

4 数据湖

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

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

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

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

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

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

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

今年疫情期间,各行各业有一个非常大的变化——传统的离线业务和在线业务在快速融合,线上线下的边界越来越模糊。这带来的挑战是,业务波峰波谷的变化越来越剧烈。这是疫情带来的必然变化,数字化的转型也是一个必然发生的事实。

这种背景下,阿里云原生数据库PolarDB、云原生数据仓库AnalyticDB,不仅支持了双11,更在疫情期间服务了各行各业,尤其是在线教育、游戏等传统的线上线下边界越来越模糊的行业。

(雷锋网雷锋网雷锋网)