1.mongodb是基于文档的(BSON,类似json的键值对来存储),不是基于表格,易于水平扩展,将内部相关的数据放在一起能提高数据库的操作性能。如果你想新建一个新的文档类型,不用事先告诉数据库关于这些数据的结构,直接存到数据库中即可。易存储对象类型的数据。

2.与关系数据库的重大区别:可扩展的表结构,也就是说collection(表)中document(一行记录)所拥有的字段是可以变化的。

3.支持的查询语言非常强大,其语法有点类似面向对象的的查询语言。mongodb没有join语句。

传统关系数据库中join操作可能会产生笛卡尔积的虚拟表消耗较多系统资源,而mongodb的文档对象集合是任意结构,我们可以设计交货号的数据模型尽量避开这样的需求。

4.支持云计算特点:

原生的可扩展架构,通过启用分片和水平扩展,提供云存储所需的技术;

它的自动管理“副本集”,以保持数据的可用性和完整性;

聚集操作尤其是mapreduce可以在分片集群上进行操作,可为大数据分析做准备。

5.目前大多数nosql数据库不支持事务。原因:

大多数NoSQL系统都要能够跨多台不同的机器扩展,数据库中的数据分布在不同的机器上。一个事务中的写入操作可能会访问多个分区(在多台机器上)的数据,这就是“分布式事务”。

在分布式事务中确保原子性需要参与事务的机器相互协作。每一台机器都必须确定,事务在其它机器上能够成功提交。而且,需要有一个协议,确保事务写入操作涉及的机器在写入数据状态稳定之前都不会出现故障。

这个协作过程不仅会消耗大量的资源,而且会增加数据库请求延迟。更大的问题是,在协作过程完成之前,其它操作无法读取该事务写入的数据。并发事务延迟会导致其它与出现延迟的事务在时间上存在重叠的事务延迟,最终导致系统“阻塞(cloggage)”。

分布式事务所需的分布式协作会严重影响数据库系统的性能,包括事务吞吐量和事务延迟。因此,大多数NoSQ系统都选择了不支持事务

来自 <http://blog.csdn.net/kezhong_wxl/article/details/77000947>

复制集和分片是mongodb最具特色的功能:

①复制集实现了数据库的备份、自动故障转移。

至少包括primary节点、secondary节点、arbiter节点(仲裁节点)三个节点,primary节点负责数据的读写,secondary节备份primary节点的数据。当primary节点故障时,arbiter会从secondary节点中选择一个节点当primary节点。

②分片集群,实现分布式存储与高效的读写分离。

复制集中的每个成员是一个mongodb实例,但是分片上部署时,每一个片就是一个复制集。

一个分片不是就在一个机器上。部署的总体原则要去使每个片(复制集)中的primary节点,secondary节点和arbiter节点分开以及和配置服务器分开,当其中任意一个机器宕机的时候,集群都能正常运行。

mongodb简介和特性的更多相关文章

  1. Redis和Memcache和MongoDB简介及区别分析(整理)

    Redis和Memcache 一.Redis简介 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年 ...

  2. MongoDB(一):NoSQL简介、MongoDB简介

    1. NoSQL简介 1.1 什么是NoSQL NoSQL(NoSQL= Not Only SQL),意即“不仅仅是SQL",是一项全新的数据库理念,泛指非关系型的数据库. 1.2 为什么需 ...

  3. MongoDB学习【一】—MongoDB简介和安装

    一.MongoDB简介 1.MongoDB是什么 MongoDB是一款强大.灵活.且易于扩展的通用型数据库,MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的 ...

  4. MongoDB 简介

    MongoDB 简介 介绍:MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.特点:高性能.易部署.易使用,存储数据非常方便.主要功 ...

  5. 001.NoSQL及MongoDB简介

    一 NoSQL简介 二 分布式系统 三 CAP及BASE定律 以上均可参考: http://www.runoob.com/mongodb/nosql.html 四 MongoDB简介 参考:http: ...

  6. Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB

    MongoDB 简介 1. 易于使用:没有固定的模式,根据需要添加和删除字段更加容易 2. 易于扩展:MongoDB的设计采用横向扩展.面向文档的数据模型使它能很容易的再多台服务器之间进行分割.自动处 ...

  7. MongoDB简介及基础知识

    MongoDB简介 一.MongDB是一个高性能,开源,无模式的文档型NosQL数据库.主要功能特性: 1.文件存储格式BSON(一种json的扩展) 2.模式自由,数据格式不受限了表的结构 3.支持 ...

  8. 树莓派4B踩坑指南 - (1)系统简介及特性

    系统简介及特性 19年双十一入坑树莓派4B,发现不是一般的坑,对于新出来的4B,从外包装壳,到接口,到内核,很多老的资料已经不再适用,又没有什么特别大的论坛可以讨论,只能自己一点点的摸索. 所以将遇到 ...

  9. Mongodb简介及基本操作

    一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性 ...

随机推荐

  1. 2017-5-14 湘潭市赛 Partial Sum 给n个数,每次操作选择一个L,一个R,表示区间左右端点,该操作产生的贡献为[L+1,R]的和的绝对值-C。 0<=L<R<=n; 如果选过L,R这两个位置,那么以后选择的L,R都不可以再选择这两个位置。最多操作m次,求可以获得的 最大贡献和。

    Partial Sum Accepted : Submit : Time Limit : MS Memory Limit : KB Partial Sum Bobo has a integer seq ...

  2. 小米Note全网通支持7模19频:先发标准版

    2015-06-26 16:42:53 17749 次阅读 9 次推荐 稿源:安卓中国 43 条评论 感谢安卓中国的投递 自古一入电信深似海,从此手机没法买.现在首台全网通小米手机即将诞生.6 月 2 ...

  3. MVVMLight-Mensenger 学习笔记

    MVVMLight-Mensenger  最近一直在使用WPF,配合美工很容易能搭配出效果不错的UI来,开发效率也明显加快 自己也是最近才开始使用Mvvmlight,通过view和viewmodel分 ...

  4. tomcat设置web根目录

  5. Spring MVC简单URL处理程序映射

    以下示例显示如何使用Spring Web MVC框架来实现一个简单URL处理程序映射. SimpleUrlHandlerMapping类分别显式地将URL映射到相应的控制器上. 所下所示配置 - &l ...

  6. java中Statement详细用法。

    1.创建 Statement 对象 建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句.Statement 对象用 Connection 的方法createStatement 创建,如下列代 ...

  7. JavaScript 函数语法

    函数就是包裹在花括号中的代码块,前面使用了关键词 function: function functionname() { 这里是要执行的代码 } 当调用该函数时,会执行函数内的代码. 可以在某事件发生 ...

  8. 目标跟踪之klt---光流跟踪法

    近来在研究跟踪,跟踪的方法其实有很多,如粒子滤波(pf).meanshift跟踪,以及KLT跟踪或叫Lucas光流法,这些方法各自有各自的有点,对于粒子滤波而言,它能够比较好的在全局搜索到最优解,但其 ...

  9. go反射----1类型

    声明:文章内容取自雨痕老师<Go语言学习笔记> 反射( reflect )让我们能在运行期探知对象的类型信息和内存结构,这从一定程度上弥补了静态语言在动态行为上的不足.同时,反射还是元编程 ...

  10. Redis 在windows中启动

    redis-server.exe redis.windows.conf 或 redis-server.exe redis.conf