2012-03-29 135 views
4

想了解系統Cache和Mongo數據庫是如何彼此不同的。系統間緩存和MongoDB比較

在stackoverflow本身的幾個線程中,已經提到在對象數據庫和NoSQL數據庫之間沒有區別。

在MongoDB中,數據是基於文檔的,通過JSON格式進行訪問和查詢。 Cache DB中的情況也是如此嗎?

任何指針都會有幫助。

回答

4

一切GlobalsDB能做到的,緩存可以做的一樣好(GlobalsDB只是緩存功能的子集) 我還沒有和MongoDB的工作,到目前爲止,但解決你說的話:

在stackoverflow本身的幾個線程中,已經提到在對象數據庫和NoSQL數據庫之間沒有>差別。

這不是一個非常精確的聲明和恕我直言,你不能持有這樣的審查。對於初學者來說,NoSQL的定義不是很好,什麼是NoSQL?只是一個不能用於SQL的數據庫?一個非關係數據庫? 什麼是你的對象數據庫?你想在數據庫中有對象表示嗎?這可以通過傳統關係型和'現代'NoSQL來實現。 (NoSQL的是絕對沒有現代的,它已經有相當一段時間了。例如,高速緩存(腮腺炎來)早在在MongoDB中的數據是基於文檔,訪問和查詢通過JSON的70ties

開始作爲NoSQL的像格式。是 它在緩存DB相同的情況呢?

您可以訪問數據緩存以多種方式。GlobalsDB是提供接口給全球結構(認爲它是一個key-value存儲這是更靈活一點) 此外,您可以訪問您的數據關係和作爲對象。 當然有一定的格式當您想要從鍵值訪問關係訪問時需要滿足的限制條件,但底線是,您可以根據需要訪問數據。 這包括JSON,本地更新版本。

1

有一個從InterSystems的其他產品來清潔的NoSQL,是JSON格式GlobalsDB

請求,該工具實現通過適配器應用。 GlobalsDB支持與他JSON NodeJS,也支持。 .NET和Java

1

與您的問題的問題是,沒有任何條款定義得很好(不是你的錯 - 你沒有定義它們)。

但是什麼是基於文檔的?它是否必須作爲文本存儲?或者它只是作爲一個文檔被暴露給客戶?真的,第二選擇是有道理的,除非那麼任何永久存儲資格。例如,您始終可以將行和列轉換爲文檔。

就通過JSON查詢而言,在Intersystems發佈其版本之前,我編寫了自己的系統以便在緩存數據庫中執行此操作。我們可以將JSON包裝器放在幾乎任何持久存儲器中(這並不難,JSON的設計很容易解析)。

對我而言,NoSQL數據庫的關鍵特性在於它們經常被設計用於處理大量不可靠機器的分佈式數據 - 儘管價格無法達到某種一致性。高速緩存數據庫沒有(據我所知),但可以合理地說是支持你提到的特性,只要它們有明確的含義。

回答關於你想要完成的更具體的問題會更容易。