MongoDB 的简介

MongoDB 趋势

对于 MongoDB 的认识 Q&A

|----------------------|-----------------------------------------------|
| Q | A |
| 什么是 MongoDB? | 一个以 JSON 为数据模型的文档数据库 |
| 一个以 JSON 为数据模型的文档数据库 | 文档来自于"JSON Document",并非我们一般理解的 PDF,WORD |
| 谁开发 MongDB? | 上市公司 MongoDB Inc. ,总部位于美国纽约。 |
| 主要用途有哪些? | OLTP\OLAP数据库,类似于 Oracle, MySQL,海量数据处理,数据平 台。 |
| 主要特点是什么? | 无模式或可选。友好的JSON数据模型,开发方便。 |
| MongoDB 是免费的吗? | MongoDB 有两个发布版本:社区版和企业版。企业版基于商业协议, 需付费。 |

MongoDB 版本变迁

MongoDB vs RDBMS

|---------|-------------------------------------|-------------|
| 功能 | MongoDB | RDBMS |
| 数据模型 | JSON | Relational |
| 数据库类型 | OLTP/OLAP | OLTP/OLAP |
| CRUD 操作 | MQL/SQL | SQL/SQLX |
| 高可用 | 原生Replica-Set | Cluster、中间件 |
| 横向扩展能力 | 原生MSC | 分片、中间件 |
| 索引支持 | B-Tree、F-text、GIS、multikey、HASH、TTL | B-Tree |
| 开发难度 | easy | hard |
| 数据容量 | 无理论上限 | 千万、亿 |
| 扩展方式 | 垂直扩展+水平扩展 | 垂直扩展 |

MongoDB vs MySQL逻辑结构对比

|----------|------------|
| MySQL | MongoDB |
| database | database |
| table | collection |
| row | document |

MongoDB 特色及优势

MongoDB 优势:面向开发者的易用 + 高效数据库

SQL 模型:错综复杂

JSON 模型:条理清楚

快速响应业务变化:

a. 多类型:

同一个Collection中,可以包含不同字段(类型)的文档对象.

b. 更灵活:

线上修改结构,应用与数据库均无须下线

简洁的开发模式:

a. 数据库引擎只需要在一个存储区读写.

b. 反范式、无关联的组织极大优化查询速度.

c. 程序API自然,开发快速.

SQL 插入数据代码量:

MongoDB 只需要两行代码:

MongoDB 优势:原生的高可用和横向扩展能力

高可用能力

a. Replica Set -- 2 to 50 个成员

b. 自恢复

c. 多中心容灾能力

d. 滚动服务 -- 最小化服务终端

横向扩展能力

a. 需要的时候无缝扩展

b. 应用全透明

c. 多种数据分布策略

d. 轻松支持TB--PB数量级

MongoDB 技术优势总结

a. JSON 结构和对象模型接近,开发代码量低

b. JSON 的动态模型意味着更容易响应新的业务需求

c. 复制集提供 99.999% 高可用

d. 分片架构支持海量数据和无缝扩容

相关推荐
曹牧32 分钟前
Oracle数据库中,将JSON字符串转换为多行数据
数据库·oracle·json
被摘下的星星1 小时前
MySQL count()函数的用法
数据库·mysql
末央&1 小时前
【天机论坛】项目环境搭建和数据库设计
java·数据库
徒 花1 小时前
数据库知识复习07
数据库·作业
素玥1 小时前
实训5 python连接mysql数据库
数据库·python·mysql
jnrjian1 小时前
text index 查看index column index定义 index 刷新频率 index视图
数据库·oracle
瀚高PG实验室2 小时前
审计策略修改
网络·数据库·瀚高数据库
言慢行善2 小时前
sqlserver模糊查询问题
java·数据库·sqlserver
韶博雅2 小时前
emcc24ai
开发语言·数据库·python
有想法的py工程师2 小时前
PostgreSQL 分区表排序优化:Append Sort 优化为 Merge Append
大数据·数据库·postgresql