2013-10-09 76 views
2

與鍵值數據存儲相反,MongoDb被稱爲文檔數據庫。但MongoDB的docs文檔數據庫與鍵值對之間的區別

例子:

{ "item": "pencil", "qty": 500, "type": "no.2" } 

這看起來很像鍵值對的集合。那麼文檔數據庫和鍵值對數據庫之間是否存在根本差異?

+1

關鍵:價值商店實際上是指向單一價值的單個關鍵。文檔是鍵值對的集合。 –

回答

2

這些定義不是唯一的。

「鍵值數據庫」定義要檢索的數據的「值」部分可以通過查詢數據庫的「鍵」直接訪問,而不是定義數據庫模式並使用SQL語法查詢數據庫。 「值」可以是任何東西,簡單的字符串,編程語言對象,HTML頁面...

文檔數據庫說明了關於鍵值對的「值」部分的更多信息:檢索的數據編碼爲一些標準的可移植格式,如JSON或XML。 這爲數據庫提供了一些結構,但遠不如傳統數據庫那樣嚴格,每個數據行必須符合定義的模式。

因此,爲了回答您的問題,MongoDB是一個使用「Key-Value」機制來檢索數據的數據庫,其「Value」是一個Document(由Document based數據庫的定義鬆散地定義)。

考慮到NoSQL的「定義」有點重疊而且很鬆散。

0

更容易區分的方法是看Memcached和MongoDB。 Memcached只是一個鍵值存儲,但MongoDB包含更豐富的數據結構,您可以在其中存儲Arrays,Dict並很容易地查詢它們。

0

在最近一次對MongoDB架構師的採訪中,他們對我的開場白是「MongoDB基本上是一個關鍵:價值數據存儲」。所以,是的,它是一組鍵和它們的值。它更多,但它是。

相關問題