李毕生
作者李毕生·2024-01-24 21:06
金融解决方案架构师·华为数据存储解决方案中心

数据库既然做了分布式改造,为啥还下挂集中存储?听听大行用户怎么说

字数 1299阅读 679评论 0赞 0

近日,参加一场数据库技术架构圈子活动,会上分享干货很多,精彩十足。自由讨论环节,一金融用户问,既然数据库做了分布式改造,为啥要下挂集中存储?这个疑问很普遍,大家讨论很多,其中大行之一的G行用户答复,其实分布式数据库GaussDB+华为OceanStor Dorado存储方案,也是行里逼着HW各产品线这么干的。之前的确Mysql用了大量服务器本地盘存算一体方案,但是发现了各种问题。而采用分布式数据库+外置企业存储,即存算分离架构,带来诸多的好处:

1,存算分离后,就可以纵向扩盘,更方便,而本地盘就那么几个十来个槽位,直接扩盘很难,需要扩多个节点,复杂度高。而且大容量数据库,数据就存不下,用外置存储空间大得多,而且盘远多于本地盘,还做了上百块盘的存储池化,想怎么扩就怎么扩,灵活方便。比如历史库,容量大几十TB,甚至上百TB,用服务器本地盘需要堆很多服务器,但是业务访问频率其实很少,服务器CPU利用率低,浪费严重,成本太高。而用外置存储,数据库节点节省下来了,容量按需配置划分LUN空间而已。

2,PC服务器故障率较高,而带着本地盘数据库,服务器规模大了基本上隔几天甚至每天都会坏,那运维咋受得了,盘或者部件故障了,需要换新服务器,需要重建副本,影响生产网络,重建副本时间长,而用外置存储本身故障率低得多,服务器坏了就将外置存储LUN映射过去,不用重新重建副本,运维复杂度低得多。盘的故障存储自己RAID就重构业务无感地搞定了,不需要牵连数据库节点切换和恢复。

3,现在主从之间网络复制,从端受限就那么几块盘,回放慢时间可能很长,导致RTO长达几十分钟甚至小时级,这是难以接受的。卸载到存储来复制,一方面网络是FC/ROCE低时延无损网络,质量好,时延低,另外,存储盘多,备节点回放不存在IO瓶颈,上限性能高,回放就快,RTO很短。因此数据库节点不带本地数据,外置了,节点切换更快。

4,数据库技术还在不断演进,集中数据库简单易用,性能足够,大行绝大部分场景是足够用的。针对中型、小型金融机构核心交易集中数据库巨大部分场景其实也足够用。分布式数据库要避免频繁跨节点访问分布式事务,集群规模大,系统健壮性问题风险大,可观测性措施少,出了问题怎么快速定位?横向扩展性能损耗太多,运维复杂度太高。设备精简,运维才能好。

其实客户问的也有一个概念需要澄清,什么叫集中存储,它国际正式的名称叫企业级存储系统,Enterprise Storage System,IDC咨询公司是这么定义的,根本没有集中存储的概念,反而存储系统内部架构就是一个分布式架构,数据怎么分布均衡,切片打散均衡到各个节点,计算节点有多路径均衡,前端共享接口卡均衡,数据均衡分布切片跨节点粒度细到64MB,盘级粒度4MB,各个节点各个SSD盘都能负载均衡访问,存储领域叫A-A架构,已经做了20年。企业存储系统可以多节点横向扩展,2节点,4节点,8节点,16节点等,也可以纵向扩盘。

反而现在互联网美其名曰的分布式架构是主从多副本架构,副本还挺多,但是不代表可靠,全主备AP,孰能称为分布式架构呢?因为根本不满足分布式架构的对等性特征,如下图。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广