我的應用程序需要使用大小高達5 GB的文本文件中的數據。我無法將所有這些數據加載到RAM中,因爲它太大了。如何在Java中處理大數據?
數據存儲爲一個表格,500萬條記錄(行)和40列,每個記錄包含將在內存中轉換爲字符串,整數或雙精度的文本。
我試過緩存只有10 - 100 MB的數據在內存中,並從文件重新加載時,我需要外面的數據,但它太慢了!當我運行計算時,因爲我可以從表中的任意行隨機跳轉,它將不斷需要打開文件,讀取和關閉。
我需要的東西很快,我正在考慮使用某種數據庫。我知道像這樣的大數據計算可能需要一段時間,這很好。如果我使用數據庫,則需要在啓動桌面應用程序時進行設置,而不需要以前安裝某種服務器組件。
任何提示?謝謝
您應該使用SQLite。 – SLaks
記錄是否有固定大小?外部數據庫系統是可接受的解決方案嗎? – Joni
不是一個固定的大小,可以隨時更改我加載一個不同的文件。 – user2704766