標籤:
一、NoSQL
瞭解Mongodb之前先瞭解一下NoSQL,NoSQL是Not Only SQL的縮寫。由提供缺乏SQL關聯式資料庫的嚴格限制模型的儲存和檢索技術組成。主要是簡化設計、水平擴充以及對資料的可用性進行更精細的控制。NoSQL有多種技術例如:Redis的索引值結構、HBase的列結構等。
二、Mongodb
Mongodb也是NoSQL的一種。它基於的文檔模型把資料對象作為一個集合中單獨的文檔來儲存。用它來提供高效能、高可用性和自動擴充的資料存放區。
三、集合
Mongodb通過使用集合將資料分組在一起。集合僅僅是一組具有相同或類似用途的文檔。集合類似於傳統SQL資料庫的表。只是集合不執行嚴格的模式,同一集合中的文檔可以具有彼此略微不同的結構。
四、文檔
文檔是Mongodb資料庫中單個資料實體的表示。SQL的行資料是平坦的,行中的每個值都有一個列。在Mongodb中文檔可以包含嵌入子文檔,從而為應用程式提供更密切的內在資料模型。在Mongodb中代表文檔的記錄被儲存為BSON,這是JSON的一個輕量級的二進位形式。它的欄位/值對應於Javascript的屬性和值。同時在MongoDB中文檔的最大大小是16MB。這可以防止RAM使用過量或對檔案系統產生劇烈衝擊。
此外,文檔的欄位名不能包含(null)字元、句點(.)或貨幣符號($)._id欄位名是為對象的ID保留的。該_id欄位是系統中的一個唯一的ID,它由以下幾個部分組成:
1.一個4位元組的值,代表從紀元以來過去的秒數。
2.一個3位元組的機器標識符
3.一個2位元組的進程ID
4.一個3位元組的計數器,從一個隨機值開始
五、Mongodb資料類型
Mongodb為每一種資料類型分配了從1到255的整數ID號,可使用它來按類型查詢。
類型 說明 編號
Double 雙精確度數值 1
String 字串 2
Object 對象 3
Array 數組 4
Binary data 位元據 5
Object id 對象ID 7
Boolean 布爾值 8
Date 日期 9
Null 空值 10
Regular Expression Regex 11
JavaScript Javascript 13
Symbol 符號 14
JavaScript(with scope) Javascript(帶範圍) 15
32-bit intger 32位整數 16
Timestamp 時間戳記 17
64-bit integer 64位整數 18
Min Key 最小值 255
Max Key 最大值 127
當比較不同的BSON類型的值時,Nongodb使用下面的比較順序從最低到最高:
1.最小鍵(內部類型)
2.空值
3.數值
4.符號、字串
5.對象
6.數組
7.位元據
8.對象ID
9.布爾值
10.日期,時間戳記
11.Regex
12.最大鍵(內部類型)
MongoDB資料庫基礎