MongoDB 是比较像 关系型数据库的非关系数据库

MongoDB 的数据结构与关系型数据库数据结构对比

关系型数据库 概念 非关系数据库 概念 解释说明
Database Database
Table Collection 数据库表/集合
Row Document 行/文档
Column Field 数据列/数据字段
index index 索引
Table_joins   表关联/MongoDB 不支持
primary_Key Object ID 主键 /mongoDB 自动将_id设置为主键

关系型数据库 需预定义出 表的各个字段和约束

非关系型数据库 MongoDB 不会预定义 最终 database是增量分析的结果,如 最终的document 是所有document 取最大呢并集的字段结果

可以简单的把document,理解为一个BSON(二进制的json)对象;

 

NOSQL数据库的分类

列存储:Hbase, Cassandra, Hypertable

文档存储:MongoDB,CounchDB

key-value 存储:Redis  , Memcache;

 

 由于mongoDB的非事务机制(事务就是强一致性的体现),其在CAP理论中仅仅支持 AP(可用性和分区容错型)

 

 

分布式复习--MongoDB

分布式复习--MongoDB

如上图mongodb 是支持副本机智的,对于副本集,又有主从两个角色,写数据和读数据也是不同的,写数据的过程是只写到主节点中,由主节点以异步方式同步到从节点中:

分布式复习--MongoDB

   对于读数据,可以从任一节点读取,具体读那一节点是可以指定的, MongoDB的数据是分片存储,所以读的时候会读不同的副本

分布式复习--MongoDB

 

对于MongoDB的分片,假设我们以某一索引键(ID)为键片,id的区间为50,划分为5个chunk,分别存储在3个片服务器中,如图所示:

分布式复习--MongoDB

上图有误 依次为 chunk 12345.

分布式复习--MongoDB

 

分布式复习--MongoDB

 

MongoDB 对 MapReduce 引擎的内置支持.。

 

mongoDB支持的数据类型

分布式复习--MongoDB

 

分布式复习--MongoDB

分布式复习--MongoDB

 

分布式复习--MongoDB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章: