Подтвердить что ты не робот

Являются ли MongoDB и CouchDB идеальными заменителями?

У меня еще нет грязных рук, но CouchDB и MongoDB, но я хотел бы сделать это скоро... Я также немного ознакомился с обоими системами, и мне кажется, что они охватывают одни и те же случаи... Или я не вижу ключевого отличия особенность?

Я хотел бы использовать хранилище на основе документов вместо традиционной RDBMS в моем следующем проекте. Мне также нужно хранилище данных

  • обрабатывать большие двоичные объекты (изображения и видео)
  • автоматически реплицируется на физически отдельные узлы.
  • что лишний раз лишний лишний RDBMS

Оба одинаково хорошо подходят для этих требований?

Спасибо!

4b9b3361

Ответ 1

Я действительно использовал оба довольно широко, как для очень разных проектов.

Я бы сказал, что они одинаково хорошо подходят для требований, которые вы перечисляете, но между ними довольно много различий. ИМО является самой большой их способностью запросов. CouchDB не имеет "запросов" в смысле RDBMS (выберите * из...), но вместо этого использует " views ', которые больше как хранимые процедуры (по существу, статические запросы, определенные в базе данных (1)). У MongoDB гораздо больше более" обычных "запросов.

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

(1): вы можете временно использовать нестатические запросы в CouchDB, но они не рекомендуются для использования

Ответ 2

Mongo использует более "традиционные" запросы. Вы включаете индексирование на основе каждой клавиши и используете синтаксис SQLish запроса.

Представления CouchDB могут делать гораздо более глубокие индексирование и отношения, но требуют от вас немного больше работы и понимания того, как работает сортировка ключей для выполнения запросов.

Существует большая разница в системах репликации. Репликация Mongo очень похожа на большинство решений RDBMS с мастерами и рабами и все такое. Репликация CouchDB более равноправна, не является ведущим/ведомым, каждый CouchDB является node.

Ответ 3

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

Ответ 6

С точки зрения разработчика наибольшая разница заключается в том, что mongo - прямые запросы против кушетки (которые должны быть "скомпилированы" ). С оперативной точки зрения кушетка полностью работает на http-rest. Если вы можете настроить HTTP-серверы, вы знаете, как настроить тренера. С Mongo вместо этого вы должны научиться настраивать серверы конфигурации, набор реплик и mongos (вид балансировки).