Хранение временных файлов в JackRabbit - это хорошая идея? - PullRequest
0 голосов
/ 29 марта 2011

знает ли кто-нибудь, сколько оверхабит по сравнению с чистым постоянством FS имеет?

Я использую его для проекта CMS, но мне также нужно сохранить временные файлы (, которые, к сожалению, имеютProperies / метаданные ) ... Не знаю, должен ли я также использовать для этого крольчонка.

Я думаю, что издержки достаточно велики, чтобы этого избежать ... по крайней мере, ввод-вывод в файловой системе.

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

Должен ли я создать слой для сохранения файлов со свойствамичерез JAVA IO API, я должен использовать jackrabbit или я должен использовать базу данных?Если это так, можно ли как-то настроить его на производительность?

1 Ответ

0 голосов
/ 30 марта 2011

По умолчанию Jackrabbit сохраняет двоичные файлы в FileDataStore, который использует FileOutputStream, поэтому накладные расходы относительно низкие.Однако двоичные файлы в хранилище данных остаются до тех пор, пока не будет собрана сборка мусора, что может стать проблемой для вас, если вы создадите огромное количество временных файлов.

Метаданные: это зависит от того, сколько у вас есть метаданных.Метаданные хранятся в диспетчере сохраняемости и, возможно, в поисковом индексе (Lucene).Основной проблемой производительности обычно является полнотекстовый поиск, поэтому отключите его, если это возможно.

, если я использую jackrabbit или базу данных

Это действительно зависит от вашего варианта использования,Jackrabbit не претендует на то, чтобы быть «быстрее, чем база данных», но модель данных (иерархическая, пары ключ-значение) может быть лучше или проще в использовании.

...