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