mongoDB入門必讀

來源:互聯網
上載者:User

標籤:

 

一、概述

  MongoDB是一個基於分布式檔案儲存體的資料庫開源項目。

  由C++語言編寫,旨在為WEB應用提供可護展的高效能資料儲存解決方案。

 

  MongoDB是一個介於關聯式資料庫和非關聯式資料庫之間的產品。

  它支援的資料結構非常鬆散,是類似json的bjson格式,因此可以儲存比較複雜的資料類型。

  Mongo最大的特點是他支援的查詢語言非常強大,其文法有點類似於物件導向的查詢語言,幾乎可以實作類別似關聯式資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。 

 

  MongoDB主要解決的是海量資料的訪問效率問題。

  根據官方的文檔,當資料量達到50GB以上的時候,Mongo的資料庫訪問速度是MySQL的10倍以上。Mongo的並發讀寫效率不是特別出色,根據官方提供的效能測試表明,大約每秒可以處理0.5萬-1.5次讀寫請求。

   因為MongoDB主要是支援海量資料存放區的,所以Mongo還內建了一個出色的Distributed File SystemGridFS,可以支援海量的資料存放區,但我也看到有些評論認為GridFS效能不佳,有待驗證。 

   最後由於Mongo可以支援複雜的資料結構,而且帶有強大的資料查詢功能,因此非常受到歡迎,很多項目都考慮用MongoDB來替代MySQL來實現不是特別複雜的Web應用,比方說why we migrated from MySQL to MongoDB就是一個真實的從MySQL遷移到MongoDB的案例,由於資料量實在太大,所以遷移到了Mongo上面,資料查詢的速度得到了非常顯著的提升。 

    總結起來,monggDB的特點是高效能、易部署、易使用、儲存資料非常方便。

 

二、MongoDB的優點

  (1) 高效能、速度非常快(如果你的記憶體足夠的話)

  (2) 沒有固定的表結構,不用為了修改表結構而進行資料移轉

  (3) 查詢語言簡單,容易上手

  (4) 使用Sharding實現水平擴充

  (5) 部署方便

 

三、使用MongoDB,你得記住以下幾點:

  MongoDB 假設你有大磁碟空間

  MongoDB 假設你的記憶體也足夠大於放下你的熱資料

  MongoDB 假設你是部署在64位系統上的(32位有2G的限制,試用還可以)

  MongoDB 假設你的系統是little-endian的

  MongoDB 假設你有多台機器(並不專註於單機可靠性)

  MongoDB 假設你希望用安全換效能,同時允許你用效能換安全

 

MongoDB在下面領域不太擅長

  不太穩定,特別是auto-sharding目前還有很多問題

  不支援SQL,這意味著你很多通過SQL介面的工具不再適用

  持久化,MongoDB單機可靠性不太好,宕機可能丟失一段時間的資料

  相關文檔比較少,新功能都有這個問題

  相關人才比較難找,這也是新功能的問題之一 

mongoDB入門必讀

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.