手冊簡介
Mongo DB 是目前在IT行業非常流行的一種非關系型數據庫(NoSql)。
手冊說明
MongoDB是什么?
MongoDB 是一個基于分布式文件存儲的數據庫。由C++語言編寫。旨在為WEB應用提供可擴展的高性能數據存儲解決方案。
MongoDB是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。他支持的數據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數據類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。
MongoDB有什么特點?
它的特點是高性能、易部署、易使用,存儲數據非常方便。主要功能特性有:
- 面向集合存儲,易存儲對象類型的數據。
- 模式自由。
- 支持動態查詢。
- 支持完全索引,包含內部對象。
- 支持查詢。
- 支持復制和故障恢復。
- 使用高效的二進制數據存儲,包括大型對象(如視頻等)。
- 自動處理碎片,以支持云計算層次的擴展性
- 支持Ruby,python,Java,C++,PHP,C#等多種語言。
- 文件存儲格式為BSON(一種JSON的擴展)。
- 可通過網絡訪問。
MongoDB使用原理是什么?
所謂“面向集合”(Collection-Oriented),意思是數據被分組存儲在數據集中,被稱為一個集合(Collection)。每個集合在數據庫中都有一個唯一的標識名,并且可以包含無限數目的文檔。集合的概念類似關系型數據庫(RDBMS)里的表(table),不同的是它不需要定義任何模式(schema)。Nytro MegaRAID技術中的閃存高速緩存算法,能夠快速識別數據庫內大數據集中的熱數據,提供一致的性能改進。模式自由(schema-free),意味著對于存儲在mongodb數據庫中的文件,我們不需要知道它的任何結構定義。如果需要的話,你完全可以把不同結構的文件存儲在同一個數據庫里。存儲在集合中的文檔,被存儲為鍵-值對的形式。鍵用于唯一標識一個文檔,為字符串類型,而值則可以是各種復雜的文件類型。我們稱這種存儲形式為BSON(Binary Serialized Document Format)。
MongoDB適用場景
MongoDB 的主要目標是在鍵/值存儲方式(提供了高性能和高度伸縮性)和傳統的RDBMS 系統(具有豐富的功能)之間架起一座橋梁,它集兩者的優勢于一身。
Mongo 適用于以下場景:● 網站數據:Mongo 非常適合實時的插入,更新與查詢,并具備網站實時數據存儲所需的復制及高度伸縮性。
● 緩存:由于性能很高,Mongo 也適合作為信息基礎設施的緩存層。在系統重啟之后,由Mongo 搭建的持久化緩存層可以避免下層的數據源過載。
● 大尺寸、低價值的數據:使用傳統的關系型數據庫存儲一些數據時可能會比較昂貴,在此之前,很多時候程序員往往會選擇傳統的文件進行存儲。
● 高伸縮性的場景:Mongo 非常適合由數十或數百臺服務器組成的數據庫,Mongo 的路線圖中已經包含對MapReduce 引擎的內置支持。
● 用于對象及JSON 數據的存儲:Mongo 的BSON 數據格式非常適合文檔化格式的存儲及查詢。
MongoDB 的使用也會有一些限制,例如,它不適合于以下幾個地方。
● 高度事務性的系統:例如,銀行或會計系統。傳統的關系型數據庫目前還是更適用于需要大量原子性復雜事務的應用程序。
● 傳統的商業智能應用:針對特定問題的BI 數據庫會產生高度優化的查詢方式。對于此類應用,數據倉庫可能是更合適的選擇。
● 需要SQL 的問題。
Mongo不適用的場景如下:
- 要求高度事務性的系統。
- 傳統的商業智能應用。
- 復雜的跨文檔(表)級聯查詢。
MongoDB應用案例
- Craiglist上使用MongoDB的存檔數十億條記錄。
- FourSquare,基于位置的社交網站,在Amazon EC2的服務器上使用MongoDB分享數據。
- Shutterfly,以互聯網為基礎的社會和個人出版服務,使用MongoDB的各種持久性數據存儲的要求。
- bit.ly, 一個基于Web的網址縮短服務,使用MongoDB的存儲自己的數據。
- spike.com,一個MTV網絡的聯營公司, spike.com使用MongoDB的。
- Intuit公司,一個為小企業和個人的軟件和服務提供商,為小型企業使用MongoDB的跟蹤用戶的數據。
- sourceforge.net,資源網站查找,創建和發布開源軟件免費,使用MongoDB的后端存儲。
- etsy.com ,一個購買和出售手工制作物品網站,使用MongoDB。
- 紐約時報,領先的在線新聞門戶網站之一,使用MongoDB。
- CERN,著名的粒子物理研究所,歐洲核子研究中心大型強子對撞機的數據使用MongoDB。
MongoDB相關教程
附加資料
MongoDB官網:https://www.mongodb.com/
MongoDB官方文檔:https://docs.mongodb.com/
MongoDB教程:http://www.realmoneymillionaire.com/mongodb/mongodb-intro.html
MongoDB下載:https://docs.mongodb.com/
更新記錄
-
MongoDB 聚合 09-09 13:59
-
MongoDB 索引 09-09 13:49
-
MongoDB $type條件操作符 09-09 12:00
-
MongoDB 條件操作符 09-09 11:43
-
MongoDB 更新文檔 09-09 11:21
-
MongoDB 刪除文檔 09-09 11:21
-
MongoDB 查詢文檔 09-09 11:21
-
MongoDB 插入文檔 09-09 11:04
-
MongoDB 刪除數據庫 09-09 11:02
-
MongoDB 連接 09-09 10:28