MongoDB的主要特性概述


一、文檔數據模型

  文檔是一組屬性名和屬性的集合。相較於關系數據庫復雜的規范化,面向文檔的數據模型很容易以聚合的形式來表示數據。文檔采用無Schema的形式,這種做法帶來了一定的優勢:首先,由應用程序,而非數據庫來保證數據結構;其次,無Schema的模型允許用真正可變屬性來表示數據

二、即時查詢

  即時查詢:無需預先定義系統接受的查詢類型。關系型數據庫必備的性質,文檔數據庫提供了類似SQL查詢的功能。但是,如Key-Value數據庫不能實現即時查詢功能。

三、二級索引

  通常采用B樹實現類似RDBMS的索引,對查詢進行優化。

四、復制

  MongoDB采用副本集(replica set)的拓撲結構提供復制功能。副本集將數據分布到多台機器上實現冗余,在服務器或網絡故障時能夠提供自動故障轉移。復制功能還能用於擴展數據庫的讀能力(對於一個讀密集的應用,可以把數據庫讀操作分散到副本集集群中的各台機器)。

  副本集由一個主節點(Primary node)和一個或多個從節點(secondary node)構成。當主節點down掉后,集群會選擇一個從節點自動將它提升為主節點,先前的主節點恢復后變成一個從節點。主節點既能夠讀也能夠寫,而從節點是只讀的。圖中官方文檔給出的當主節點故障后MongoDB處理方式。

集群故障處理

五、速度和持久化折中

  通過開啟Journaling日志記錄,控制速度和持久化之間的平衡。

六、水平擴展能力

  水平擴展與垂直擴展。垂直擴展,升級硬件,已暫時消除數據庫的性能瓶頸。優勢在於簡單、可靠。缺點:成本過高,硬件水平有限。

  水平擴展,通過集群,將數據分布到多台機器,而不是只提升單個節點的性能。優點:成本降低、可以降低故障帶來的影響。

 

參考資料:MongoDB in Action,MongoDB文檔

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM