基本含義
具體結構
分類:非關係資料庫中的四類——鍵值(Key-Value)存儲資料庫、列存儲資料庫、文檔型資料庫、圖形(Graph)資料庫,Voldemort屬於鍵值存儲,數據模型較簡單與列存儲,鍵值存儲相類似於文檔型存儲。
數據模型:Key 指向 Value 的鍵值對,使用Hash table來實現。
典型套用場景:適用於內容快取,主要用於處理大量數據的高訪問負載以及一些日誌系統等。
優缺點:查找速度快,但數據無結構化,通常只被當作字元串或者二進制數據。
具體分析
Voldemort作為一個開源分散式鍵-值(Key-value)存儲系統,它的具體功能有:
支持自動複製數據到多個伺服器上。
支持數據自動分割所以每個伺服器只包含總數據的一個子集。
提供伺服器故障透明處理功能。
數據項都被標識版本能夠在發生故障時儘量保持數據的完整性而不會影響系統的可用性。
每個節點相互獨立,互不影響。
支持可插拔的數據放置策略。
案例
LinkedIn建立了一個類似Amazon’s Dynamo database的開源軟體,Voldemort 有一個經典three-operation鍵/值接口,但在大型分散式集群架構上進行複雜的後端處理。它使用一致的hash table,允許特定的鍵值的進行存儲位置的快速查找。它有版本控制,會處理值的不一致性。如果他們不同的客戶幾乎在同一時間寫入的話,那么對於一個給定鍵的讀操作實際上可能返回多個值。這種應用程式負擔,根據其數據的意義知識寫入多個值時,將採取一些合理的恢復行動。亞馬遜使用的示例是一個購物車,在項目集合聯合在一起時,失去任何故意的刪除但保留任何追加,從收入的角度來看至少具有重要意義。