NoSQL - MongoDB по сравнению с [закрытым] CouchDB

Я - полный новичок когда дело доходит до перемещения NoSQL. Я услышал партии о MongoDB и CouchDB. Я знаю, что существуют различия между двумя. Который Вы рекомендуете изучить как первый шаг в мир NoSQL?

149
задан Community 22 September 2017 в 18:01
поделиться

1 ответ

См. Следующие ссылки

Обновление : Я нашел отличное сравнение баз данных NoSQL .

MongoDB (3.2)

  • Написано на: C ++
  • Суть: Хранилище документов JSON
  • Лицензия: AGPL (Драйверы: Apache)
  • Протокол: Пользовательский, двоичный (BSON)
  • Мастер / подчиненная репликация (автоматическое переключение при отказе с наборами реплик)
  • Встроенный сегмент
  • Запросы представляют собой выражения javascript
  • Выполнять произвольные функции javascript на стороне сервера
  • Имеет геопространственное индексирование и запросы
  • Несколько механизмов хранения с разной производительностью характеристики
  • Производительность по сравнению с функциями
  • Проверка документа
  • Журнал
  • Мощная структура агрегирования
  • В 32-битных системах, ограничено ~ 2,5 ГБ
  • Встроенный текстовый поиск
  • GridFS для хранения больших данных + метаданные (на самом деле не FS)
  • Информация о центре обработки данных

Лучше всего использовать : если вам нужны динамические запросы. Если вы предпочитаете определять индексы, а не функции сопоставления / сокращения. Если вам нужна хорошая производительность на большой БД. Если вам нужен CouchDB, но ваши данные слишком сильно меняются, заполняя диски.

Например : для большинства вещей, которые вы бы сделали с MySQL или PostgreSQL, но наличие предопределенных столбцов действительно сдерживает вас.

CouchDB (1.2)

  • Написано на: Erlang
  • Суть: согласованность БД, простота использования
  • Лицензия: Apache
  • Протокол: HTTP / REST
  • Двунаправленная (!) Репликация ,
  • непрерывный или специальный,
  • с обнаружением конфликта,
  • таким образом, репликация главный-главный.(!)
  • MVCC - операции записи не блокируют чтение
  • Доступны предыдущие версии документов
  • Устойчивый к сбоям (надежный) дизайн
  • Время от времени требуется уплотнение
  • Просмотры: встроенная карта / уменьшить
  • Форматирование представлений: списки и показы
  • Возможна проверка документа на стороне сервера
  • Возможна проверка подлинности
  • Обновления в реальном времени с помощью '_changes' (!)
  • Обработка вложений

Лучшее использование : Для накопления, периодически изменяющихся данных, по которым должны выполняться предопределенные запросы. Места, где важно управление версиями.

Например : CRM, CMS-системы. Репликация мастер-мастер - особенно интересная функция, позволяющая легко развертывать систему на нескольких площадках.

146
ответ дан 23 November 2019 в 22:26
поделиться
Другие вопросы по тегам:

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