Помогите мне выбрать магазин ключей / ценностей - PullRequest
4 голосов
/ 17 декабря 2010

Ненавижу просить других сделать мое исследование для меня, но, возможно, есть добрая душа, которая знает ответ по макушке:

Мне нужно хранилище ключей / значений со следующими характеристиками:

  1. Распространяется
  2. Может перебирать ключи в порядке возрастания.
  3. Может найти ключ на основе совпадения частичного ключа (префикса).
  4. Значения могут быть двоичными объектами размером до МБ или двух.
  5. Доступно с Java.
  6. Какой-то способ установить правила, чтобы я мог контролировать, как ключи распределяются по машинам, то есть мне бы хотелось иметь правило, чтобы ключи с общим префиксом оставались на одной машине.
  7. Способ запроса к системе, чтобы узнать, на каком компьютере есть ключ.
  8. Некоторая поддержка репликации и резервирования.

Ответы [ 2 ]

1 голос
/ 17 декабря 2010

У меня есть два ответа для вас:

  1. Amazon S3 поддерживает все это, но, очевидно, он работает на их серверах, а не на ваших.В частности, он очень хорошо поддерживает поиск префиксов.
  2. MongoDB поддерживает все это.Вы можете использовать регулярные выражения или $ где сделать сопоставление префиксов.Будьте осторожны с индексами для лучшей производительности.
0 голосов
/ 17 декабря 2010

Я не уверен, что это соответствует всем вашим требованиям, но вы смотрели распределенные карты Hazelcast ? Прошло некоторое время с тех пор, как я посмотрел на Hazelcast, поэтому я не знаю, есть ли способ узнать, какие экземпляры отвечают за данный ключ, или способ назначить ключи экземплярам, ​​но он обеспечивает поддержку безопасных параллельных операций во всем раздаётся карта и прочие приятные мелочи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...