关于mongodb
概念 | 解释 |
---|---|
MongoDB是什么 | 以JSON为数据模型的文档数据库 |
为什么成为是文档数据库 | 文档来自于“JSON Document” |
用途 | 应用数据库,海量数据处理,数据平台 |
特点 | 建模为可选;JSON 数据模型比较适合开发者;横向扩展可以支撑很大数据量和并发 |
mongodb和关系型数据库的异同
MongoDB | RDBMS | |
---|---|---|
数据库模型 | 文档模型 | 关系模型 |
数据库类型 | OLTP | OLTP |
CRUD操作 | MQL/SQL | SQL |
高可用 | 复制集 | 集群模式 |
横向扩展能力 | 分片模式 | 数据分区或者应用侵入 |
索引支持 | B-树、全文索引、地理位置索引、多键(multikey) 索引、TTL 索引 | B 树 |
开发难度 | 容易 | 困难 |
数据容量 | 没有理论上限 | 千万、亿 |
扩展方式 | 垂直扩展+水平扩展 | 垂直扩展 |
MongoDB 特点和优势
一、特点
灵活
1、多形性: 同一个集合中可以包含不同字段(类型)的文档对象
2、动态性: 线上修改数据模式,修改是应用与数据库均无须下线
3、数据治理: 支持使用 JSON
Schema 来规范数据模式。在保证模式灵活动态的前提下,提供数据治理能力
快速
JSON 模型快速特性:
1>数据库引擎只需要在一个存储区读写
2>反范式、无关联的组织极大优化查询
速度
3>程序 API 自然,开发快速
二、MongoDB 优势
1、原生的高可用和横向扩展能力
1>Replica Set – 2 to 50 个成员
2>自恢复
3>多中心容灾能力
4>滚动服务 – 最小化服务终端
2、横向扩展能力–分片模式
1>需要的时候无缝扩展
2>应用全透明
3>多种数据分布策略
4>轻松支持 TB – PB 数量级