数据库选Mongo还是Elalsticsearch 10亿数据

  • 电脑网络维修
  • 2024-11-15

名目启动,预估超越10亿的文档数据要存储,那么咱们选用Elasticsearch or Mongodb?

明白两者定位

MongoDB和Elasticsearch都属于NoSQL范围的数据库,且都属于文档型数据存储数据库。

所以这两者的泛滥性能和个性高度重合, 但其实两者定位还是有所不同。

MongoDB是文档型数据库, 提供数据存储和治理服务。

Elasticsearch作为一个搜查引擎,定位是提供数据检索服务,也就是说重点是全文索引,即含糊婚配。

因此,Elasticsearch的设计会有所侧重,比如Mapping无法变,带来的代价就是es不特意长于作为纯文档数据的治理者, es可以从其余数据源同步数据过去提供全文检索和查问,不特意长于自己对数据启动存储和治理。

MongoDB有多个存储引擎可以选用, 而且MongoDB不只看重数据的剖析, 对数据的治理雷同看重, 总的来说MongoDB更偏差于数据的存储和治理, 可以作为数据源对外提供。

Elasticsearch则有很多插件可以经常使用,相对来讲Elasticsearch更偏差于数据的查问, 普通状况下elasticsearch仅作为数据检索服务和数据剖析平台, 不间接作为源数据治理者.

所以,假设系统中已有mongodb或其余数据库作为关键数据存储,而Elasticsearch关键担任从其中失掉局部数据提供极速全文检索即可,即mongdob+Elasticsearch的打算.

此文我更想论述的是,当名目思索物理资源、运维老本等方面限度时,不想同时引入两套数据库时,二者只能选用一个时,咱们选哪个呢??

全文检索的需求

首先,要细心理考名目需求中,能否存在对全文检索的需求,假设存在,检索的条件能否复杂?能否很花式?检索的性能要求能否十分高?

假设答案都是yes,那么基本上可以确认就得选Elasticsearch了,一票否决mongodb。

Mongodb是可以满足基本的含糊查问性能的,咱们在实践名目中,3个节点Mongodb集群内存有0万业务数据,在一个业务内容上用regex含糊查问一个关键词,只含糊查前100条,基本可以1秒内前往。

然而更初级一点的含糊查问就很难允许了,并且触及查问count总量时就十分慢,经常10秒以上才干前往结果。

所以评价名目能否对全文检索有比拟高的需求要重点考量。

字段能否经常变换

假设业务重点在于数据的增删改查,全文检索的要求不高,那么Mongodb或许更适宜。

比如,电商业务一个基本的性能模块就是存储各种品类的商品消息,各种商品的个性和参数各异,MongoDB灵敏的文档模型十分适宜于这类业务。由于商品的品类单一,存入汇合中的每一种商品在字段上都有差异,并且未来还会减少新品类的商品。

这种数据字段预期未来会经常变化,显然mongodb更好,ES字段变化时处置起来比拟费事,须要经常变卦mapping,代价很大,普通须要从新写入一个新的index,做reindexing来处置,在数据量到达一亿以上时,须要大半天赋能成功,并且对线上写入的业务是有必定影响的。

所以关于数据结构经常频繁变化,一个汇合中存储多种字段不同的数据时,用monggodb会更好!

配件资源方面

假设从资源占用方面角度看,MongoDB可以允许存储文件类型的数据, 作为数据库也有数据紧缩才干, es则由于少量的索引存在须要占用少量的磁盘和内存空间。

在mongodb不须要建太多索引的状况下,mongodb或许更节俭一些资源,当然影响最后占用内存和磁盘空间的要素较多,这个也不齐全相对,所以须要依据实践状况去测一下。

运维部署

在运维部署方面,ES的一套工具ELK,如今叫Elastic Stash,自带对集群的形态监控,装置部署也较mongodb繁难太多,对运维人员来说相比mongodb容易上手太多。

在弹性伸缩方面,ES相比mongodb也容易太多,真的容易太多,并且,ES水平裁减更容易,能够智能平衡!

可以担任的说mongodb对运维部署人员的要求要比ES显著要高很多。用ES集群,你会显著觉得你对它的掌控力更强。

所以,在监控运维方面,ES显著更具长处。

性能方面

写入性能与查问性能对比如面,mongodb在除了全文索引之外的绝大局部场景是会比ES要高一些的,尤其是写入性能!!!

在性能方面,我觉得假设谋求极致的写入性能与写入实时性要求,那么应该选用mongdob,否则Elasticsearch也足够用啦。

咱们在多个实践名目中,对ES集群的查问性能与写入性能还都是比拟满意的。

总结

在日志运行畛域,两者可以相互代替,但经过上述对比,显著选项ES更好。

假设你的业务场景就是须要一个文档型的业务数据库,比如咱们目前担任树立的多个业务数据库,关键是基本的增删改查,那最好还是选mongodb。

假设你有要求复杂全文检索又并发性能要求较高的业务场景,相似搜查服务,那最好的选用还是elasticsearch。

但其实对大少数的中小公司来讲,这两者的数据治理才干并足够满足业务需求,都可以相互代替。

综合考量上去,绝大局部场景用ES相对就可以比拟好的满足了,除非对写性能有极高的要求,除非字段未来会频繁变卦。

最后,大家还是要依据自己名目标实在需求,启动综合评价和测试。

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/6522.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号