我正在創建一個桌面Java應用程序,它需要存儲(可能會變成)合理大量的數據。我最初想到了我自己的格式:什麼是存儲這些數據的最佳方式?
id;name;value,value,value...
id;name;value,value,value...
要作爲純文本存儲和隨機讀取/寫入。我最初的想法是使用RandomAccessFile;但是,當我插入任意位置時,我遇到了數據被覆蓋的問題。
使用現有的數據轉移,臨時存儲,恢復等方法似乎是一個不好的解決方案,特別是因爲我打算經常讀/寫,所以它會變得昂貴。我已經讀過,這是底層操作系統的限制,而不是Java本身。
對於頻繁訪問和寫入,整齊存儲這些數據的最佳方法是什麼?使用SQLite跨越了我的想法。我也想過爲每個ID /名稱創建一個文件,因爲數據值只會被添加到每個文件的末尾,因此不會覆蓋任何內容。
這是數據庫是爲製作。試圖處理文件讀取/寫入會非常緩慢,如果您需要搜索文件,您將獲得巨大的性能提升。如果將這些數據存儲在數據庫中,則可以通過id/name訪問,而不必擔心文件訪問。 – jzworkman 2012-03-16 17:55:55
定義「相當經常」。不知道更多關於數據的信息(它是關係型的嗎?平坦的?只有和永遠的關鍵/價值?多少數據?你需要怎麼搜索?等等)很難提供有意義的建議。在這一點上看起來更像是一個關鍵/值數據庫而不是文件。 – 2012-03-16 17:57:33