Каковы случаи реального использования для перехода с магазином NoSQL Document DB?

StackOverflow https://stackoverflow.com/questions/3621415

Вопрос

Я читал документацию и смотрел скрингасты, специфичные для Mongo DB за последние несколько дней, и я нахожусь в потере, когда это решение, как будто это будет лучше, чем типичная среда PG или MySQL.

В частности, мой вопрос находится под каким обстоятельством (W / Case Case будет неплохо) Хотели бы вы пойти на маршрут NoSQL?

Спасибо!

Нет правильного решения

Другие советы

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

  2. Жидкие схемы. Изменение схемы в традиционной БД - дорогостоящая операция, которая часто требует своего рода простоя сервера или другие сложные процессы. С большиншими системами NoSQL это тривиально. Поэтому, если у вас есть данные из множества разрозненных источников, чтобы объединить и / или иметь ситуации, когда вы можете захотеть отслеживать новую информацию на более позднюю дату, системы NoSQL будут намного легче иметь дело с. Объединение двух источников данных, чтобы они могли быть указаны друг с другом, это хороший пример, который я могу подумать.

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

  4. Совместимость данных. Большинство баз данных NoSQL позволяют вам интрировать данные, не зная схемы заранее, позволяя связующим связям между разбитыми системами проще.

  5. Массивное масштабирование. Это тот, который наиболее часто обсуждается, и чаще всего злоупотребляет сторонниками NoSQL. Если это единственная причина, по которой вы выбираете NoSQL, начните с MySQL вместо и масштабирования позже.

Использовать дело
Мы используем MongoDB для широкомасштабной чрезвычайно преходящей структуры данных. Это в действии работает трекер / менеджер с множеством рабочих единиц, обрабатываемых каждую секунду. Рабочий блок не имеет определенной схемы (разные блоки несколько часто придумываются), но нам нужно иметь возможность получить возможность запроса для определенных полей или свойств без итерации по всей БД. Итак, чтобы повторно: весьма переходной, очень доступный (не может позволить себе блокировать запрос) с рабочей нагрузкой приблизительно 600QPS для одного «товара», работающего в облаке.

Факт вопроса - это чрезвычайно трудно сделать то же самое на SQL-машине, в то же время сохраняя одинаковые затраты.

Другие популярные случаи использования для MongoDB (также для нас) являются статистической коллекцией, она чрезвычайно эффективна при увеличении конкретных свойств внутри документов, гораздо больше, чем большинство систем RDBMS.

Опять же, это не то, что в MySQL невозможно сделать в MySQL, это просто дороже и занимает больше времени (больше навыков), которое для небольшой компании или быстрой среды развития означает, что она не может быть сделана.

Некоторые отдохнутые API возвращают данные JSON (например, многие из открыть правительственные данные API). Если вы хотите выбросить данные остальных в локальный магазин данных (если вам необходимо запустить анализ, и т. Д.), Пробурив объект JSON с MongoDB, тривиален. Не нужно определять таблицу схемы. Еще лучше, если объект JSON меняется со временем (например, остальные API возвращает дополнительные поля), вы все еще можете принять данные на один шаг. Попробуйте это с реляционной базой данных!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top