MongoDB介紹
MongoDB是一個介於關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。他支持的數據結構非常的松散,是類似json的bjson格式,因此可以存儲比較復雜的數據類型。MongoDB最大的特點是他支持的查詢語言是非常強大,其語法有點類似於面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。它的特點是高性能、易部署、易使用,存儲數據非常方便。
MongoDB功能特性
1、面向集合存儲,易存儲對象類型的數據。
數據被分組存儲在數據集中,被稱為一個集合,每個集合在數據庫中有唯一的標識名,並且可以包含無限數目的文檔。在菲關系型數據庫的集合的概念類似關系型數據庫裡的表,不同是他不需要定義任何的模式。
2、模式自由
對於存儲在MongoDB數據庫中的文件,我們不需要知道它任何結構定義。如果需要的話,你完全可以把不同結構的文件存儲在同一個數據庫裡。
3、支持動態查詢
4、支持完全索引,包含內部對象。
5、支持復制和故障恢復。
6、使用高效的二進制數據存儲,包括大型對象(如視頻等)
7、自動處理碎片,以支持雲計算層次的擴展性。
8、支持RUBY、PYTHON、JAVA、C++、PHP等多種語言。
9、文件存儲格式為BSON(一種json擴展)
BSON(Binary Serialized document Format)存儲形式是指:存儲在集合中的文檔,被存儲為鍵-值對的行式。鍵用於標識一個文檔,為字符串類型,而值則可以是各種復雜文件類型。
10、可通過網絡訪問。
mongodb服務端可以運行在linux、Windows或OSX平台,支持32位和64位應用,默認端口27017.推薦運行在64位平台,因為mongodb在32位模式運行時支持的最大文件為2GB。
mongoDB數據架構
如下圖所示
在這裡對於初學者可以這樣理解,和關系型數據庫進行對比,這裡的集合概念可以看做是一個表,文檔的概念可以看做是表中的記錄,一個Collection中可以有多條Document,並且document中可以嵌套。
下篇著重說MongoDB的下載和安裝