Introduction to MongoDB
On this page
MongoDB 是一個具備高性能、高可用性、自動擴展的開源文檔數據庫。
文檔數據庫
一條記錄在MongoDB中是一個數據結構爲field 和value 對的文檔。MongoDB 文檔類似於jSON對象。values可能是其他文檔、 數組、文檔數組。
使用文檔的優勢:
- 文檔 (例如 objects) 和很多編程語言自帶數據類型一致.
- 內嵌文檔和數組減少了昂貴joins的需求.
- 動態的設計模式支持流暢的多態性.
主要特色
高性能
MongoDB 提供高性能的數據持久化. 特別是,
- 數據庫系統提供內嵌數據模式來減少 I/O 操作.
- 支撐索引使查詢更快,而且 內嵌文檔和數組中的keys也可以創建索引.
豐富的查詢語言
MongoDB 支撐豐富的查詢語言進行read and write operations (CRUD) ,還有:
- Data Aggregation 數據聚合
- Text Search全文檢索 and Geospatial Queries. 地理位置查詢
高可用性
MongoDB的複製設備叫副本集 replica set, 提供:
- 自動故障恢復
- 數據冗餘.
replica set 是一組維護相同數據集的MongoDB服務 , 保障冗餘和不斷增長的數據的可用性.
水平擴展能力
MongoDB 提供水平擴展能力作爲他的核心功能:
支持多種存儲引擎
MongoDB 支持多種存儲引擎multiple storage engines, 例如:
另外, MongoDB 提供插件式存儲引擎API,允許第三方可發 MongoDB存儲引擎.