2014-11-06 80 views
0

我們正在研究一些應用程序,在這些應用程序中,數據庫的更新必須傳播到某些其他應用程序,如果他們對這些應用程序感興趣,則可以將更改發送到其他系統。初始計劃是將這些更改通知存儲在關係數據庫表中,以便在生產者和消費者之間進行緩衝。緩衝區表應該能夠緩衝一週的變化通知(消費者下降一週)。這將達到200 GB(是的,GB而不是MB)。這是一個很大的數字,但我們有很多數據...JMS/ActiveMQ的持久存儲容量足以支持200 GB嗎?

現在有人建議使用JMS緩衝而不是關係數據庫表,因爲緩衝區在概念上是一個隊列。現在的問題是,JMS系統(我們使用ActiveMQ)是否可以緩衝那麼多的數據(例如那些200 GB)而不降低性能。我們根本沒有經驗要知道。那裏的任何人都有線索?

回答

2

不幸的是,這似乎是一種可能無法由別人回答的問題。在硬件,網絡基礎設施方面存在很大的差異性,甚至您對「性能下降」的定義是可以接受的,任何其他人的經驗可能都不是直接適用的。

因爲聽起來你已經有了一個ActiveMQ實例,所以我建議你只需創建一個新的隊列並開始向其中投入數據(當然在你的開發/測試環境中),看看會發生什麼。自己做這個實驗的努力很低(一些代理配置設置可以增加代理的限制,另外還有一些代碼可以向代理髮布消息),它更可能給你一個你可以信任的答案,而不是別人的經歷類似於不同的硬件,網絡,ActiveMQ負載等。

+0

我想補充一點,你可能想要計劃在這段時間內在過渡期間要做什麼。恢復200GB可能需要一些時間,特別是如果期刊損壞/缺失以及索引必須重建。你的經紀人可能需要很長時間才能回來(可能超過一個小時)。 – 2014-11-07 02:01:26

+0

感謝您的輸入。我想,我不應該提到性能。我只想知道ActiveMQ是否可以處理200 GB。但似乎沒有辦法像開始一個實驗那樣按照建議來解決這個問題。感謝您的意見。 – OlliP 2014-11-07 10:46:39