随着企业的发展,数据也随之在不断增长。这就对数据库系统提出了很高的要求:既要在性能上满足业务的需要,还要在存储容量上满足数据的日益增长。
作为文档数据库一哥,MongoDB 一直以来被开发者和企业所青睐,以具有强可扩展性和优秀的读写性能著称。但是,在长时间的使用过程中,MongoDB 扩容时性能欠缺的缺点逐渐显现出来,成为企业的一块心病。
2017年的 MongoDB 年终大会上,来自云之家的 DBA 分享了一段个人经历:在一次对存储有 150T 数据的 MongoDB 数据库扩容中,耗时接近一个月。
市场千变万化,历时一月的数据库扩容,不知中途是否赶上业务高峰期,但在眼下互联网业务盛行、机遇说来就来的当口,一月时间发生的变化,可能性太多。在各种小时级甚至分钟级概念层次不穷的今天,为什么 MongoDB 的扩容,会耗时那么久呢?
真相是什么?
究其原因,MongoDB 扩容之所以需要较长时间,与其采用三副本架构有很大关系。该数据库存储数据使用的本地文件系统,每一个 shard 节点之间的数据是相对独立的。当扩容时,需将已有节点的数据同步均衡;由于数据独立存在,所以要对数据进行网络拷贝。
也因此,MongoDB 扩容后的性能并不能立即得到提升,这在很大程度上限制了MongoDB 的使用场景范围。
你可能会提出一个问题,网络拷贝也不至于速度如此之慢吧?事实是,数据拷贝对节点资源消耗很大,出于对整体性能的考虑,MongoDB 限制了数据迁移的速度。
世界总是如此,任何事物都不完美,但办法总比问题多。因此要想从根本上解决 MongoDB 数据库数据迁移慢的问题,就需要从架构上做调整。
正本清源:从根本上解决问题
上面提到,MongoDB 各 shard 节点之间数据是相对独立的。那么,如果现在数据相对于计算节点来说并非私有,而是共享,节点扩容是否就可以省去数据迁移步骤,进而大大缩短扩容时间呢?
答案是肯定的。华为云 MongoDB 社区增强版正是这一假设的践行者。
华为云 MongoDB 社区增强版是华为云文档数据库 DDS 推出的 Cloud Native 文档数据库服务。完全兼容 MongoDB 协议,使用计算储存分离架构,在读写、扩容能力、备份恢复性能、故障容忍等方面对比 MongoDB 社区版有质的突破。
华为云 MongoDB 社区增强版打破现有架构约束,将 MongoDB 数据库节点无状态化,去掉数据强归属于某一计算节点的限制,将计算和存储相分离,数据可靠性交由底层共享存储系统来保证,从根本上解决了数据迁移慢的问题。
传统 MongoDB 架构 & 华为云 MongoDB 社区增强版架构
计算节点无状态化
由于计算和存储的分离,副本集不再需要,华为云 MongoDB 社区增强版将 Shard 副本集替换为单节点 Shard,单节点 Shard 在运行中并不保存和命令请求相关的信息,每次命令请求都和以前没有任何关系,命令执行完成,返回结果后,没有任何痕迹。这样以来,可以很方便的被替换掉(或集群、横向扩展)而不用状态重建(或同步)。
节点扩容
华为云 MongoDB 社区增强版在扩容时,将拉起一个新的单节点 Shard 添加到集群,由于数据是共享的,只需要在逻辑层面设置被接管数据的路径即可,新节点在指定的路径下加载完对应数据后,就能对外提供服务,整个过程可以在分钟级完成,同等条件下扩容性能提升了百倍以上,可以轻松应对业务突增带来的负载性能问题。
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
好文章,需要你的鼓励
三星与AI搜索引擎Perplexity合作,将其应用引入智能电视。2025年三星电视用户可立即使用,2024和2023年款设备将通过系统更新获得支持。用户可通过打字或语音提问,Perplexity还为用户提供12个月免费Pro订阅。尽管面临版权争议,这一合作仍引发关注。
浙江大学团队提出动态专家搜索方法,让AI能根据不同问题灵活调整内部专家配置。该方法在数学、编程等任务上显著提升推理准确率,且不增加计算成本。研究发现不同类型问题偏爱不同专家配置,为AI推理优化开辟新路径。
苹果M5 MacBook Pro评测显示这是一次相对较小的升级。最大变化是M5芯片,CPU性能比M4提升约9%,多核性能比M4 MacBook Air快19%,GPU性能提升37%。功耗可能有所增加但电池续航保持24小时。评测者认为该产品不适合M4用户升级,但对使用older型号用户仍是强有力选择。
清华大学研究团队提出SIRI方法,通过"压缩-扩张"交替训练策略,成功解决了大型推理模型"话多且准确率低"的问题。实验显示,该方法在数学竞赛题上将模型准确率提升43.2%的同时,输出长度减少46.9%,真正实现了效率与性能的双重优化,为AI模型训练提供了新思路。