阿里数据库架构实战:从异地多活到离在线混部,这波操作稳了

1 阅读2分钟

在2017云栖大会苏州峰会上,阿里巴巴高级数据库架构师黄欢欢分享了企业级数据库架构的演进之路。核心目标直指三个痛点:扩展性(单地资源不够)、弹性(双十一流量暴增)、成本(预算有限)。为此,阿里在六个方向做了深度探索。

  1. 异地多活 设计原则简单粗暴:数据按维度拆分,禁止双写;单元内业务闭环,避免下单时在不同单元间跳转。每个Region部署独立DRDS集群,靠DTS实时同步数据,延迟秒级搞定。
  2. X-DB:强一致的底气 库存这类数据只在一个Region写、多点读,传统架构切主时可能丢数据。X-DB采用5节点主备,写日志必须同步超3个备节点才算成功,做到Region级强一致性、零数据丢失,性能依然扛得住。
  3. DB容器化 AliSQL全容器化,结合高性能ECS(SPDK+NVMe、DPDK),虚拟化损耗压到5%以内,为后续弹性调度打下基础。
  4. 弹性混合云 日常跑在自建IDC,大促一键在云上扩展只读节点或大规格资源,大促后释放。这一快弹能力靠混合云管理平台HDM,统一管理云上云下数据库,还能容灾切换。
  5. 计算存储分离 应用容器化能随意调度,数据库有状态不行。于是把计算和存储拆开——计算节点弹性扩缩,存储统一放分布式存储,碎片少、成本低。计算层AliSQL通过25G RDMA网络对接存储,优化原子写、关闭double write,吞吐翻倍,时延逼近本地盘。
  6. 数据库与离线混部 大促时借离线机器的计算资源跑数据库节点,日常再把离线任务调度到DB节点,榨干硬件利用率。通过CPU独立socket、NetQoS打标保证隔离,计算节点还能动态扩缩容。 总结 异地多活、X-DB、容器化、混合云、计算存储分离、离在线混部——六板斧齐下,构建出高弹性、低成本的企业级数据库架构。