ключ -> хранилище значений с двоичными вложениями - PullRequest
0 голосов
/ 11 ноября 2009

Дополнительным требованием является то, что вложения могут быть сохранены в виде потока, поскольку могут быть потенциально очень большие двоичные файлы, которые необходимо сохранить. Видео и т. Д.

Я посмотрел на Волдеморта и другие хранилища ключевых значений, но все они, похоже, ожидают байтовые массивы, что совершенно невозможно.

Это должно быть предпочтительно написано на Java и быть встраиваемым.

Вариант использования: Я написал библиотеку HTTP Cache, которая имеет несколько бэкэндов.

У меня есть память на основе памяти (с использованием hashmap и байтовых массивов), база данных Derby, постоянная hashmap с вложенным файлом, EHCache с вложенным файлом.

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

Я храню Заголовки с дополнительной метаинформацией в хранилище данных. Но мне также нужно хранить полезную нагрузку ответа HTTP.

Полезная нагрузка ответа HTTP может быть ОЧЕНЬ большой, поэтому мне нужно использовать потоковую передачу.

1 Ответ

0 голосов
/ 11 ноября 2009

Почему значение byte[] исключено? Любой граф объектов может быть сериализован в байтовый массив!

Вы смотрели на Sleycat's Berkeley DB (это бесплатно)?

EDIT - увидев комментарий jhedding , кажется, что вам нужно хранить данные, которые слишком велики, чтобы вписаться в одну JVM за один раз. Есть ли у вас:

  1. Проверено, что это не будет в 64-битной JVM?
  2. Пробовал использовать сетевую файловую систему ? (NAS или что-то еще)
...