凌云时刻 · 技术

导读:阿里巴巴集团副总裁、达摩院数据库首席科学家李飞飞在 2020 中国企业数字创新峰会发表了题为《云原生分布式数据库系统——挑战与机遇》的演讲,探讨云原生数据库的价值和商业应用。

作者朱宗鹏 左延鹊

来源|阿里技术

背景与趋势

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

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

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

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

  • 大数据的产生。随着互联网技术的蓬勃发展,尤其是以谷歌为代表的互联网公司,产生了大量的数据。谷歌做搜索推荐引擎,最核心的是不断的爬取全世界所有的网页,动态地对这些网页之间的关联关系进行分析、处理。

  • 获取、处理、分析数据的方式不一样。比如说银行最简单的交易、转账,对隔离、一致性、持久性都有非常严格的要求。大数据就不一样,做搜索引擎,少爬一个网页,或者计算的时候没有把这个网页的影响算进去,对最终的搜索结果会有一点影响,但不是特别重要。所以,这种应用场景和传统的联机交易关系型数据库里面的强要求是完全不同的。

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

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

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

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

数据库挑战(双 11)

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

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

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

全球云数据库市场格局

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

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

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

数据库系统架构演进

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

  • 大数据和数据库一体化的趋势

  • 云原生和分布式技术结合的趋势

  • 智能化的趋势

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

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

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

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

核心技术及产品

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

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

 云原生关系型数据库 PolarDB

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

云原生关系型数据库 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 部署。

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

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

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

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

 云原生数据仓库与数据湖

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

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

 云原生数据仓库

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

云原生数据仓库

AnalyticDB 云原生数据仓库

 数据湖

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

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

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

 智能化

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

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

 安全可信

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

全加密云数据库——ApsaraDB RDS Encrypted

 数据库生态工具

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

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

最佳实践

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

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

END

新年礼物第三弹,精品机械键盘抽奖中!!

邀请伙伴助力中奖几率翻倍

开奖时间:2021 年 1 月 12 日

赶紧转发至朋友圈,呼唤好友一起

抽  奖 吧 !

长按扫描二维码关注凌云时刻

每日收获前沿技术与科技洞见

阿里李飞飞:云原生分布式数据库面临哪些机遇与挑战?相关推荐

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

    简介:12月3日,由阿里云CIO学院主办的[2020中国企业数字创新峰会]在杭州举行.400位企业CEO.CTO.CIO齐聚一堂,共同探讨企业数字化转型经验.阿里巴巴集团副总裁.达摩院数据库首席科学家 ...

  2. 阿里云开源PolarDB数据库,与社区共建云原生分布式数据库生态

    简介:5月29日,阿里云开发者大会上,阿里巴巴宣布开源云原生数据库能力,对外开放关系型数据库PolarDB for PostgreSQL 源代码,服务百万开发者,与社区开发者一起共建云原生分布式数据库 ...

  3. 斩获大奖|阿里云PolarDB-X引领云原生分布式数据库新时代

    简介:阿里云原生分布式数据库PolarDB-X荣获"2021年度最佳分布式数据库". 12月15-16日,以"引领分布式云变革 助力湾区数字经济"为主题的全球分 ...

  4. 通过云速搭CADT实现云原生分布式数据库PolarDB-X 2.0的部署

    云速搭 CADT 是一款为上云应用提供自助式云架构管理的产品,显著地降低应用云上管理的难度和时间成本.本产品提供丰富的预制应用架构模板,同时也支持自助拖拽方式定义应用云上架构:支持较多阿里云服务的配置 ...

  5. 什么是云原生分布式数据库?

    这两天朋友圈中刷屏最多的是达梦数据库产品发布会,众多嘉宾,群星璀璨, 此次一口气推出了达梦数据共享集群(DMDSC).达梦启云数据库(DMCDB).梦图数据库(GDM).达梦新一代分布式数据库等四款产 ...

  6. 深度干货|云原生分布式数据库 PolarDB-X 的技术演进

    简介: 深入解读PolarDB-X的产品架构,以及分布式事务.透明分布式.水平扩展等技术内幕. 一.PolarDB-X是什么 PolarDB-X最早起源于阿里集团2009年提出用分布式架构替代传统商业 ...

  7. 十年磨一剑,云原生分布式数据库PolarDB-X的核心技术演化

    PolarDB-X前身是淘宝内部使用的分库分表中间件TDDL(2007年,Java库的形态),早期以DRDS(2012年开始研发,2014年上线,分库分表中间件+MySQL Proxy的形态)的品牌在 ...

  8. 云原生分布式数据库云平台技术选择

    Part 1 - 云平台简介 开务数据库(原:云溪数据库)云平台是由开务数据库公司开发的针对特定的开务数据库量身定做的数据库运维管理平台,其目的旨在于:提升用户对数据库部署操作的体验,为用户提供数据库 ...

  9. PolarDB-X 云原生分布式数据库 > API参考 > API参考(2017版本) > 数据库管理类 API > 删除 DRDS 数据库

    删除 DRDS 数据库 更新时间:2020-06-19 13:32:47 功能描述 删除 DRDS 数据库.该接口只是提交了删除数据库的任务,接入方需要依据 DescribeDrds 接口(查询数据库 ...

  10. 李飞飞AI100报告提出14大AI机遇与挑战(附pdf)

    来源:新智元本文约8000字,建议阅读10分钟 本次报告评估了2016年至2021年间人工智能的发展,涵盖14大问题,探讨了人工智能发展的关键领域. 时隔5年,由斯坦福大学教授李飞飞主导的「AI100 ...

最新文章

  1. Altium Designer Bottom Solder层的作用
  2. [HOW TO]-ubuntu20.04 上安装jenkins
  3. android 1396x750设计图,移动端的适配|切图|标注
  4. androidfiletransfer_mac手机助手(Android File Transfer)下载_mac手机助手(Android File Transfer)官方下载...
  5. 你准备好了吗,he is coming
  6. Android开发笔记(三十六)展示类控件
  7. JS 浏览器差异(IE和FF)
  8. 适应图像_目标检测的渐进域自适应,优于最新SOTA方法
  9. mysql 5.7 主主配置文件_MySQL 5.7主主备份配置
  10. ZigBee(CC2530)(03)数据手册分享(英文+中文)
  11. ​PHP现在不好找工作是真的吗?
  12. 锂电池电量百分比计算_电池soc是什么意思
  13. Hibernate 列映射 – 解决其他类型映射命名冲突
  14. 使用frp进行内网穿透
  15. 在搜狗浏览器中启用WebGL
  16. 用vue2写的开发者在线简历导出
  17. 3.3 典型交易流程
  18. CMake中foreach的使用
  19. 如何学好计算机英语怎么说,如何学好英语翻译
  20. Ax=b有容的极小范数解

热门文章

  1. 使用u盘安装windows7、CentOS6.3双系统
  2. 统计长方形和正方形 1408
  3. windows部署PHP开发的cms系统
  4. hdu1403(后缀数组模板)
  5. javascript二叉树基本功能实现
  6. 老程序员应该记住的 5 件事
  7. 关于前几周项目进行的一些感受
  8. nutch batchid
  9. [转载]HTML5 Audio/Video 标签,属性,方法,事件汇总
  10. 如何选择适合自己的相机?