安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

MongoDB5。0新特性概览

4月8日 封了心投稿
  MongoDB5。0标志着一个新的发布周期的到来,以更快地交付新特性给到用户。版本化API与在线重新分片相结合,使用户不必担心未来的数据库升级以及业务变化问题;本地原生时间序列数据平台也使MongoDB能支持更广泛的工作负载和业务场景;新的MongoDBShell能够提升用户体验等均为MongoDB5。0的功能。本文主要介绍MongoDB5。0的新特性。原生时间序列平台
  MongoDB5。0通过原生支持整个时间序列数据的生命周期(从采集、存储、查询、实时分析和可视化,到在线归档或随着数据老化自动失效),使构建和运行时间序列应用程序的速度更快、成本更低。随着MongoDB5。0的发布,MongoDB扩展了通用的应用数据平台,使开发能够更容易地处理时间序列数据,进一步扩展其在物联网、金融分析、物流等方面的应用场景。
  MongoDB的时间序列集合以高度优化和压缩的格式自动存储时间序列数据,减少了存储大小和IO,以实现更好的性能和更大的规模。同时也缩短了开发周期,使您能够快速建立一个针对时间序列应用的性能和分析需求而调优的模型。
  创建时间序列数据集合的命令示例:db。createCollection(collectionname,{timeseries:{timeField:timestamp}})
  MongoDB可以无缝地调整采集频率,并根据动态生成的时间分区自动处理无序的测量值。最新发布的MongoDBConnectorforApacheKafka实现了在本地支持时间序列,您可以直接从Kafka主题消息中自动创建时间序列集合,使您在收集数据的同时根据需要对数据进行处理和聚合,然后写入到MongoDB的时间序列集合。
  时间序列集合自动创建一个按时间排序的数据聚集索引,降低查询数据的延迟。MongoDB查询API还扩展了窗口函数,您可以运行分析性查询(例如移动平均数和累积总和)。在关系型数据库系统中,这些通常被称为SQL分析函数,并支持以行为单位定义的窗口(即三行移动平均线)。MongoDB更进一步,还增加了指数移动平均线、导数和积分等强大的时间序列函数,支持您以时间为单位定义窗口(例如15分钟的移动平均线)。窗口函数可用于查询MongoDB的时间序列和常规集合,为多种应用类型提供了新的分析方式。另外,MongoDB5。0也提供了新的时间运算符,包括dateAdd、dateSubstract、dateDiff和dateTrunc,使您可以通过自定义的时间窗口对数据进行汇总和查询。
  您可以将MongoDB的时间序列数据与企业的其他数据相结合。时间序列集合可以与同一个数据库中的常规MongoDB集合放在一起,您不必选择一个专门的时间序列数据库(它不能为任何其他类型的应用提供服务),也不需要复杂的集成来混合时间序列和其他数据。MongoDB通过提供一个统一的平台,让您建立高性能和高效的时间序列应用的同时,也为其他用例或工作负载提供支持,从而消除了整合和运行多个不同数据库的成本和复杂性。在线数据重新分片
  数据库版本
  特点
  实现方法
  MongoDB5。0以前
  重新分片过程复杂且需要手动分片。方法一:先dump整个集合,然后用新的分片键把数据库重新加载到一个新的集合中。由于这是一个需要离线处理的过程,因此您的应用程序在重新加载完成之前需要中断停服较长时间。例如:在一个三分片的集群上dump和重新加载一个10TB以上的集合可能需要几天时间。方法二:新建一个分片集群并重新设定集合的分片键,然后通过定制迁移方式,将旧分片集群中需要重新分片的集合,按新的分片键写入到新的分片集群中。该过程中需要您自行处理查询路由和迁移逻辑、不断检查迁移进度,以确保所有数据迁移成功。定制迁移是高度复杂的、劳动密集型的、有风险的任务,而且耗时很长。例如:某个MongoDB用户花了三个月才完成100亿个document的迁移。
  MongoDB5。0开始运行reshardCollection命令即可启动重新分片。重新分片的过程高效。并不是简单地重新平衡数据,而是在后台将所有当前集合的数据复制并重新写入新集合,同时与应用程序新的写入保持同步。重新分片是完全自动化的。将重新分片花费的时间从几周或几个月压缩到几分钟或几小时,避免了冗长繁杂的手动数据迁移。通过使用在线重新分片,可以方便地在开发或测试环境中评估不同分片键的效果,也可以在您需要时修改分片键。您可以在业务运行(数据不断增长)的情况下,按需改变集合的分片键(Shardkey),而不需要数据库停机或在数据集合中进行复杂的迁移。您只需要在MongoDBShell中运行reshardCollection命令,选择您需要重新分片的数据库和集合,指定新的分片键即可。
  reshardCollection:database。collection,key:shardkey
  说明:需要重新分片的数据库名称。:需要重新分片的集合名称。:分片键的名称。当您调用reshardCollection命令时,MongoDB会克隆现有集合,然后将现有集合中所有oplog应用到新集合中,当所有oplog被使用后,MongoDB会自动切换到新集合,并在后台删除旧集合。版本化API应用程序兼容性从MongoDB5。0开始,版本化API定义了应用程序最常用的一组命令和参数(无论是数据库在年度重大发布还是季度快速发布期间,这些命令均不会改变)。通过将应用程序生命周期和数据库生命周期解耦,您可以将驱动程序固定在MongoDBAPI的特定版本上,即使数据库发生升级和改进,您的应用程序将可以继续运行数年而不需要修改代码。灵活地添加新功能和改进内容版本化API支持MongoDB灵活地在每个版本中为数据库添加新的功能和改进内容(以新版本兼容早期版本的方式)。当您需要改变API时,可以增加新版本的API,并与现有版本化的API在同一台服务器上同时运行。随着MongoDB版本发布的加速,版本化API能够使您更快、更轻松地使用到MongoDB最新版本的功能特性。WriteConcern默认Majority级别
  从MongoDB5。0开始,WriteConcern默认级别为majority,仅当写入操作被应用到Primary节点(主节点)且被持久化到大多数副本节点的日志中的时候,才会提交并返回成功,开箱即用地提供了更强的数据可靠性保障。
  说明WriteConcern是完全可调的,您可以自定义配置WriteConcern,以平衡应用程序对数据库性能和数据持久性的要求。连接管理优化
  默认情况下,一个客户端连接对应后端MongoDB服务器上的一个线程(net。serviceExecutor配置为synchronous)。创建、切换和销毁线程都是消耗较大的操作,当连接数过多时,线程会占用MongoDB服务器较多的资源。
  连接数较多或创建连接失控的情况称为连接风暴,产生该情况的原因可能是多方面的,且经常是在服务已经受到影响的情况下发生。
  针对这些情况,MongoDB5。0采取了以下措施:限制在任何时候驱动程序尝试创建的连接数量,以简单有效的方式防止数据库服务器过载。减少驱动程序监控连接池时的检查频率,给无响应或过载的服务器节点一个缓冲和恢复的机会。驱动程序将工作负载导向具有最健康连接池的更快的服务器,而不是从可用的服务器中随机选择。
  以上措施,加上之前版本在mongos查询路由层的改进,进一步提升了MongoDB承受高并发负载的能力。长时间运行的快照查询
  长时间运行的快照查询(LongRunningSnapshotQueries)增加了应用程序的通用性和弹性。您可以通过该功能运行默认时间为5分钟的查询(或将其调整为自定义持续时间),同时保持与实时事务性数据库一致的快照隔离,也可以在Secondary节点(从节点)上进行快照查询,从而在单个集群中运行不同的工作负载,并将其扩展到不同的分片上。
  MongoDB通过底层存储引擎中一个名为Durablehistory的项目实现了长期运行的快照查询,该项目早在MongoDB4。4中就已实现。Durablehistory将存储自查询开始以来所有变化的字段值的快照。通过使用Durablehistory,查询可以保持快照隔离,即使在数据发生变化的情况下,Durablehistory也有助于降低存储引擎的缓存压力,使得业务可以在高写入负载的场景下实现更高的查询吞吐量。新版MongoDBShell
  为了提供更好的用户体验,MongoDB5。0从头开始重新设计了MongoDBShell(mongosh),以提供一个更现代化的命令行体验,以及增强可用性的功能和强大的脚本环境。新版MongoDBShell已经成为MongoDB平台的默认shell。新版MongoDBShell引入了语法高亮、智能自动完成、上下文帮助和有用的错误信息,为您创造一个直观、互动的体验。增强的用户体验更容易编写查询和聚合,更容易阅读结果。新版MongoDBShell支持语法高亮功能,方便您区分字段、值和数据类型,以避免语法错误。如果仍然发生错误,新版MongoDBShell也可以指出问题点并告诉您解决方法。更快输入查询和命令。新版MongoDBShell支持智能自动完成功能,即新版MongoDBShell可以根据您连接的MongoDB的版本,为方法、命令、MQL表达式等给出自动完成选项的提示。
  示例:当您不记得某个命令的语法时,您可以直接从MongoDBShell中快速查找该命令的语法。高级脚本环境新版MongoDBShell的脚本环境建立在Node。jsREPL(交互式解释器)之上,您在脚本中可以使用所有的Node。jsAPI和NPM的任何模块。您也可以从文件系统中加载和运行脚本(和旧版MongoDBShell一样,您可以继续使用Load和Eval执行脚本)。扩展性和插件新版MongoDBShell具有易扩展性,使您能够使用MongoDB的所有功能以提高生产力。
  在新版MongoDBShell中,允许安装Snippets插件。Snippets可以自动加载至MongoDBShell中,且Snippets可以使用所有的Node。jsAPI和NPM包。MongoDB也维护了一个Snippets仓库,提供了一些有趣的功能(例如分析指定集合模式的插件),您也可以自由地配置MongoDBShell使用您选择的插件。
  说明插件当前仅为MongoDBShell的一个实验性功能。PyMongoArrow与数据科学
  随着新的PyMongoArrowAPI的发布,您可以在MongoDB上使用Python运行复杂的分析和机器学习。PyMongoArrow可以快速将简单的MongoDB查询结果转换为流行的数据格式(例如Pandas数据框架和NumPy数组),帮助您简化数据科学工作流程。Schema验证改进
  Schema验证(模式验证)是对MongoDB进行数据应用管理控制的一种方式。MongoDB5。0中,模式验证变得更加简单和友好,当操作验证失败时都会产生描述性的错误信息,帮助您了解不符合集合验证器的验证规则的文档及原因,以快速识别和纠正影响验证规则的错误代码。可恢复的索引创建任务
  MongoDB5。0支持将正在进行中的索引创建任务在节点重新启动后自动会恢复至原来的位置,减少计划中维护动作对业务的影响。例如:重新启动或升级数据库节点时,您不需要担心当前正在进行的大集合索引创建任务失效。版本发布调整
  由于MongoDB支持很多版本和平台,每个发布版本都需在20多个MongoDB支持的平台上进行验证,验证工作量大,降低了MongoDB新功能的交付速度,所以从MongoDB5。0开始,MongoDB发布的版本将分为MarjorRelease(大版本)和RapidReleases(快速发布版本),其中RapidReleases作为开发版本提供下载和测试体验,但不建议用在生产环境。
投诉 评论 转载

直播带货会一直那么火吗?直播火热是有目共睹的,但是能不能长期火下去,成为商业世界里一种持续存在而且还有效的力量,这非常值得讨论。也看了《动见》专刊里的各方观点,有些启发,讲讲我自己的看法:1、直……乘联会11月新能源车出口保持强势增长,特斯拉中国出口2112乘联会数据显示,11月新能源车出口保持强势增长,特斯拉中国出口21127辆,上汽乘用车的新能源出口6110辆,吉利汽车470辆,长城汽车426辆,比亚迪404辆。11月小鹏、理……内蒙古科技成果登记数量首次破千近日,《2021年度内蒙古自治区科技成果统计分析报告》(以下简称《分析报告》)出炉,我区科技成果登记数量首次突破1000项。根据《分析报告》材料统计,2021年全区共登记……十荟团论持久战作者冯昭互联网巨头挤压、市场监管趋严的态势之下,十荟团陷入裁员、关站、撤城的风波之中。8月21日,十荟团创始人陈郢通过一封题为《聚焦用户长期价值的一次自我革新》的内……抢占新零售红利,京东开始改造菜市场本文采编:袁梦颖核心导读:1、京东为何要改造菜市场?2、此条路上京东将遇到什么挑战?3、路的终点是否别有洞天?据悉,京东生鲜已改造超50家上海传统……中国联通研究院牵头项目荣获中国电子学会科技进步二等奖近日,中国电子学会公布了2021年科学技术奖获奖名单,由中国联通牵头与东土科技、中兴通讯、中科院计算机网络信息中心联合申报的《面向工业场景的5G专网技术创新、设备研制和应用》项……联想第二款白菜价手机联想Z6Pro,骁龙855处理器大内存,谢邀!首先我们说现代商品的发展趋势肯定是追随于品牌,这是没有任何问题的,各个行业各个领域目前也都遵循这样的规律。而产品最终的核心竞争力一定是有相当一大部分的贡献来源于品牌……下载APP才能看全文?媒体装不装应由用户说了算来源:经济日报近日,针对部分网站在用户浏览页面信息时被强制要求下载APP等问题,工业和信息化部督促相关互联网企业整改,引来网友拍手称快,可谓深得人心。装不装APP,应由用……ViVoX70Pro真机图及配置再曝!vivo手机首次荣升亚ViVoX70Pro真机图再曝!SK数码科技8月26日消息!根据爆料,vivo的X70系列,新款Pro旗舰新品要来了,就在今天有了较为详细的配置信息和图片。据了解,……为什么国产手机拍照很强,但拍视频却落后于苹果?苹果就是个垃圾手机,被国产旗舰全方位吊打,就剩个牌子〔捂脸〕看来提问者没有用vivo手机,无论拍照还是视频,都比爱疯好多了。确实是这样,苹果目前稳坐视频的天花板,拍……魅族17推送Flyme9正式版,却被魅友惨骂玩文字游戏骗感情之前因为系统的问题,魅族官微没少挨骂。并不是说魅族的系统不行,而是在针对老机型的升级推送速度上确实有点慢,以至于不少老用户在长期等待无果之后开始抑制不住心中的愤懑,只能拿魅族官……MongoDB5。0新特性概览MongoDB5。0标志着一个新的发布周期的到来,以更快地交付新特性给到用户。版本化API与在线重新分片相结合,使用户不必担心未来的数据库升级以及业务变化问题;本地原生时间序列……
天鹅座万年前发出的讯号被捕获,有谁能用大白话解释一下吗?90电视有开机广告七成网友表示一秒都不能忍为什么越来越多的人后悔买新能源汽车?小鹏推出金属麻将引领国粹年礼风潮联想公司是否有罪?三星M53概念机曝光,一亿像素五摄7500mAh144Hz,火星着陆遭国外质疑,祝融号传回着陆影像,为何数据接收这么久?汽车数据安全管理规定征求意见特斯拉支持并响应拥有云米AI燃气热水器Zero2C1,在家也能做SPA手机充电大有讲究!如何给手机正确的充电腾讯将所持京东千亿市值股权作股东分红创下国内上市公司史上最壕加拿大禁止华为和中兴参与加5G网络建设外交部回应和月光一起散步五年级作文意大利玫瑰水怎么样?意大利smn玫瑰水好用吗?近年来老人心理疾病的原因是哪些年纪轻轻就造假九篇SCI?是学术天才还是造假高手?美无处不在作文500字托班小蝌蚪找妈妈教案10个孩子9个磨,打骂还不管用,家长不妨用这4招解决爱一个人,需要慢慢地考前必读作文有文采七大秘诀孙悟空为什么姓孙菩提祖师为什么给取名孙悟空微信大改版那些你不曾注意的小细节秋风带走难过,从此只欢与喜

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利