先看一下兩個圖片
並不是所有的nosql
首先要介紹一下mongodb的基本信息
1、mongodb是開源的,基於分佈式的,屬於nosql的範疇,是最像關係型數據庫的nosql。於2007年由10gen團隊所發展。現在直接改名爲mongodb公司。2009年2月首度推出,是由c++撰寫,旨在爲WEB應用提供可擴展的高性能數據存儲解決方案。
2、mongodb可以運行在windows、unix、mac os等,支持32位和64位,默認端口是27017.推薦是在64位下使用,因爲mongodb是內存數據庫,在運行時支持的最大文件尺寸爲2GB. 提供了多種編程語言的驅動程序,在後序的章節中會單獨介紹
3、mongodb支持的數據類型有:null,boolean,string,objectid,32位整數、64位整數、64位浮點數、日期、正則表達式、js代碼(mongodb客戶端爲解釋器)、二進制數據、數字、內嵌文檔、最大最小值、未定義類型。
4、mongodb的特點是:高性能、易部署、易使用,存儲數據方便等
5、mongodb的主要特性有:
(1)面向集合存儲,易存儲對象類型的數據
(2)模式自由
(3)支持查詢和動態查詢
(4)支持完全索引,包含內部對象
(5)支持複製和故障恢復
(6)使用高效的二進制數據存儲,包括大型對象(視頻),bson是二進制的json
(7)自動處理碎片,以支持雲計算層次的擴展性
(8)支持RUBY,python,java,c++,php等多種語言
(9)文件存儲格式爲BSON(一種JSON的擴展)
(10)可以通過網絡訪問
註釋:面向集合:意思是數據分組存儲在數據集中,被稱作一個集合(collection),每個集合在數據庫中都有唯一的標識名,並且可以包含無限書名的文檔。集合類似oracle裏的table,不同的是它不需要定義任何模式,而且只有插入數據時才創建。
模式自由:對於存儲在mongodb數據庫中的文件,不需要指定他的任何結構定義,如果需要,完全可以把不同結構的文件存儲在同一個數據庫
文檔:存儲在集合中的文檔,被存儲爲鍵值對的形式,健是用於唯一標示一個文檔,爲字符串類型,而值的類型可以是複雜的文件類型,我們稱這種存儲形式爲BSON(Binary JSON),相應的文檔類似於表中的行。
6、mongodb的適用場景
(1)適合作爲信息基礎設施的持久化緩存層
(2)適合實時的增刪改查,並具備應用程序實時數據存儲所需的複製及高度伸縮性
(3)適合文檔化格式的存儲及查詢
(4)適合由數百臺服務器組成的數據庫
7.mongodb不適用場景
(1)對事務性有高要求,例如銀行
(2)複製的表級聯查詢,聯合查詢等