Волдеморт против couchdb

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

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

Спасибо


person py213py    schedule 01.03.2009    source источник
comment
Я часто читал, что кэш, созданный InterSystems, широко используется в «мире» здравоохранения. Разве они не могут предложить решение?   -  person tuinstoel    schedule 15.03.2009


Ответы (3)


Проект Волан-де-Морт выглядит неплохо, но я пока еще не углублялся в него.

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

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

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

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

person max    schedule 02.03.2009

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

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

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

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

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

Видеть

person KingOfCoders    schedule 15.03.2009

Можно ли использовать memcacheDB? Я слышал, как компания Digg решает проблемы с высокой доступностью.

person scunliffe    schedule 02.03.2009
comment
конечно, в чем будет преимущество memcacheDB перед двумя другими - person py213py; 02.03.2009
comment
@ Sam152, HA Высокая доступность - person tuinstoel; 15.03.2009
comment
Memcache можно сделать отказоустойчивым с помощью некоторой конфигурации. Он уже распространен. Идея состоит в том, что ваше приложение будет проверять Memcache перед просмотром базы данных. Если сервер Memcache выходит из строя, все остальные серверы Memcache будут обновляться с утерянными по мере необходимости. - person Nolte; 15.03.2009
comment
(продолжение) Вам по-прежнему нужен базовый движок базы данных для хранения постоянных копий и выполнения запросов. - person Nolte; 15.03.2009
comment
На самом деле родительский пост относится к memcache DB, который является кодом memcached с серверной частью Berkley Db: memcachedb.org - person Neel; 14.01.2010
comment
Sam152: сокращение от High Availability. - person lysdexia; 24.02.2011