首页 门户 推荐专区 行业新闻 查看内容

如何构建云上企业数据库架构?云上企业数据库架构构建步骤 ...

2018-1-4 11:52| 发布者: admin| 查看: 80| 评论: 0

摘要: 阿里巴巴高级数据库架构师黄欢欢在2017云栖大会苏州峰会上分享了云上企业数据库架构之路,主要讲述了搭建云上企业数据库架构需考虑的问题以及阿里巴巴在数据库架构上的探索与改进! ... ... ...

  阿里巴巴高级数据库架构师黄欢欢在2017云栖大会苏州峰会上分享了云上企业数据库架构之路,主要讲述了搭建云上企业数据库架构需考虑的问题以及阿里巴巴在数据库架构上的探索与改进!


  云上企业数据库架构搭建面临的问题:


  1. 扩展性问题。即业务高速发展,单地资源容量受限问题;


  2. 弹性问题。如双十一对弹性扩展和收缩的需求问题;


  3. 成本问题,即在尽可能小的预算成本内完成业务目的。


  阿里巴巴针对以上问题对云上数据库架构进行了很多探索和改进,主要包括异地多活升级、数据库容器化、混合云架构、计算存储分离以及DB与离线混布。


  1. 异地多活升级


云上企业数据库


  阿里巴巴提供了第二代分布式关系型数据库X-DB,采用多Region部署,主备5节点保证主节点每一个写日志一定需要同步超过3个以上的备节点才能够返回业务成功,因此,X-DB相比传统数据库架构具有以下优点:


  (1)Region级的强一致性。做到单个Region不可用0数据丢失;


  (2)高性能。跨Region强同步下依然保持高性能;


  (3)灵活的切换策略。优先切换同Region,定制跨Region切换顺序;


  (4)高伸缩性。可无限制的扩充Region/AZ的节点,可自由的调节Region/AZ内节点。


  2. 数据库容器化


云上企业数据库


  数据库容器化是数据库构建起可扩展架构的基础部分,只有做完容器化,才可能实现架构的进一步演进,针对数据库容量化,阿里巴巴做了以下改进:


  (1)AliSQL in Docker。通过统一的一层调度支持数据库二层调度,比如主备容器规格一样,AliSQL in Docker支持数据库业务逻辑的调度策略,构建了完善的资源隔离方案,已经做到了100%容器化;


  (2)AliSQL in 高性能ECS。使用了SPDK+NVMe存储和DPDK网络,整体上测试得出,与同等规格物理机相比,虚拟化带来的损耗降到了最低,性能降低5%以下。


  3. 混合云架构


云上企业数据库


  混合云数据库可以实现数据库的弹性扩展和收缩,对大促销具有很好的适应性,可以轻松实现以下三大功能:


  (1)统一管理。HDM可以进行云上云下数据库统一管理;


  (2)快速弹性。比如原来数据库在云下,大促时在云上加只读节点, 大促结束后再销毁只读节点。也可以在云上快速建立起大规格资源,支撑完业务后再弹下来,最大限度享受云资源的弹性能力;


  (3)容灾切换。自建IDC出现问题时,HDM提供了数据库容灾切换能力,包括云上切换云下,或云下切换云上。


  4. 计算存储分离


云上企业数据库


  做计算和存储分离面临的技术挑战很大,对吞吐和时延的要求非常高,阿里巴巴在各个维度做出了很多优化,主要包括:


  (1)分布式存储优化。长尾时延优化,写三反二;Partial recovery,降低对线上业务的影响。


  (2)数据库优化。AliSQL 吞吐优化,提升100%;原子写优化,关闭double write buffer,提高吞吐;时延接近本地盘。


  (3)软硬件优化:引入RDMA网络协议,SPDK用户态文件系统等。


  5. DB与离线混布


云上企业数据库


  为了进一步减少成本,阿里巴巴将数据库和离线任务混布在一起,此外,还在离在线混部时构建了弹性能力,使计算节点快上快下,MySQL BP和容器规格动态扩缩容。


  通过异地多活升级、数据库容器化、混合云架构、计算存储分离以及DB与离线混布方面的改进,阿里巴巴云上企业数据库在扩展性、弹性以及成本等方面得到了进一步的改善,能够满足用户对云上企业数据库的更高要求!


鲜花

握手

雷人

路过

鸡蛋
| 收藏

相关阅读

最新评论(0)

发表文章
  • 售后服务
  • 关注我们
  • 社区新手

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.