迅闻网
让更多人看到你

mongodb使用场景(mongodb优势与缺点)

  mongodb使用场景

1.mongodb介绍
MongoDB(称号来自”humongous”)是一个可扩展的高功用,开源,模式自在,面向文档的数据库。它运用C++编写。MongoDB特色:
a.面向调集的存储:合适存储目标及JSON方法的数据。
b.动态查询:mongo支撑丰厚的查询表达方法,查询指令运用JSON方法的符号,可轻易查询文档中的内嵌的目标及数组。
c.完整的索引支撑:包括文档内嵌目标及数组。mongo的查询优化器会分析查询表达式,并生成一个高效的查询方案。
d.查询监视:mongo包含一个监视东西用于分析数据库操作功用。
e.仿制及主动故障搬运:mongo数据库支撑服务器之间的数据仿制,支撑主-从模式及服务器之间的彼此仿制。仿制的首要目的是提供冗余及主动故障搬运。
f.高效的传统存储方法:支撑二进制数据及大型目标(如相片或图片)。
g.主动分片以支撑云级别的伸缩性:主动分片功用支撑水平的数据库集群,可动态增加额定的机器。
2.mongo运用场合
mongodb的首要目标是在键/值存储方法(提供了高功用和高度伸缩性)以及传统的RDBMS体系(丰厚的功用)架起一座桥梁,集两者的优势于一身。mongo适用于以下场景:
a.网站数据:mongo十分合适实时的刺进,更新与查询,并具备网站实时数据存储所需的仿制及高度伸缩性。
b.缓存:由于功用很高,mongo也合适作为信息根底设施的缓存层。在体系重启之后,由mongo建立的耐久化缓存能够防止基层的数据源过载。
c.大尺度、低价值的数据:运用传统的联系数据库存储一些数据时可能会比较贵,在此之前,许多程序员往往会选择传统的文件进行存储。
d.高伸缩性的场景:mongo十分合适由数十或许数百台服务器组成的数据库。
e.用于目标及JSON数据的存储:mongo的BSON数据格式十分合适文档格式化的存储及查询。
运用职业:
游戏场景,运用MongoDB存储游戏用户信息,用户的装备、积分等直接以内嵌文档的方法存储,方便查询、更新
物流场景,运用MongoDB存储订单信息,订单状况在运送过程中会不断更新,以MongoDB内嵌数组的方法来存储,一次查询就能将订单一切的变更读取出来。
交际场景,运用MongoDB存储存储用户信息,以及用户宣布的朋友圈信息,经过地理方位索引完成邻近的人、地址等功用
物联网场景,运用MongoDB存储一切接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析
视频直播,运用MongoDB存储用户信息、礼物信息等

mongodb
公司使用事例:
Craiglist上运用MongoDB的存档数十亿条记载。
FourSquare,根据方位的交际网站,在AmazonEC2的服务器上运用MongoDB共享数据。
Shutterfly,以互联网为根底的社会和个人出版服务,运用MongoDB的各种耐久性数据存储的要求。
bit.ly,一个根据Web的网址缩短服务,运用MongoDB的存储自己的数据。
spike.com,一个MTV网络的联营公司,spike.com运用MongoDB的。
Intuit公司,一个为小企业和个人的软件和服务提供商,为小型企业运用MongoDB的盯梢用户的数据。
sourceforge.net,资源网站查找,创建和发布开源软件免费,运用MongoDB的后端存储。
etsy.com,一个购买和出售手艺制作物品网站,运用MongoDB。
纽约时报,抢先的在线新闻门户网站之一,运用MongoDB。
CERN,闻名的粒子物理研究所,欧洲核子研究中心大型强子对撞机的数据运用MongoDB。
不合适的场景:
a.高度事物性的体系:例如银行或管帐体系。传统的联系型数据库现在还是更适用于需要很多原子性杂乱事务的使用程序。
b.传统的商业智能使用:针对特定问题的BI数据库会对产生高度优化的查询方法。对于此类使用,数据仓库可能是更合适的选择。
c.需要SQL的问题。

mongodb优势与缺点

一款介于联系数据库和非联系数据库之前的产品,根据分布式文件存储的数据库,旨再为WEB引证供给可扩展的高功能数据存储解决方案,将数据存储为一个文档(类似JSON目标),数据结构由键值(key=>value)对组成支撑丰厚的查询表达,能够设置任何属性的索引;支撑副本集、分片。
MongoDB的长处:
1、弱一致性(终究一致),更能确保用户的访问速度
2、文档结构的存储方法,能够更便捷的获取数据
关于一个层级式的数据结构来说,如果要将许多的数据运用扁平式的、表状的结构来保存数据,这不管是在查询还是获取数据时都会很困难。
3、第三方支撑丰厚。
这是它跟其它的NoSQL相比,MongoDB也具有的优势,由于现在网络上的许多NoSQL开源数据库完全属于社区型的,没有官方支撑,给运用者带来了很大的危险。
而开源的文档数据库MongoDB背后有商业公司为它供给商业训练和支撑。
4、功能优越
在运用场合下,千万等级的文档目标,近10G的数据,对有索引的ID的查询不会比mysql慢,而对非索引字段的查询,则是全面胜出。mysql实践无法担任大数据量下恣意字段的查询,而mongodb的查询功能能够,一起它的写入功能也很厉害,能够写入百万等级的数据。
MongoDB的缺点:
1、MongoDB不支撑事务操作
所以事务要求严格的系统,比如银行系统就不能用它。
2、MongoDB占用空间过大
2.1、空间的预分配:
当MongoDB的空间不足时它就会申请生成一大块硬盘空间,而且申请的量都是有64M、128M、256M来增加直到2G为单个文件的较大体积,并且随着数量叠增,能够在数据目录下看到整块生成而且不断递增的文件。
2.2、删去记载不开释空间:
这很简单了解,为防止记载删去后的数据的大规模挪动,原记载空间不删去,只标记“已删去”即可,今后还能够重复利用。
3、(开发和IT运营要注意)MongoDB没有MySQL那样成熟的维护东西

未经允许不得转载:迅闻网 » mongodb使用场景(mongodb优势与缺点)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

迅闻网-让更多人看到你

登录/注册返回首页