Плюсы и минусы MongoDB?

Может ли кто-нибудь сказать мне, что за плюсы и минусы mongodb, особенно по сравнению с реляционной базой данных? включая ACID, масштабируемость, пропускную способность, использование основной памяти, производительность вставки/запроса и размер индекса и т.д.

Ответ 1

Некоторые общие моменты в MongoDB

Плюсы:

  • схема меньше. Если у вас гибкая схема, это идеально подходит для хранилища документов, например MongoDB. Это трудно реализовать в RDBMS в режиме реального времени.
  • легкость масштабирования. Масштабирование читается с использованием наборов реплик. Масштабирование записывается с помощью функции sharding (автобалансировка). Просто запустите еще одну машину и уходите. Добавление большего количества машин = добавление большего количества ОЗУ для распространения вашего рабочего набора.
  • стоимость. Зависит от того, что RDBMS, конечно, но MongoDB является бесплатным и может работать на Linux, идеально подходит для работы на более дешевом товарном наборе.
  • вы можете выбрать, какой уровень согласованности вы хотите в зависимости от значения данных (например, более высокая производительность = огонь и забыть вставки в MongoDB, более низкая производительность = ждать, пока вставка не была реплицирована на несколько узлов перед возвратом)

Минусы:

  • Размер данных в MongoDB обычно выше из-за, например, каждый документ имеет имена полей, которые хранятся в нем.
  • меньше гибкости при запросе (например, нет JOIN)
  • нет поддержки транзакций - поддерживаются определенные атомарные операции на одном уровне документа
  • В настоящий момент Map/Reduce (например, для создания агрегации/анализа данных) в порядке, но не слишком быстро. Поэтому, если это необходимо, возможно, что-то вроде Hadoop необходимо добавить в микс.
  • менее актуальная информация доступна/быстро развивающийся продукт

Недавно я написал свои мысли на MongoDB, как кто-то из фона SQL Server, так что вы можете быть заинтересованы в этом (выше всего лишь некоторые из основные моменты).

Если вы ищете ответ "Is MongoDB лучше, чем РСУБД", тогда ИМХО нет ответа. Технологии NoSQL, такие как MongoDB, предоставляют альтернативу, которая дополняет технологии РСУБД. Один может быть лучше подходит для какой-то конкретной цели, чем для другой, поэтому все о том, чтобы позвонить, что лучше для вас для данного требования.