Я ищу хранилище данных со значением ключа, которое имеет следующие (предпочтительные) свойства - PullRequest
1 голос
/ 16 мая 2011

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

Essential

  • Поддерживает протравленный объект Python в качестве значения.
  • Постоянный.

Чем больше, тем лучше, в порядке убывания важности(Я не ожидаю, что какое-либо хранилище данных будет отвечать всем критериям.: -))

  • Распределено.
  • Синхронная репликация на нескольких поддерживаемых узлах.
  • Запускается / Можетработать на нескольких узлах в конфигурации с несколькими хозяевами.
  • Кластер хранилища данных представлен как один сервер.
  • Круговой доступ к / выбор узла для действия чтения / записи.
  • Достойный клиент Python.
  • Поддержка атомарности в получении / переносе и репликации.
  • Автоматическое переключение при сбое
  • Достойная документация и / или Активное / полезное сообщество
  • Значительно зрелый
  • Достойная производительность чтения / записи

Любые предложения приветствуются.

1 Ответ

1 голос
/ 16 мая 2011

Cassandra (с открытым исходным кодом Facebook) обладает практически всеми этими свойствами. Существует несколько клиентов Python, включая pycassa .

Отредактировано, чтобы добавить:

Cassandra - это полностью распределенный многоузловой P2P с настраиваемыми уровнями согласованности (т. Е. Ваша репликация может быть синхронной или асинхронной или сочетать оба варианта). Клиенты могут подключаться к любому серверу. Аварийное переключение происходит автоматически, и новые серверы могут быть добавлены на лету для балансировки нагрузки. Кассандра используется в производстве такими компаниями, как Facebook. Есть книга О'Рейли. Производительность записи чрезвычайно высока, производительность чтения также высока.

...