随着 MongoDB 5.0 的发布,MongoDB 宣布了一个新的双轨发布系统。
主要发布轨道仅包括“.0”版本。这些将每年在所有平台上发布。“快速发布”轨道允许用户升级到“点”版本,例如 5.2。但是,快速版本仅在 MongoDB 的 Atlas 云平台上获得认证(尽管可以将未认证的开发版本下载到本地部署)。
两层发布策略对于 MongoDB 公司来说既有实用价值,也有市场价值。实际上,通过仅在 Atlas 上进行认证,MongoDB 减少了每个快速发布的质量保证开销。从营销的角度来看,MongoDB 希望最大限度地增加过渡到有利可图的 Atlas 平台的客户数量。通过首先向 Atlas 添加好东西,他们鼓励我们迁移到 Atlas。
快速发布包括许多有用的增强功能,尽管通常不是主要营销活动的内容。让我们回顾一下 5.x 系列前三个快速版本中的一些内容——5.1、5.2 和 5.3。
MongoDB 5.0 在聚合框架中引入了强大且有用的窗口功能。正如前面的专栏中所讨论的,窗口函数在当前文档周围的文档“窗口”上运行,允许您访问趋势或组信息。窗口函数与新的时间序列集合相结合,这些集合针对存储按时间顺序摄取的数据进行了优化。
自 Windowing 函数的初始版本以来,MongoDB 添加了新的$top和$bottom运算符,使您可以快速访问排序列表中的最高和最低元素。$maxN和$minN提供了类似的功能:您可以检索排序列表中的前“N”个元素。此外, $fill、$linearFill、$ densify运算符允许您处理时间序列数据中的缺失值,例如在缺少观察值时插入平均值或常数。
时间序列集合也受到了一些重要的改进。现在可以对时间序列集合进行分片,并且可以在时间序列集合中更新或删除文档。现在也可以在时间序列数据上创建地理索引。
对分片系统的另一个长期限制也已被删除。MongoDB 在 MongoDB 3.4 和 3.6 版本中实现了连接和图形查找。但是,直到现在,这些操作还不能应用于分片集合。通过允许$lookup和$graphlookup运算符处理分片集合,MongoDB 消除了分片集群的重大限制。
5.3 还引入了聚集集合。在正常的集合中,数据大致按照插入的顺序存储在磁盘上。这种存储方案有时在数据库术语中称为“堆”存储。在聚集集合中,数据按关联聚集索引中键的顺序存储。实际上,集合文档充当了包含聚集索引的 B 树的叶节点。表和索引是密不可分的。集群集合消耗写入的速度可能较慢,但在发出需要集群顺序数据的分析查询时性能要高得多。
MongoDB 最近的增强绝对是完美的品种——在 5.0 新特性的初始实现上进行了广泛改进。但是,它们在增强 5.0 的功能和为 MongoDB Atlas 云用户创造显着优势方面大有帮助。本地用户将不得不等待今年的 MongoDB 6.0 版本。
作者:Guy Harrison
文章来源:https://www.dbta.com/Columns/Emerging-Technologies/Whats-New-in-MongoDB-5x-152716.aspx




