业务突增负载性能难保证?华为云支招如何根除顽疾

随着企业的发展,数据也随之在不断增长。这就对数据库系统提出了很高的要求:既要在性能上满足业务的需要,还要在存储容量上满足数据的日益增长。

作为文档数据库一哥,MongoDB 一直以来被开发者和企业所青睐,以具有强可扩展性和优秀的读写性能著称。但是,在长时间的使用过程中,MongoDB 扩容时性能欠缺的缺点逐渐显现出来,成为企业的一块心病。

2017年的 MongoDB 年终大会上,来自云之家的 DBA 分享了一段个人经历:在一次对存储有 150T 数据的 MongoDB 数据库扩容中,耗时接近一个月。

市场千变万化,历时一月的数据库扩容,不知中途是否赶上业务高峰期,但在眼下互联网业务盛行、机遇说来就来的当口,一月时间发生的变化,可能性太多。在各种小时级甚至分钟级概念层次不穷的今天,为什么 MongoDB 的扩容,会耗时那么久呢?

真相是什么?

究其原因,MongoDB 扩容之所以需要较长时间,与其采用三副本架构有很大关系。该数据库存储数据使用的本地文件系统,每一个 shard 节点之间的数据是相对独立的。当扩容时,需将已有节点的数据同步均衡;由于数据独立存在,所以要对数据进行网络拷贝。

业务突增负载性能难保证?华为云支招如何根除顽疾MongoDB 三副本架构

也因此,MongoDB 扩容后的性能并不能立即得到提升,这在很大程度上限制了MongoDB 的使用场景范围。

你可能会提出一个问题,网络拷贝也不至于速度如此之慢吧?事实是,数据拷贝对节点资源消耗很大,出于对整体性能的考虑,MongoDB 限制了数据迁移的速度。

业务突增负载性能难保证?华为云支招如何根除顽疾MongoDB 扩容示意图

世界总是如此,任何事物都不完美,但办法总比问题多。因此要想从根本上解决 MongoDB 数据库数据迁移慢的问题,就需要从架构上做调整。

正本清源:从根本上解决问题

上面提到,MongoDB 各 shard 节点之间数据是相对独立的。那么,如果现在数据相对于计算节点来说并非私有,而是共享,节点扩容是否就可以省去数据迁移步骤,进而大大缩短扩容时间呢?

答案是肯定的。华为云 MongoDB 社区增强版正是这一假设的践行者。

华为云 MongoDB 社区增强版是华为云文档数据库 DDS 推出Cloud Native 文档数据库服务。完全兼容 MongoDB 协议,使用计算储存分离架构,在读写、扩容能力、备份恢复性能、故障容忍等方面对比 MongoDB 社区版有质的突破。

华为云 MongoDB 社区增强版打破现有架构约束,将 MongoDB 数据库节点无状态化,去掉数据强归属于某一计算节点的限制,将计算和存储相分离,数据可靠性交由底层共享存储系统来保证,从根本上解决了数据迁移慢的问题。

业务突增负载性能难保证?华为云支招如何根除顽疾传统 MongoDB 架构 & 华为云 MongoDB 社区增强版架构

计算节点无状态化

由于计算和存储的分离,副本集不再需要,华为云 MongoDB 社区增强版将 Shard 副本集替换为单节点 Shard,单节点 Shard 在运行中并不保存和命令请求相关的信息,每次命令请求都和以前没有任何关系,命令执行完成,返回结果后,没有任何痕迹。这样以来,可以很方便的被替换掉(或集群、横向扩展)而不用状态重建(或同步)。

节点扩容

华为云 MongoDB 社区增强版在扩容时,将拉起一个新的单节点 Shard 添加到集群,由于数据是共享的,只需要在逻辑层面设置被接管数据的路径即可,新节点在指定的路径下加载完对应数据后,就能对外提供服务,整个过程可以在分钟级完成,同等条件下扩容性能提升了百倍以上,可以轻松应对业务突增带来的负载性能问题。

业务突增负载性能难保证?华为云支招如何根除顽疾华为云 MongoDB 社区增强版扩容示意图

Cloud Native 文档数据库,极高性价比

华为云 MongoDB 社区增强版的架构升级,包括了计算(分片)、存储(分布式存储池)分离、每个计算节点(分片)互为主备关系、允许 N-1 个计算节点(分片)故障、集群高效平缓的横向扩展、更有利磁盘扩容的分布式存储池等特点,在同等成本下,数据库整体性能和可用性都得到大幅提升。

业务突增负载性能难保证?华为云支招如何根除顽疾

在该架构下,华为云 MongoDB 社区增强版相较社区版的弹性扩容能力提升了 100 倍故障重构能力和备份恢复性能提升10倍、读写性能提升 300%!

了解华为云 MongoDB 社区增强版更多信息,请移步官网:

https://activity.huaweicloud.com/dfv_mongo/index.html

HUAWEI CONNECT 2018作为华为自办的面向ICT产业的全球性年度旗舰大会,将于2018年10月10日-12日在上海隆重举行。届时将首发华为AI战略和全栈全场景的解决方案,并携手合作伙伴带来更多诸如AI、云、大数据、5G、IoT、视频等优势技术在各行业的创新与实践,惠及更多开发者人群,“+智能,见未来”,让我们拭目以待。

欲了解更多详情,请参阅:https://www.huawei.com/cn/press-events/events/huaweiconnect2018?ic_medium=hwdc&ic_source=corp_banner_allwayson&source=corp_banner


企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

2018-08-20
业务突增负载性能难保证?华为云支招如何根除顽疾
随着企业的发展,数据也随之在不断增长。这就对数据库系统提出了很高的要求:既要在性能上满足业务的需要,还要在存储容量上满足数据的日益增长。

长按扫码 阅读全文

Baidu
map