MongoDB 趨勢
對于 MongoDB 的認(rèn)識(shí) Q&A
Q | A |
什么是 MongoDB? | 一個(gè)以 JSON 為數(shù)據(jù)模型的文檔數(shù)據(jù)庫 |
一個(gè)以 JSON 為數(shù)據(jù)模型的文檔數(shù)據(jù)庫 | 文檔來自于“JSON Document”,并非我們一般理解的 PDF,WORD |
誰開發(fā) MongDB? | 上市公司 MongoDB Inc. ,總部位于美國紐約。 |
主要用途有哪些? | OLTP\OLAP數(shù)據(jù)庫,類似于 Oracle, MySQL,海量數(shù)據(jù)處理,數(shù)據(jù)平 臺(tái)。 |
主要特點(diǎn)是什么? | 無模式或可選。友好的JSON數(shù)據(jù)模型,開發(fā)方便。 |
MongoDB 是免費(fèi)的嗎? | MongoDB 有兩個(gè)發(fā)布版本:社區(qū)版和企業(yè)版。企業(yè)版基于商業(yè)協(xié)議, 需付費(fèi)。 |
MongoDB 版本變遷
MongoDB vs RDBMS
功能 | MongoDB | RDBMS |
數(shù)據(jù)模型 | JSON | Relational |
數(shù)據(jù)庫類型 | OLTP/OLAP | OLTP/OLAP |
CRUD 操作 | MQL/SQL | SQL/SQLX |
高可用 | 原生Replica-Set | Cluster、中間件 |
橫向擴(kuò)展能力 | 原生MSC | 分片、中間件 |
索引支持 | B-Tree、F-text、GIS、multikey、HASH、TTL | B-Tree |
開發(fā)難度 | easy | hard |
數(shù)據(jù)容量 | 無理論上限 | 千萬、億 |
擴(kuò)展方式 | 垂直擴(kuò)展+水平擴(kuò)展 | 垂直擴(kuò)展 |
MongoDB vs MySQL邏輯結(jié)構(gòu)對比
MySQL | MongoDB |
database | database |
table | collection |
row | document |
MongoDB 特色及優(yōu)勢
MongoDB 優(yōu)勢:面向開發(fā)者的易用 + 高效數(shù)據(jù)庫
SQL 模型:錯(cuò)綜復(fù)雜
JSON 模型:條理清楚
快速響應(yīng)業(yè)務(wù)變化:
a. 多類型:
同一個(gè)Collection中,可以包含不同字段(類型)的文檔對象.
b. 更靈活:
線上修改結(jié)構(gòu),應(yīng)用與數(shù)據(jù)庫均無須下線
簡潔的開發(fā)模式:
a. 數(shù)據(jù)庫引擎只需要在一個(gè)存儲(chǔ)區(qū)讀寫.
b. 反范式、無關(guān)聯(lián)的組織極大優(yōu)化查詢速度.
c. 程序API自然,開發(fā)快速.
SQL 插入數(shù)據(jù)代碼量:
MongoDB 只需要兩行代碼:
MongoDB 優(yōu)勢:原生的高可用和橫向擴(kuò)展能力
高可用能力
a. Replica Set – 2 to 50 個(gè)成員
b. 自恢復(fù)
c. 多中心容災(zāi)能力
d. 滾動(dòng)服務(wù) – 最小化服務(wù)終端
橫向擴(kuò)展能力
a. 需要的時(shí)候無縫擴(kuò)展
b. 應(yīng)用全透明
c. 多種數(shù)據(jù)分布策略
d. 輕松支持TB–PB數(shù)量級
MongoDB 技術(shù)優(yōu)勢總結(jié)
a. JSON 結(jié)構(gòu)和對象模型接近,開發(fā)代碼量低
b. JSON 的動(dòng)態(tài)模型意味著更容易響應(yīng)新的業(yè)務(wù)需求
c. 復(fù)制集提供 99.999% 高可用
d. 分片架構(gòu)支持海量數(shù)據(jù)和無縫擴(kuò)容