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

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

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

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

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

Спасибо!

56
задан Community 22 September 2017 в 17:57
поделиться

5 ответов

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

Я бы сказал, что они одинаково хорошо подходят под требования, которые вы перечислили, однако между ними есть довольно много различий. Самое большое в IMO - это их возможность задавать вопросы. В CouchDB нет "запросов" в смысле СУБД (select * из ...), вместо этого используются "views", которые больше похожи на хранимые процедуры (в сущности, статические запросы определили в БД (1)). В MongoDB гораздо больше "обычных" запросов .

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

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

.
49
ответ дан 26 November 2019 в 17:27
поделиться

Mongo использует более "традиционные" запросы. Вы включаете индексирование на a per-Ключевая основа и синтаксис SQLish запросов.

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

Есть большая разница и в системах репликации. Репликация Mongo во многом похожа на большинство решений СУБД с мастерами и ведомыми и все такое. Репликация CouchDB больше похожа на peer to peer, нет master/slave, каждая CouchDB является узлом

.
11
ответ дан 26 November 2019 в 17:27
поделиться
[

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

]
11
ответ дан 26 November 2019 в 17:27
поделиться

Прежде чем использовать MongoDB, я бы порекомендовал вам взглянуть на следующее: http://groups.google.com/group/mongodb-user/browse_thread/thread/460dbd49a5b6b267. У MongoDB есть небольшой шанс испортить данные из-за отсутствия fsync'ов при каждой записи.

4
ответ дан 26 November 2019 в 17:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: