李飞飞:云原生分布式数据库面临哪些机遇与挑战?

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 12月3日,由阿里云CIO学院主办的【2020中国企业数字创新峰会】在杭州举行。400位企业CEO、CTO、CIO齐聚一堂,共同探讨企业数字化转型经验。阿里巴巴集团副总裁、达摩院数据库首席科学家李飞飞发表了题为《云原生分布式数据库系统——挑战与机遇》的演讲,探讨云原生数据库的价值和商业应用。

image.png

作者 | 朱宗鹏 左延鹊
来源 | 阿里技术公众号

一 背景与趋势

image.png

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

首先我们看一下云计算的发展给数据库系统带来了哪些变化?数据库系统是计算机领域三大基础软件系统之一,操作系统、编译系统、数据库系统。上世纪80年代初,数据库系统开始走上了历史舞台,早期的关系型数据库以甲骨文为代表,取得了巨大的商业成功。后来出现了开源的关系型数据库,比如MySQL、Postgres等。到90年代,随着关系型数据库的广泛应用,产生了大量的数据,分析这些结构化的数据对分析型的数据库系统提出了很高的要求。这就是为什么在90年代涌现出了一批分析型数据库系统。世纪更迭,2000年到2010年左右的这段时间是大数据技术走上历史舞台的时代。

image.png

数据仓库加速从BigData向Cloud-Native+FastData演进

大数据技术之所以会诞生,其原因可以总结为两个方面:

  • 大数据的产生。随着互联网技术的蓬勃发展,尤其是以谷歌为代表的互联网公司,产生了大量的数据。谷歌做搜索推荐引擎,最核心的是不断的爬取全世界所有的网页,动态地对这些网页之间的关联关系进行分析、处理。
  • 获取、处理、分析数据的方式不一样。比如说银行最简单的交易、转账,对隔离、一致性、持久性都有非常严格的要求。大数据就不一样,做搜索引擎,少爬一个网页,或者计算的时候没有把这个网页的影响算进去,对最终的搜索结果会有一点影响,但不是特别重要。所以,这种应用场景和传统的联机交易关系型数据库里面的强要求是完全不同的。

这时候大数据系统就出现了,谷歌发表了耳熟能详的分布式文件系统、分布式表格存储、MapReduce三大论文,这奠定了今天大数据的整个技术生态圈的基石。从2010年往后,我们又看到另外一个趋势,就是云计算的热度在这个时候逐渐升温,对我们的数据处理系统产生了一个非常大的影响。我们看到云原生技术在数据处理系统深入的应用,我们看到传统的关系型数据库和传统大数据生态正在快速发生融合。

每个人都在讲云计算,如何深入理解云计算这个概念呢?今天整个计算机领域的技术架构是基于60年代诞生的冯诺依曼架构的,其最核心的是两个部分,计算和存储,计算和存储是紧耦合在一起的。从冯诺依曼架构一直到云计算出现之前,所有的计算体系都是基于这样的架构来实现的。比如一台服务器如果CPU资源不够了,要做高并发处理,需要再加一台服务器。可能内存原本已经够用了,但是为了扩容计算资源带来了一定存储空间的浪费。在对IT资源做预算的时候,就需要按照今年接下来的业务的高峰的峰值评估系统容量,不然系统无法支撑业务,但是这样预算成本是浪费的。

这时候云计算出现了,云计算的本质就是利用分布式技术将资源高效池化,而对应用做到透明的集中式部署。

把云计算、数据库、以及大数据发展结合起来看,数据系统本质上就是对数据从生产、处理、消费、存储的一个全链路的过程。可以看到业界发展的趋势,资源的池化,以云原生、分布式的技术为基础,打造下一代的数据处理系统。我们之所以能够支撑双11,也是因为我们在不断的实践基于这些理念的一些思考。

image.png

数据库挑战(双11)

第一张图是我们历年双11的零点交易峰值的曲线,最新的2020年双11的零点的峰值是58万笔/秒。每一笔交易还会有一个拆单的动作,到数据库系统就是每秒几百万TPS。第二张图是我们系统零点负载的瞬间变化曲线。可以看到在一秒钟时间内系统负载瞬间爆发了145倍。

如果我们不是利用这种云原生的技术,只是简单依赖传统技术,是无法满足这种高并发、弹性、高可用的要求的。

我们阿里云利用这些技术在全球的数据库市场也取得了一些成绩。如今在云数据库这个市场营收份额是亚太第一,世界第三。刚发布的2019年到2020年的市场调查结果表明,我们已经进入了领导者象限,这也是中国的基础软件领域第一次进入领导者象限。最右边是市场份额,也是第一次在线下+线上的模式里面超过了甲骨文。

image.png

全球云数据库市场格局

看一下业界的趋势。甲骨文是大家都知道传统的数据库厂商,它把传统的基于IOE架构快速向云化发展,也是基于云原生的技术。Snowflake这家软件公司近几年发展迅猛,本质上也是做了资源池化、存储池化、存储计算分离。它把一些传统的数据库能力和传统大数据的能力融合在一起,而底下资源池化。此外,还支持多云部署。这是Snowflake成功的几个关键的因素。

image.png

数据库发展趋势 (云原生企业级一体化、数据库大数据一体化)

从架构的角度来讲,数据库系统有哪些变化?最左边就是传统的冯诺依曼架构。最右边是分布式架构。中间就是我们讲的云原生的架构,背后大量的利用了分布式技术。这种资源池化带来的弹性、高可用的能力是显而易见的。

image.png

数据库系统架构演进

这是今天三种不同的架构,我们认为有这么几个趋势:

  • 大数据和数据库一体化的趋势
  • 云原生和分布式技术结合的趋势
  • 智能化的趋势
  • 软硬件一体化,比如利用高速网络等来提升数据处理系统的性能和效率
  • 安全可信,如何确保数据不可更改

这是下一代数据库的几个核心技术:

image.png

下一代企业级数据库关键技术

二 核心技术及产品

1 企业级云原生分布式数据库

下面结合我们的核心技术把这些背景、趋势实例化。

云原生关系型数据库PolarDB
第一个是云原生关系型数据库PolarDB。

image.png

云原生关系型数据库PolarDB

每个数据块也是分成三个物理节点,虽然下面大量使用分布式技术,但是不用关心分布式带来的挑战,比如说分库分表、分布式的查询,因为对应用是完全透明的,读写的是一份数据,做到了集中式部署。另外存储计算分离,在分钟级别部署一个新的计算节点,或者扩容存储节点。同时在性能上做了大量的优化,非常好的兼容了生态,比如说100%兼容PG,高度兼容甲骨文。性价比在商业数据库中有非常好的竞争优势,在实际的客户案例里面,利用PolarDB甲骨文兼容版替换掉现有的甲骨文,在性能一样的前提下,整体成本不到原来的三分之一。

  • 兼容生态

    • 100%兼容 MySQL 5.6, 5.7 and 8.0
    • 100%兼容 PostgreSQL 11
    • 高度兼容Oracle
  • 存储计算分离

    • 5分钟添加只读实例
    • 15分钟Scale Up
  • 智能负载均衡

    • 透明读写分离
  • 自定义应用访问路径
  • 分布式共享存储

    • 100TB存储空间
    • 分钟备份数TB数据
  • 用户态I/O stack + NVM + RDMA

    • 最高6倍社区开源MySQL性能,100万QPS/秒
  • 基于Redo log复制

    • 备库/只读实例数据同步毫秒级延时

云原生分布式数据库PolarDB-X

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

image.png

云原生分布式数据库PolarDB-X

新一代云原生分布式数据库系统

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

image.png

新一代云原生分布式数据库系统

2 云原生数据仓库与数据湖

再看看数据库领域发生的一些其他的变化,比如说数据仓库。

image.png

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

云原生数据仓库

云原生的数据仓库本质上也是云原生的架构,存储池化、计算池化、存储计算分离。同时实现海量存储弹性,轻量化部署。就像现实生活中的仓库,所有物品都要分门别类放好,所以数据仓库是比较适合已经范式化的数据格式、业务类型比较固定的场景,性价比非常高。这是我们在云原生数仓方面做得一些工作,我们也利用这套架构支持了淘宝天猫对实时交易数据进行在线交互式分析和计算的需求。

image.png

云原生数据仓库

image.png

AnalyticDB 云原生数据仓库

数据湖

另外一个概念叫数据湖。湖面很平,湖底其实是参差不齐的,所以不同于数据仓库,数据湖的存储是多源异构的,只需要有一个统一的界面对这个数据进行分析、处理。我们打造一个云原生的数据湖解决方案,基于对象存储,对多源异构的数据存储进行统一的分析,非常低成本的实现弹性高可用的能力,并且满足安全性的要求。我们集团各个业务之间,可能需要访问一份数据,但是计算要进行隔离。云上很多用户有这种需求,可以用云原生的数据湖的产品和解决方案去满足这种弹性、高可用的场景。

image.png

DLA 云原生数据湖分析 (Serverless,统一元数据+开放存储与分析计算)

3 智能化、安全可信与生态工具

智能化

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

image.png

云原生+智能化数据库管控平台

安全可信

我们做了全加密的数据库,数据进入内核以后不需要解密。今天的安全体系里面还有一个关键的薄弱点,就是数据进入大数据系统进行计算分析的时候必须进行解密。我们利用安全硬件技术做了全加密的流程和保护,实现了不解密也能进行数据加工和处理。

image.png

全加密云数据库- ApsaraDB RDS Encrypted

数据库生态工具

从传输、备份到管理,传输采用DTS,做端到端数据的同步,用DBS数据备份做多云多端的逻辑备份、物理备份,DMS做企业级的开发建模的流程。这一整套搭建起了阿里巴巴在双11的核心链路,比如各个单元之间的数据同步,核心数据的容灾备份,用DBS做数据的开发、管理,通过DMS做保障,这就是双11背后的数据库系统技术实践。

image.png

多云多端+混合云:数据高速公路,迁移、管理、备份、建仓

三 最佳实践

今年的疫情期间看到各行各业的一个非常大的变化,传统的离线业务和在线业务有一个快速融合,线上线下的边界越来越模糊。这带来的挑战是,业务的波峰波谷的变化越来越剧烈。这是疫情带来必然的变化。数字化的转型是一个必然存在的事实。这种背景下,我们云原生数据库、云原生数据仓,支持了不仅是双11,还有疫情期间各行各业尤其是在线教育、游戏等这些传统的线上线下边界变得越来越模糊的行业。

image.png

阿里云数据库技术对抗新冠疫情

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3月前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
26天前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
3月前
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
301 0
|
7天前
|
关系型数据库 分布式数据库 数据库
PostgreSQL+Citus分布式数据库
PostgreSQL+Citus分布式数据库
37 15
|
1月前
|
SQL 关系型数据库 分布式数据库
Citus 简介,将 Postgres 转换为分布式数据库
【10月更文挑战第4天】Citus 简介,将 Postgres 转换为分布式数据库
82 4
|
28天前
|
SQL NoSQL MongoDB
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
39 0
|
2月前
|
人工智能 Kubernetes Cloud Native
深度对话 解锁阿里云分布式云原生技术落地新姿势
深度对话 解锁阿里云分布式云原生技术落地新姿势
深度对话 解锁阿里云分布式云原生技术落地新姿势
|
3月前
|
存储 缓存 负载均衡
【PolarDB-X 技术揭秘】Lizard B+tree:揭秘分布式数据库索引优化的终极奥秘!
【8月更文挑战第25天】PolarDB-X是阿里云的一款分布式数据库产品,其核心组件Lizard B+tree针对分布式环境优化,解决了传统B+tree面临的数据分片与跨节点查询等问题。Lizard B+tree通过一致性哈希实现数据分片,确保分布式一致性;智能分区实现了负载均衡;高效的搜索算法与缓存机制降低了查询延迟;副本机制确保了系统的高可用性。此外,PolarDB-X通过自适应分支因子、缓存优化、异步写入、数据压缩和智能分片等策略进一步提升了Lizard B+tree的性能,使其能够在分布式环境下提供高性能的索引服务。这些优化不仅提高了查询速度,还确保了系统的稳定性和可靠性。
89 5
|
3月前
|
运维 安全 Cloud Native
核心系统转型问题之保障云原生分布式转型中的基础设施和应用层面如何解决
核心系统转型问题之保障云原生分布式转型中的基础设施和应用层面如何解决
|
3月前
|
运维 安全 Cloud Native
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决