NoSQL和MongoDB

 NoSQL(NoSQL=Not Only SQL),意即「不單單是SQL」。關係數據庫關注在關係上,NoSQL關注在存儲上。數據庫

發展背景

(1)傳統關係型數據庫遇到了性能瓶頸。架構

  • 高併發讀寫(High performance)
  • 對海量數據的高效率存儲和訪問(Huge Storage)
  • 對數據庫的高可擴展性和高可用性(High Scalability && High Availability)

(2)關係數據庫的不少主要特性無用武之地併發

  • 數據庫事務一致性需求 
  • 數據庫的寫實時性和讀實時性需求 
  • 對複雜的SQL查詢,特別是多表關聯查詢的需求 

分類

              

特色

  • 易擴展
  • 大數據量,高性能
  • 靈活的數據模型
  • 高可用

 

什麼是MongoDB?

      MongoDB的名字來自於「humongous」(不知道是什麼),它是一個開源的,面向文檔的數據庫,而且是領先的非關係型數據庫。高併發

  MongoDB是由C++語言編寫的,是一個跨平臺的,面向文檔的數據庫,提供高性能,高可用性和可擴展性方便。性能

爲何要使用MongoDB?

    一、Document-Oriented Storage(面向文檔的存儲)大數據

    二、Full Index Support(對任何屬性可索引)spa

    三、Replication&High Availability(複製和高可用性)orm

    四、Auto-Sharding(自動分片)對象

    五、Quering(豐富的查詢)索引

    六、Fast In-Place Updates(快速地更新)

MongoDB比RDBMS的優點

    一、架構:MongoDB是文檔型數據庫,其中一個集合保存不一樣的不一樣的文件。字段的數量,內容和該文件的大小能夠是不一樣於從一個文件複製到另外一個。

    二、一個單一的對象是結構清晰。

    三、沒有複雜的鏈接

    四、深查詢能力。 MongoDB支持動態查詢使用基於文檔的查詢語言,如SQL幾乎同樣強大的文件

    五、調優

    六、易於規模化:MongoDB是易於擴展

    七、不須要數據庫對象的應用程序對象轉換/映射

    八、使用內部存儲器存儲(窗口)工做組,從而實現更快的數據存取

MongoDB在什麼狀況下使用?

   一、大數據

   二、內容管理和交付

   三、移動和社交基礎設施

   四、用戶數據管理

   五、數據平臺

相關文章
相關標籤/搜索