随着企业的发展,数据也随之在不断增长。这就对数据库系统提出了很高的要求:既要在性能上满足业务的需要,还要在存储容量上满足数据的日益增长。
作为文档数据库一哥,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
好文章,需要你的鼓励
OpenAI首席执行官Sam Altman表示,鉴于投资者的AI炒作和大量资本支出,我们目前正处于AI泡沫中。他承认投资者对AI过度兴奋,但仍认为AI是长期以来最重要的技术。ChatGPT目前拥有7亿周活跃用户,是全球第五大网站。由于服务器容量不足,OpenAI无法发布已开发的更好模型,计划在不久的将来投资万亿美元建设数据中心。
阿里巴巴团队提出FantasyTalking2,通过创新的多专家协作框架TLPO解决音频驱动人像动画中动作自然度、唇同步和视觉质量的优化冲突问题。该方法构建智能评委Talking-Critic和41万样本数据集,训练三个专业模块分别优化不同维度,再通过时间步-层级自适应融合实现协调。实验显示全面超越现有技术,用户评价提升超12%。
英伟达推出新的小型语言模型Nemotron-Nano-9B-v2,拥有90亿参数,在同类基准测试中表现最佳。该模型采用Mamba-Transformer混合架构,支持多语言处理和代码生成,可在单个A10 GPU上运行。独特的可切换推理功能允许用户通过控制令牌开启或关闭AI推理过程,并可管理推理预算以平衡准确性和延迟。模型基于合成数据集训练,采用企业友好的开源许可协议,支持商业化使用。
UC Berkeley团队提出XQUANT技术,通过存储输入激活X而非传统KV缓存来突破AI推理的内存瓶颈。该方法能将内存使用量减少至1/7.7,升级版XQUANT-CL更可实现12.5倍节省,同时几乎不影响模型性能。研究针对现代AI模型特点进行优化,为在有限硬件资源下运行更强大AI模型提供了新思路。