MongoDB 的简介_数据模型

MongoDB 趋势

MongoDB 的简介_JSON_02

对于 MongoDB 的认识 Q&A

Q

A

什么是 MongoDB?

一个以 JSON 为数据模型的文档数据库

一个以 JSON 为数据模型的文档数据库

文档来自于“JSON Document”,并非我们一般理解的 PDF,WORD

谁开发 MongDB?

上市公司 MongoDB Inc. ,总部位于美国纽约。

主要用途有哪些?

OLTP\OLAP数据库,类似于 Oracle, MySQL,海量数据处理,数据平

台。

主要特点是什么?

无模式或可选。友好的JSON数据模型,开发方便。

MongoDB 是免费的吗?

MongoDB 有两个发布版本:社区版和企业版。企业版基于商业协议,

需付费。

MongoDB 版本变迁

MongoDB 的简介_数据模型_03

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 的简介_数据模型_04

MongoDB vs MySQL逻辑结构对比

MySQL

MongoDB

database

database

table

collection

row

document

MongoDB 的简介_SQL_05

MongoDB 特色及优势

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

MongoDB 的简介_SQL_06

SQL 模型:错综复杂

MongoDB 的简介_JSON_07

JSON 模型:条理清楚

MongoDB 的简介_数据模型_08

快速响应业务变化:

a. 多类型:

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

b. 更灵活:

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

MongoDB 的简介_JSON_09

简洁的开发模式:

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

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

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

MongoDB 的简介_SQL_10

SQL 插入数据代码量:

MongoDB 的简介_SQL_11

MongoDB 只需要两行代码:

MongoDB 的简介_数据模型_12

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

高可用能力

a. Replica Set – 2 to 50 个成员

b. 自恢复

c. 多中心容灾能力

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

MongoDB 的简介_JSON_13

横向扩展能力

a. 需要的时候无缝扩展

b. 应用全透明

c. 多种数据分布策略

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

MongoDB 的简介_SQL_14

MongoDB 技术优势总结

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

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

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

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