全面 Serverless 化
Serverless 的三大主要特征是资源解耦和服务化、自动弹性伸缩以及按使用量计费。
数据库的大量状态存储很难做到类似 FaaS 这种即开即用的能力,FaaS 本身不具备共享内存的能力也会让计算和数据库之间的资源动态扩展能力不一致,FaaS 也无法承受服务器通过 driver 和连接池访问数据库时繁重的初始化......
在阿里巴巴内部,数据库的形态一直在不断演变
- 大量业务依赖 Oracle 数据库,集团内部诞生了大量优秀的 DBA 和 Oracle ACE。
- 传统的单机数据库难以匹配淘宝等业务的快速发展,团队开始探索开源的数据库方案,尝试用 MySQL 替换 Oracle。在这个过程中,团队逐步做了异地多活等架构层面的创新。
- 开始对外提供公有云服务,团队将在 MySQL 层面积累的经验通过云的形式提供给用户,这也是如今的主流方式之一,只是这个阶段的用户普遍头痛于突发的数据库扩容需求。
- 自研云原生数据库 PolarDB 来了,可以很好地解决上一个阶段出现的扩缩容问题。使用传统云数据库,用户需要提前购买足够支撑业务运行的数据库资源。PolarDB 与底层的 RDMA 高性能网络、CIPU、飞天操作系统等基础设施充分融合,实现了存储计算分离、分钟级别弹性等核心云原生能力,结合 ADB、DMS 等产品逐渐形成了一站式全链路数据管理与服务这样一个被称为云原生数据库 2.0 的阶段
- 全面 Serverless 化,更进一步实现了秒级自动化的缩扩容,能够随用户业务请求数的增加和减少智能化“膨胀”和“缩小”,实现资源的自动“吞吐”。这种特性,能够为用户带来更经济的计费模式和更无感的扩容体验,让业务根据请求的繁忙程度实现平滑的全自动响应,无需人工介入
“过去多年,我们深入和底层基础设施结合,哪怕这个过程很痛苦。数据库 on ECS 还是物理机?on ECS 的一开始肯定会带来成本和性能的挑战,这就倒逼着我们必须通过技术创新解决这些问题,迈过这些坎就会发现 on ECS 带来的池化规模效应是巨大的,迈过去就是核心壁垒,Serverless 亦然。”阿里云智能数据库事业部负责人李飞飞表示
数据库 Serverless 化的关键技术解析
- 计算、内存、存储三层解耦才能实现真正的 Serverless: 创造性地提出了 DDC(Disaggregated Data Centers)架构,实现数据库内计算、内存和存储三层资源解耦
- 解决跨设备迁移潜在的高可用问题: 使用 Serverless 架构的 PolarDB 节点的崩溃恢复时间比使用单机架构的 PolarDB 内核快 5.3 倍
- 真正高性能的多节点横向扩展
下一步技术规划
阿里云数据库提出了整体向“四化”方向发展
- 云原生化 (资源解耦、Serverless)
- 平台化 (基于云构建数据平台能力、OpenAPI 标准化) -> 平台化:数据库正在逐步走向融合
- 一体化 (处理分析一体化、离在线一体化、集中分布一体化、多模处理一体化) -> 一体化:放弃分布式、集中式等执念,共生共存
- 智能化 (AI for DB 简化运维、In-DB ML 挖掘数据价值) -> 智能化:向自动驾驶的数据库平台努力