Как: SQL или NOSQL? - PullRequest
       5

Как: SQL или NOSQL?

3 голосов
/ 19 июля 2010

Я еще не сталкивался с этим, но это то, что я думаю (очень поверхностный и упрощенный imho)

Если у вас есть тип хранилища с ключевыми значениями, и все ваши обращения - это ключевые поиски, используйтеРешения NOSQL.Если вам нужны поиски, основанные на значениях (и подзначениях) или у вас есть что-то более сложное, например, соединения, вы бы выбрали реляционное решение.Транзакции = реляционные (я не слишком уверен, если решения nosql еще поддерживают это понятие). Это также выглядит как NOSQL = денормализованный (SQL) (я могу быть здесь ужасно ошибочным)

В общем, любые принципы / рекомендации / правила большого пальцапринять решение о выборе модели данных для вашего приложения.

Ответы [ 3 ]

2 голосов
/ 20 июля 2010

Хранилище документов, такое как MongoDB, может сделать намного больше, чем просто сохранение пар ключ-значение.MongoDB имеет богатый индекс и возможности поиска.Вы можете легко выполнять поиск значений (и их значений) с помощью MongoDB.

В хранилище документов вы можете хранить отношения 1: n в одном документе.Это означает, что для объединения требуется меньше .Я не говорю " нет нужно делать соединения ", но я говорю " меньше нужно делать соединения "

2 голосов
/ 20 июля 2010

Существуют различные факторы, которые можно использовать для выбора реализации БД, некоторые из них:

  1. Стоимость: БД NoSQL больше склоняются в сторону открытого источника, более дешевая сторона
  2. Масштабируемость: NoSQL может масштабироваться лучше при использовании более дешевого оборудования
  3. Если у вас слишком много объединений, вам следует обратиться к традиционной СУБД
  4. Гарантии согласованности могут варьироваться в зависимости от используемого решения в NoSQL

Вы также можете проверить следующий подкаст: "Эпизод 165: NoSQL и MongoDB с Дуайтом Мерриманом" на SE Radio.

1 голос
/ 19 июля 2010

NOSQL не является конкретной моделью данных или парадигмой доступа к данным. Он используется для обозначения любого количества технологий баз данных, отличных от SQL, обычно разработанных для приложений распределенных баз данных.

Денормализация, как правило, термин реляционной базы данных. Это не имеет ничего общего с базами данных NOSQL, большинство или все из которых не являются реляционными.

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