2011-01-30 36 views
2

我正在評估(沒有具體的用例),只是想了解NoSQL(非關係)解決方案的廣度。選擇NoSQL解決方案時需要考慮的重要因素是什麼?

所以,我非常理解迪納摩在(taken from Dynamo paper)項:

  1. 分區 - >一致性哈希
  2. 高可用性 - >矢量時鐘
  3. 處理臨時故障 - >邋遢仲裁
  4. 故障恢復 - >默克爾樹
  5. 成員和故障檢測 - > Gosisp協議

我的問題是,什麼是每一個的其他方式這5個(可能是更多的「問題」)作了妥善處理與其他解決方案,如:

  1. 基於Bigtable的系統,
  2. 只是鍵 - 像Redis和BDB這樣的高價值存儲。
  3. 其他混合動力系統。

回答

1

其他重要事項:
1)二級指標:如果您不需要它們,那麼你可能會找到一個可以接受的方式來使用大多數數據存儲。
2)多個數據中心:如果您正在處理多個數據中心,那麼您可能無法使用主從架構。多主系統要複雜得多。
3)交易:如果您需要進行交易(多步驟操作需要像他們一步行動),您可能會遇到很多非關係系統的困難,因爲他們傾向於犧牲更多需要關於ACID(原子性,一致性,隔離性和耐久性)。

相關問題