Волдеморт против Кушба - PullRequest
6 голосов
/ 02 марта 2009

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

Каковы плюсы / минусы каждого?

Спасибо

Ответы [ 3 ]

5 голосов
/ 02 марта 2009

Project Voldemort выглядит красиво, но я до сих пор не углублялся в это.

В текущем состоянии CouchDB может не подходить для «огромных объемов данных». Распределение данных между узлами и запросы маршрутизации соответственно находятся на дорожной карте, но пока не реализованы. Самые большие известные производственные установки CouchDB используют «таблицы» («базы данных» в терминах) примерно 200G.

HA изначально не поддерживается CouchDB, но может быть легко создан: все узлы CouchDB реплицируют узлы базы данных между собой в настройке с несколькими хозяевами. Мы ставим два прокси Varnish перед машинами CouchDB, а коробки Varnish становятся избыточными с CARP . Дизайн "build in the Web" CouchDB делает такие вещи очень легкими.

Наиболее насущной проблемой в нашей настройке является тот факт, что по-прежнему существуют проблемы с репликацией больших (несколько МБ) вложений в документы CouchDB.

Я предлагаю вам также проверить традиционный маршрут СУБД. Существуют огромные проблемы с доступным талантом за пределами подхода RDBMS, и от Oracle & Co. доступны очень эффективные предложения

4 голосов
/ 15 марта 2009

Недостаточно зная из вашего вопроса, я, тем не менее, сказал бы, что Project Voldemort или распределенные хеш-таблицы ( DHT ), такие как CouchDB в целом, являются решением вашей проблемы HA.

Эти DHT очень хороши для высокой доступности, но сложнее в написании кода, чем традиционные реляционные базы данных (RDBMS) относительно согласованности.

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

  • Самым большим ограничением большинства магазинов является то, что они не безопасны с точки зрения транзакций (см. Scalaris для хранения с точки зрения транзакций), и вам необходимо самостоятельно обеспечить согласованность данных - большинство читают согласованность во времени путем объединения противоречивых данных). СУРБД гораздо проще использовать для обеспечения согласованности данных (ACID)
  • Присоединение данных тоже намного сложнее. В RDBM вы можете легко запрашивать данные по нескольким таблицам, вам нужно написать код в CouchDB для агрегирования данных. Для других магазинов Hadoop может быть хорошим выбором для сбора информации.

Прочтите о BASE и теореме CAP о согласованности и доступности.

См.

1 голос
/ 02 марта 2009

Является ли memcacheDB опцией? Я слышал, что именно так Дигг решал проблемы с ГА.

...