MongoDB的主要特性概述
一、文档数据模型
文档是一组属性名和属性的集合。相较于关系数据库复杂的规范化,面向文档的数据模型很容易以聚合的形式来表示数据。文档采用无Schema的形式,这种做法带来了一定的优势:首先,由应用程序,而非数据库来保证数据结构;其次,无Schema的模型允许用真正可变属性来表示数据。
二、即时查询
即时查询:无需预先定义系统接受的查询类型。关系型数据库必备的性质,文档数据库提供了类似SQL查询的功能。但是,如Key-Value数据库不能实现即时查询功能。
三、二级索引
通常采用B树实现类似RDBMS的索引,对查询进行优化。
四、复制
MongoDB采用副本集(replica set)的拓扑结构提供复制功能。副本集将数据分布到多台机器上实现冗余,在服务器或网络故障时能够提供自动故障转移。复制功能还能用于扩展数据库的读能力(对于一个读密集的应用,可以把数据库读操作分散到副本集集群中的各台机器)。
副本集由一个主节点(Primary node)和一个或多个从节点(secondary node)构成。当主节点down掉后,集群会选择一个从节点自动将它提升为主节点,先前的主节点恢复后变成一个从节点。主节点既能够读也能够写,而从节点是只读的。图中官方文档给出的当主节点故障后MongoDB处理方式。

五、速度和持久化折中
通过开启Journaling日志记录,控制速度和持久化之间的平衡。
六、水平扩展能力
水平扩展与垂直扩展。垂直扩展,升级硬件,已暂时消除数据库的性能瓶颈。优势在于简单、可靠。缺点:成本过高,硬件水平有限。
水平扩展,通过集群,将数据分布到多台机器,而不是只提升单个节点的性能。优点:成本降低、可以降低故障带来的影响。

参考资料:MongoDB in Action,MongoDB文档
MongoDB的主要特性概述的更多相关文章
- MongoDB源码概述——内存管理和存储引擎
原文地址:http://creator.cnblogs.com/ 数据存储: 之前在介绍Journal的时候有说到为什么MongoDB会先把数据放入内存,而不是直接持久化到数据库存储文件,这与Mong ...
- MongoDB学习笔记——概述
概述 MongoDB是一个跨平台,面向文档的数据库.MongoDB创建的数据库可以实现高可用性,高性能,并且能够轻松拓展. MongodbDB的运行方式主要给予两个概念:集合(collection)和 ...
- MongoDB副本集学习(一):概述和环境搭建
MongoDB副本集概述 以下图片摘自MongoDB官方文档:http://docs.mongodb.org/manual/core/replication-introduction/ Primary ...
- MongoDB复制集原理、环境配置及基本测试详解
一.MongoDB复制集概述 MongoDB复制集实现了冗余备份和故障转移两大功能,这样能保证数据库的高可用性.在生产环境,复制集至少包括三个节点,其中一个必须为主节点,一个从节点,一个仲裁节点.其中 ...
- MongoDB 比较适用哪些业务场景?
在云栖社区上发起了一个 MongoDB 使用场景及运维管理问题交流探讨的技术话题,有近5000人关注了该话题讨论,这里就 MongoDB 的使用场景做个简单的总结,谈谈什么场景该用 MongoDB ...
- 什么场景应该用 MongoDB(转)
很多人比较关心 MongoDB 的适用场景,也有用户在话题里分享了自己的业务场景,比如: 案例1 用在应用服务器的日志记录,查找起来比文本灵活,导出也很方便.也是给应用练手,从外围系统开始使用Mong ...
- mongodb入门-关系型RDMS数据库对比及适用场景
引言 最近工作接触到了mongodb数据库,记录下个人对其的理解和使用情况.虽然mongodb 出来的时间已经不短,但是相对mysql mssql oracle 这样传统的关系型数据库来说还是比较年轻 ...
- 什么场景应该用 MongoDB ?
摘要: 月初在云栖社区上发起了一个 MongoDB 使用场景及运维管理问题交流探讨 的技术话题,有近5000人关注了该话题讨论,这里就 MongoDB 的使用场景做个简单的总结,谈谈什么场景该用 Mo ...
- MongoDB 比较适用哪些业务场景
转载自:https://www.cnblogs.com/williamjie/p/10416294.html 在云栖社区上发起了一个 MongoDB 使用场景及运维管理问题交流探讨的技术话题,有近50 ...
随机推荐
- sql server 2008 System.Data.SqlClient.SqlException (0x80131904): 查询处理器未能为执行并行查询启动必要的线程资源 处理方法
修改并行度: 修改了这个“最大并行度”,如果再没出现 cxpacket应该没问题了 参考资料:http://jingyan.baidu.com/article/5d6edee22daf8799eade ...
- codeforce--Vasya and Petya's Game
网址:http://codeforces.com/contest/576/problem/A A. Vasya and Petya's Game time limit per test 1 secon ...
- checkbox与文字的间距
1. checkbox在更换了图片后, 与文字的距离有问题, 建议修改background为@null, 去除占据的位置. 2. checkbox的paddingleft可以控制图片和文字的间距.
- 【转】find命令
Linux中find常见用法示例·find path -option [ -print ] [ -exec -ok command ] {} \;find命令的参数: pathname: find命令 ...
- UIButton 详解
1)创建 UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 风格有如下 typedef enum { UIButt ...
- 将assembly包添加到自己的maven仓库
mvn install:install-file -DgroupId=com.asiainfo -DartifactId=spark-assembly -Dversion=1.2.0 -Dpackag ...
- junit组合模式应用
组合模式 定义: 将对象组合成树形结构以表示“部分-整体”的层次结构.Composite模式使得用户对单个对象和组合对象的使用具有一致性 构成: Component:这是一个抽象角色,它给参加组合的对 ...
- 翻译:为 URL Rewrite 模块创建重写规则
原文名称:Creating Rewrite Rules for the URL Rewrite Module 原文地址:http://www.iis.net/learn/extensions/url- ...
- Android Activity 详述
activity类处于android.app包中,继承关系: extends ContextThemeWrapper implements LayoutInflater.Factory2 Window ...
- Acronis Server备份Linux系统
Acronis Server备份Linux系统 前段时间用Acronis Disk Director Suite解决了Thinkpad笔记本在win7的分区问题(http://chenguang.bl ...