2010-07-26 123 views
1

對不起,標題不完全明顯,但我不能說得更好。是否有基於冗餘而不是永久存儲的持久性的數據庫?

我們現在使用傳統的DB(oracle)作爲我們的作業隊列,並且這些「作業」被一些節點(機器)所消耗。所以數據庫服務器受到這些節點的攻擊,我們必須爲這個數據庫服務器的軟件和硬件付出很多。現在

,它發生,我那天是,

1)在系統中已經多個節點
2)「喬布斯」可能不被丟失,因爲節點故障,但沒有理由他們必須坐在二級存儲(沒有理由他們不能駐留在內存中,只要它們不會丟失)

鑑於此,不能一個保留在內存中的這些工作,使得確保整個集羣中至少有n份此作業副本,從而擺脫數據庫服務器?

這樣的技術是否可用?

回答

1

你看看Gigaspaces嗎?在互聯網上,你根本不需要堅持。你只需要知道有足夠的副本。如果您的低延遲連接位置不在同一個電源網格上(或者沒有電池電量),將事務推送到重複項就足夠了。

0

這取決於您期望這些技術爲您做多少。有大量基本的內存數據庫(SQLite,Redis等),您可以將常規數據庫複製技術與多個數據中心中的多個從屬設備配合使用,以確保持久性的持久性。

如果你在內存中存儲,你可能會用盡空間,並需要水平分區(分片),並且如果你想堅持使用SQL,可能想要查看諸如VoltDB之類的內容。

1

如果您只考慮存儲高達幾TB的數據,並且您正在尋找冗餘性與磁盤可恢復性,那麼請查看Oracle Coherence。例如:

  • 彈性。只需添加節點。自動發現。自動負載平衡。沒有數據丟失。沒有中斷。每次添加節點時,都會獲得更多的數據容量和更多的吞吐量。
  • 同時使用RAM和閃存。透明。輕鬆處理每個Coherence節點10甚至100s的千兆字節(例如每個物理服務器最多可達TB或更多)。
  • 自動高可用性(HA)。殺死一個進程,沒有數據丟失。殺死一臺服務器,沒有數據丟失。
  • 數據中心連續可用性(CA)。殺死一個數據中心,沒有數據丟失。

爲了充分披露,我在甲骨文公司工作。本文所表達的意見和觀點屬於我自己的觀點,並不一定反映我的僱主的意見或看法。