2009-07-02 47 views
2

我工作的項目的需求似乎指向使用關係數據庫(例如postgre,MySQL)和鍵值存儲(例如HBase ,Cassandra)。我們的數據幾乎可以很好地分解爲兩種數據模型之一,但少量相互依賴性除外。結合使用關係數據庫和鍵值存儲

這不是嘗試將關係數據庫塞進鍵值存儲區;他們彼此獨立。

有沒有嚴重的原因不這樣做?

回答

2

我在SQL DBMS境內工作,所以採取這種偏見進去,但......

與西拉Bhaiji,我擔心「除了相互依存少量」。有很多事情需要考慮,其答案將幫助您確定要做什麼。

  • 如果相互依存出現問題會發生什麼? (客戶賠錢 - 那麼你需要整個使用DBMS;你賠錢 - 可​​能是相同的;有人報3045點時他們真的有3046點 - 也許沒關係。)
  • 它有多難在出現問題時糾正「混亂」?
  • 關鍵值存儲中的工作量有多少,DBMS有多少?
  • 將某些內容從鍵值存儲轉移到DBMS可以消除相互依賴關係嗎?
  • DBMS在用作鍵值存儲時速度有多慢? (你確定沒有辦法使它與奇偶校驗接近嗎?)
  • 在災難恢復情況下會發生什麼?同步備份?

如果你有足夠的這些問題和相關的問題,那麼它是OK去與混合設置 - 你已經想通了,權衡風險,所形成的判斷,這是合理的繼續。如果你沒有答案,拿到他們。

+0

我從來沒有想過要考慮其中的一些。 – 2009-07-06 20:30:42

0

當你說關鍵值存儲是你的意思像在一個會話或緩存類型的實現嗎?總是有這樣的理由......讀寫數據庫通常是你的資源密集型操作。更多細節?

+0

鍵值存儲在谷歌的Bigtable或亞馬遜的Dynamo – 2009-07-02 21:54:21

3

它應該工作正常。

有幾件事情你需要知道的/注意:

  • 你的程序是現在負責的門店,沒有關係模型之間的數據一致性。
  • 根據您的技術,您可能會或可能不會跨越數據存儲區進行交易。在發生故障時,您可能需要編寫一些手動清理工作。
相關問題