云原生数据库的架构演进
如果无法正常显示,请先停止浏览器的去广告插件。
1. 云原生数据库架构演进
阿里云数据库资深技术专家 江疑
2.
3. 章颖强,花名江疑。阿里云资深技术专家(P9),
PolarDB事务引擎和新架构研发负责人。
浙江大学本科、研究生,十年以上的数据库研发经验,
AliSQL的创始研发之一。
14-18年阿里双十一数据库内核负责人,主导集团数
据库架构从MySQL演进到基于Paxos的X-Cluster架
构。
目前负责PolarDB 事务引擎及新一代架构研发和商
业化,同时多个技术架构突破在 SIGMOD / VLDB /
ASPLOS 等顶会发表。
4. 云原生数据库架构的业务驱动和演进
回顾基于存储计算分离的第一代架构
蓬勃发展的基于Serverless的第二代架构
未来已来的基于数据池化和多写的第三代架构
业务的价值和思考
5. 云原生数据库架构历史
背后的业务驱动
6. 云数据库: 基于云上IaaS能力部署的传统架构的数据库
业务需求推动
架构演进
云原生数据库:面向云上业务需求重构数据库架构的数据库
主节点
主节点 备节点
存储 存储
传统架构
主节点
读节点
存储
第一代架构
计存分离,一写多读
读节点
主节点 主节点
主节点
主节点
读节点
主节点
存储
第二代架构
Serverless,无感弹性
存储
第三代架构
数据池化,多点可写
7. 回顾基于存储计算分离的第一代架构
8. 数据库架构痛点
弹性升降配困难
只读扩展效率低,延迟大
存储容量瓶颈
业务痛点
提前评估规划数据库规格,大量资源浪费
临时峰值的稳定性问题
为了读扩展提前拆库
为了存储容量提前拆库
主节点 只读节点
CPU CPU
Memory Memory
Storage
逻辑复制
Storage
9. 架构优势
主节点
只读节点
CPU
存储计算分离,升降配无数据迁移 Memory
分布式存储,容量上限提升,按量计费 Storage
CPU
逻辑
复制
Memory
Storage
只读节点无独立存储,无数据回放,延迟低
传统数据库
业务收益
分钟级升降配
无存储瓶颈,无预留存储
低成本只读扩展
主节点
缓存
同步
CPU
Memory
只读节点
CPU
Memory
Storage
第一代云原生数据库
10. 蓬勃发展的基于Serverless的第二代架构
11. 主节点
数据库架构痛点
缓存
同步
CPU
Memory
只读节点
CPU
Memory
升降配时候的闪断
Serverless无法无感跨机弹性
只读节点的延迟
业务痛点
游戏等2C业务,对闪断特别敏感,需要提前停服
业务容量规划和突发流量处理的难点
电商/微服务化业务,难以接受读延迟
为保证业务稳定性的预留水位
Storage
第一代云原生数据库
12. 业务闪断
•某游戏业务
•某聊天软件
读延迟问题
•某电商已买到
•某微服务业务
只读节点一致性测试
流量预测
•某SaaS业务突
发流量
13. Serverless是第二
代云原生数据库能
力的集中体现
核心特性
主节点
CPU
Memory
无感弹性变配/跨机迁移
只读节点
RDMA
内存交换
CPU
Memory
Storage
高性能全局一致性
跨机Serverless
本地 ScaleUp
- 无感 BP Resize
跨机 ScaleUp
跨机 ScaleOut
- 基于热备技术的秒级切换 - 集群维度高性能全局一致性
- 连接和事务跨机续传 - 热资源池实现秒级横向弹性
智能决策
PolarDB Serverless
共享存储
14. 业务不再需要关注的场景
买什么规格
的数据库
数据库变更
要不要停服
大促和活动
的提前升级
15. 业务闪断
•某游戏业务
•某聊天软件
不停服版本升级和变配
读延迟问题
•某电商已买到
•某微服务业务
1. RO承担核心流量
2. 自动增减RO
流量预测
•某SaaS业务突
发流量
1. Serverless降本
2. 抵御非预期突增,
提升稳定性
16. 未来已来的基于数据池化和多写的第三代架构
17. 大型业务的典型数据库形态
RW 1
多个分散的小集群
按 业务分库/租户分库/分库分表
独立的聚合分析
业务痛点
RW 3
水位
水位
水位
RO 1
冗余备库
横向弹性伸缩
一体化的聚合分析
RW 2
聚合分析库
RO 2
RO 3
18. 数据池化共享
不同业务间的数据池化共享 -> 冗余备节点
不同系统间的数据池化共享 -> 冗余数据和低效的同步
资源利用率提升
主节点
主节点 备节点
存储 存储
传统架构
主节点
读节点
存储
第一代架构
计存分离,一写多读
读节点
主节点
存储
第二代架构
Serverless,无感弹性
19. 秒级横向扩缩容
Serverless
RW RW RW RW 全局 RO
T T T T T
列存 RO
多组件,低可靠性,底运维性,高成本
T
…
P
P
P
P
中间件
P
P
小集群
主
小集群
备
主
小集群
备
主
小集群
备
主
Shared Storage
一站式,高可靠,高弹性,低成本
分析库
聚合库
主
备
备
20. 节点多
活互备
核心特性
一体化
管理
数据池
化共享
一份存
储全局
共享
横向秒
级弹性
伸缩
21. 基于MySQL自建汇聚库方案
会员
支付
…
商城
跨业务聚合报表
跨库查询
PolarDB 多主集群方案
…
会员
支付
商城
ProxySQL
会员
实例
主
主
方案
实例 主
主
…
跨库查询
…
自动负载均衡
安全保护、HA切换
备
汇聚库1
(分析)
备
DTS
复制
视频
实例
跨业务聚合报表
智能 PolarProxy
备
自定义读写分离
社区
实例
…
备
…
汇聚库2
(外包库)
业务内读写
流
量
轮
询
转
发
汇聚库3
(历史库)
…
方案RW 全局RO
社区RW 视频RW 全局RO
榜单RW 订单RW HTAP RO
会员RW
自建方案痛点
跨业务分析(ePQ)
库表多,数据流转难:9个实例,>60库,>5000表
数据质量不稳定:主从延迟大(几秒~上百秒)
成本高:主、备和汇聚库多份存储开销 (成本占56%)
PolarStore
汇聚业务复杂查询慢
业
务
收
益
• 存储资源降低80%,计算资源降低45%,TCO降低 40%
• 共享存储,RO无延迟
• 秒级扩缩容RW/RO,异常恢复速度快
• 运维工作量低
• 实现了一站式聚合查询和分析,提升数据向下游传送效率
方
案
优
势
•
秒级增删节点
• 一份存储,新增RW/RO不增加存储成本
• 透明智能代理实现智能读写分流
•
多主互备, 无需备节点
• 全局binlog向下游提供增量数据的抽取
• 全局RO支持汇聚业务,ePQ有效提高业务查询性能
• 用户通过多节点进行有效的资源隔离
22. TP
AP
减少资源碎片,资源成
本降低40%
秒级迁移租户,租户资
源分配更加高效
多个主实例只有一份
binlog,下游数据集成
同步链路成本下降
50%
Proxy
Serverless
RW
Serverless
长
尾
租
户
长
尾
租
户
RW
租户迁移
长
尾 …
租
户 租户迁移
中
型
租
户
中
型
租
户
RW
租户迁移
中
型 …
租
户 租户迁移
头
部
租
户
头
部
租
户
全局RO
头
部
租
户
实时报表
分析
全局RO
实时报表分
析
CPU支持秒级扩核,资
源利用率更高
23. 对业务的价值和思考
24. 用起来更简单
❌ 容量
❌ 架构
❌ 可用性
买起来更便宜
消除冗余
提升利用率
让业务专注业务
25.