Монго в качестве основного БД для сложного проекта - PullRequest
0 голосов
/ 17 октября 2011

Есть ли смысл использовать mongodb в системе с большим количеством сущностей (более 50), связанных друг с другом, например, в CRM. Какие-нибудь "истории успеха"?

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

1 Ответ

0 голосов
/ 17 октября 2011

Определенно трудно дать рекомендацию с таким открытым вопросом; однако вы можете проанализировать некоторые преимущества MongoDB над другими базами данных, скорее всего, вы рассматриваете Mongo как альтернативу реляционной базе данных, такой как Oracle или SQL Server.

С http://mongodb.org вы можете увидеть основные характеристики ...

  • Хранение, ориентированное на документы : Это означает, что вы можете иметь один или несколько документов, представляющих ваши структуры данных. Здесь очень важно подумать, что схема является динамической , то есть вы можете добавить больше атрибутов без необходимости изменения базы данных. Очень полезно для повышения гибкости вашей системы.

  • Полная поддержка индексов : Мы не ожидаем менее полной поддержки индексов, верно?

  • Репликация и высокая доступность; Sharding : очень важные элементы для доступности, аварийного восстановления и гарантии способность расти с вашей системой.

  • Запрос : Опять же, довольно критическое требование. Необходимо убедиться, что вы учли динамическую схему. Вам нужно будет рассмотреть в ваши запросы, что некоторые атрибуты не определены для всех документов (помните динамическую схему?).

  • Карта / Уменьшить : Очень полезно для аналитика. Рекомендуется для агрегирования больших объемов данных. Следует использовать в автономном режиме, то есть вы не запускаете живой запрос к карту / уменьшить функцию, иначе вы будете сидеть некоторое время ожидание. Но здорово запускать пакетную аналитику в вашей системе.

  • GridFS : Отличный способ хранения двоичных данных. Автоматически генерирует MD5 для ваших файлов, разбивает их на куски и может добавлять метаданные. Ваши файлы останутся в вашей базе данных.

Кроме того, индексы геолокации велики. Вы можете определить атрибуты lon, lat и выполнить поиск по ним.

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

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

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...