我的團隊和我已得到文件格式的要求,其中包含支持Java庫的文件格式,該文件格式包含有關某些較大文件的各種元數據。實際上,我們希望將大文件(可能是100MB)和其他相關文件(元數據,非破壞性編輯等)封裝到一個捆綁的歸檔文件中。使用Java庫的隨機訪問結構化歸檔文件格式
對於一次性的創作,這是一件輕而易舉的事:剛扔在一個Zip文件的一切。但我們希望能夠不斷更新元數據,非破壞性編輯等。我們不希望將整個大於100MB的內容轉儲到臨時目錄,然後將所有內容壓縮回來,只需將行添加到其中一個元數據文件。
有一些項目(例如TrueVFS)表面聲音理想,聲稱將zip文件或其他存檔文件格式抽象爲文件系統。但仔細觀察看來,我們得到的唯一就地更新功能很簡單,只是appending new files,實際上並沒有改變或附加到單個文件。
我們需要的是位於Zip文件和關係數據庫之間的一些文件格式。有層次結構的東西會很棒。它必須有效地支持合理的大文件(超過100MB),並允許隨機訪問來添加,刪除和更改歸檔中的單個文件。我很驚訝無法找到任何東西。有什麼建議麼?
P.S.我幾年前遇到了不好的經歷,Microsoft compound file format被損壞了。我不知道像Apache POIFS這樣的東西是否可靠和高效的大文件。
市場上有幾種這樣的虛擬文件系統。無需在任何地方推送不適當的sqlite。 –
@ EugeneMayevski'EldoSCorp:使用結構化格式比存儲更有優勢。您可以用更少的代碼和大量工作來做更多的事情,並且它還爲將來的擴展做好準備,例如使用外部數據庫服務器來存儲中央存儲... – thkala
結構化數據的結構化格式不錯。對於非結構化數據和較大文件,DBMS會引入不必要的開銷。 –