MongoDB介绍 ========================================================================================================================== 一、MongoDB介绍 1、2007年10月,MongoDB由Dwight Merriman团队所发展。2009年2月首度推出 0.9 版本 MongoDB 2、文档数据库 3、数据存储不需要创建结构 4、使用C++开发 5、使用JSON、BSON保持数据 6、来自于英文单词“Humongous”,中文含义为“庞大” 二、关于性能 1、支持索引 2、不支持事务,支持数据的强一致性 3、内存映射机制 三、扩展性 1、复制 2、自动分片 四、特性 1、支持基于文档的查询 2、支持map/reduce 3、二级索引,完整的查询系统以及严格一致性 五、NoSQL 1、解释 NoSQL是对不同于传统的关系数据库的数据库管理系统的统称。两者存在许多显著的不同点,其中最重要的是NoSQL不使用SQL作为 查询语言。其数据存储可以不需要固定的表格模式,也经常会避免使用SQL的JOIN操作,一般有水平可扩展性的特征。NoSQL一词 最早出现于1998年,是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系数据库。 2、特点 1、不提供ACID数据库设计模型 2、数据模型简单 3、元数据和数据分离的模式 4、弱一致性,最终一致性 5、高性能读写 6、高水平横向扩展 六、NewSQL 1、解释 NewSQL是指这样一类新式的关系型数据库管理系统,针对OLTP(读-写)工作负载,追求提供和NoSQL系统相同的扩展性能,且仍然 保持ACID和SQL等特性(scalable and ACID and (relational and/or sql -access))。NewSQL 是对各种新的可扩展/高性能数据库 的简称,这类数据库不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL等特性。 七、实现数据一致性的技术 1、NRW N:数据所具有的副本数 R:完成读操作所需要读取的最小副本数,即一次读操作所需参与的最小节点数目 W:完成写操作所需要写入的最小副本数,即一次写操作所需要参与的最小节点数目 2、2PC 3、Paxos 4、Vector Clock 八、MongoDB提供了数据托管服务 Altas。 ==========================================================================================================================