Рекомендовать индексированный формат файла, который можно обновлять с помощью произвольного доступа в Java - PullRequest
0 голосов
/ 02 сентября 2010

Мне нужен индексированный формат файла, который может содержать несколько сотен больших двоичных объектов переменного размера.

Размер двоичных объектов составляет около 1-5 МБ, а размер файла может достигать 1 ГБ.Мне нужно иметь возможность быстро находить, читать, добавлять и удалять BLOB-объекты без воссоздания всего файла.У меня нет необходимости сжимать большие двоичные объекты, однако, если большие двоичные объекты были удалены, я бы хотел освободить или повторно использовать пространство.

В идеале был бы Java API.

В настоящее время я нахожусьДелая это в формате ZIP, но нет известного способа обновить ZIP-файл без его воссоздания, и производительность плохая.

Я изучил SQLite, но его производительность BLOB-объектов была низкой, а для моих нужд - излишним..

Есть какие-нибудь мысли, или я должен свернуть свои собственные?И если я сделаю свой собственный, какие-нибудь предложения книги или веб-страницы?

Ответы [ 2 ]

4 голосов
/ 02 сентября 2010

Berkeley DB Java Edition делает то, что вам нужно. Это бесплатно.

1 голос
/ 02 сентября 2010

Вам нужна виртуальная файловая система.Наш SolFS является одним из вариантов, но у нас есть только слой JNI, так как движок написан на C. Существует еще одна опция, CodeBase, но поскольку они не предоставляют ознакомительную версию своего файлаСистема, я знаю немного об этом.

SolFS идеально подходит для вашей задачи, потому что он позволяет вам иметь альтернативные потоки для файлов и связывать доступные для поиска метаданные с каждым файлом или даже альтернативным потоком.

...