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 存储用户信息、礼物信息等
公司应用案例:
- Craiglist上使用MongoDB的存档数十亿条记录。
- FourSquare,基于位置的社交网站,在Amazon EC2的服务器上使用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 使用场景相关推荐
- Redis和Mongodb应用场景
Redis和Mongodb应用场景 原文: Redis和MongoDB的区别以及应用场景 现在的分布式项目基本都会用到redis和mongodb,可是redis和mongdb到底有什么不同呢,今天我就 ...
- MongoDB应用场景
2019独角兽企业重金招聘Python工程师标准>>> 客户场景 1.用在应用服务器的日志记录,查找起来比文本灵活,导出也很方便.也是给应用练手,从外围系统开始使用MongoDB. ...
- MongoDB导出场景查询优化 #1
原始链接:https://github.com/aCoder2013/blog/issues/1 转载请注明出处 引言 前段时间遇到一个类似导出数据场景,观察下来发现速度会越来越慢,导出100万数据需 ...
- java mongodb 使用场景_mongodb使用场景一般是什么?mongodb有哪些基本命令?
此前我们已经充分了解过了mongodb的原理及各种概念,你们知道一般在什么场景下才会使用mongodb吗?下面通过文章来了解一下吧. 一.mongodb基本命令 1).数据库切换use admin; ...
- MongoDB 应用场景、避坑事项与最佳实践
MongoDB 是一个高性能,开源,无模式的文档型数据库,是当前 NoSQL 数据库产品中最热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值存储方式,MongoDB 使用 C++开发. ...
- Redis和Mongodb应用场景研究
现在的分布式项目基本都会用到redis和mongodb,可是redis和mongdb到底有什么不同呢,今天我就基于我们公司的项目来具体介绍一下redis和mongodb的各自的应用场景. 首先我们这个 ...
- MongoDB建模场景
模式版本管理模式 有人说,生活中唯一不变的东西就是变化.这对数据库模式也是如此.我们曾经认为不需要的信息,现在我们想捕捉.或者新的服务变得可用,需要包括在数据库记录中.不管变化背后的原因是什么,一段时 ...
- 什么场景应该用 MongoDB ?
月初在云栖社区上发起了一个 MongoDB 使用场景及运维管理问题交流探讨 的技术话题,有近5000人关注了该话题讨论,这里就 MongoDB 的使用场景做个简单的总结,谈谈什么场景该用 MongoD ...
- MySQL、MongoDB、列数据库的区别及应用场景
目录 什么是行存储和列存储? 什么是MongoDB(NoSQL)? OLTP和OLAP 什么是CAP定理? 使用场景 行存储的适用场景: 列存储的适用场景: MongoDB相对于MySQL的优点 更适 ...
- mangouDB和mysql的区别_谈谈mongodb,mysql的区别和具体应用场景
最近对数据库比较感兴趣,于是就去研究了下部分相关热门的数据库. MySQL 关系型数据库. 在不同的引擎上有不同 的存储方式. 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高. 开源数 ...
最新文章
- 商汤等提出:统一多目标跟踪框架
- mysql 去除括号_MySQL语句批量去除括号及内容
- 45. ExtJS ComboBox 下拉列表详细用法
- 嵌入式系统串口解析二进制数_嵌入式系统Bootloader分析及DSP56F800串口加载功能实现...
- mysql 数值型注入_SQL注入之PHP-MySQL实现手工注入-数字型
- Cracked me --1--Acid_burn
- Nodejs cluster模块深入探究
- 没有找到 AUTOBACKUP
- 强推WordPress里的一款代码高亮插件——EnlighterJS
- 分子动力学模拟的主要步骤
- 魔兽、星际和红警的比较
- html: a标签中的href的作用
- 连接本地数据库,mysql提示Can‘t connect to MySQL server on localhost (10061)解决办法
- modelsim-SE仿真error问题
- 全球及中国塑料机械行业十四五发展战略与竞争格局展望报告2022版
- Python 常用标准库介绍
- Android Studio 4.1.2 自定义 APP 启动图标样式步骤【APP开发之入门四】
- Graphql入门_1
- xzfnz.fsj.kzxf.xkjf你的反馈没看到房间内了覆盖面,发
- 完全用计算机制作的三维动画,一种用一台个人电脑制作高质量三维机械仿真动画的方法...
热门文章
- texmacs转到latex(winEdt)
- mac电脑重装系统操作步骤
- 论文结构及其内容简介
- 联盟营销最佳实践:提高联盟计划的投资回报率
- Linux查询系统上次启动时间last reboot、上线时间uptime
- html 中thead标签,HTML thead 标签
- 计算机硬件系统包括哪几部分组成,计算机硬件系统由哪几部分组成
- 对抗学习概念、基本思想、方法综述
- 写给理工科人看的乐理(二)十二平均律与五线谱
- WORD中设置“选择性粘贴“—“无格式文本”的快捷键