Java 大資料量處理問題

liujian1979發表於2011-02-24
我先描述下我的需求吧:
1.每秒有200-300條資料從簡訊閘道器上來。
2.每條簡訊在處理邏輯中需要二次確認,所以這些簡訊就要被當做原始記錄(物件)保持起來
3.二次確認可能需要很長時間,比如30分鐘,超過30分鐘就被刪除掉。

從上面需求看,以30分鐘為界限就需要儲存:30*60*300=54萬 的資料量 如果以60分鐘為界線就是100多萬儲存量

那麼請哪位大哥們看一下下面哪種方法可行?或者有更好的方法幫我想想。

1.透過LRU快取遷出演算法,把有限的資料儲存在記憶體中,比如10萬,超過的部分持久化到資料庫中。這樣做好處是實現方式簡單,但是這樣做增加了資料庫的負擔,因為高峰期本來資料庫負荷就很高,所以不希望再增加資料庫負擔。


2.透過LRU快取遷出演算法,把有限的資料儲存在記憶體中,比如10萬,超過的部分持久化到本地磁碟上。這樣做可以不增加資料庫負擔,但持久到磁碟以檔案方式儲存,這樣做對於高速查詢來說比較吃力,因為只有透過遍歷方式查詢,不知有更好的查詢方式沒有?

請各位出出主意,謝謝!

相關文章