Я ищу простой способ хранения и извлечения миллионов XML-файлов.В настоящее время все делается в файловой системе, которая имеет некоторые проблемы с производительностью.
Наши требования:
- Возможность хранить миллионы xml-файлов в пакетном процессе.XML-файлы могут иметь размер до нескольких мегабайт, большинство из которых находятся в диапазоне 100 КБ.
- Очень быстрый случайный поиск по идентификатору (например, URL документа)
- Доступен как для Java, так и для Perl
- Доступно на самых важных Linux-дистрибутивах и Windows
Я взглянул на несколько платформ NoSQL (например, CouchDB, Riak и другие), и в то время как тесистемы выглядят великолепно, они кажутся почти лишними:
- Не требуется кластеризация
- Не требуется демон ("служба")
- Не требуется интеллектуальная функция поиска
Погрузившись глубже в Риак, я нашел Bitcask (см. intro ), который, похоже, именно то, что я хочу.Основы, описанные во введении, действительно интригуют.Но, к сожалению, нет средств для доступа к репозиторию Bitcask через Java (или есть?)
Так что мой вопрос сводится к
- , верно ли следующее предположение: модель Bitcask (записи только для добавления, управление ключами в памяти) - это верный способ хранения / извлечения миллионов документов
- Существуют ли какие-либо жизнеспособные альтернативы Bitcask, доступные через Java?(На ум приходит BerkleyDB ...)
- (для специалистов по riak). Является ли Riak более затратным в плане внедрения / управления / ресурсов по сравнению с "голым" Bitcask?