2010-04-02 1 views

ответ

2

Из википедии:

  • Document data store: В отличие от реляционных баз данных, базы данных документов на основе не хранят данные в таблицах с однородными по размеру полей для каждой записи. Вместо этого каждая запись хранится как документ с определенными характеристиками. В документ может быть добавлено любое количество полей любой длины. Поля могут также содержать несколько фрагментов данных.
  • Key Value: Ассоциативный массив (также ассоциативный контейнер, карта, отображение, словарь, конечная карта и обработка запросов индексным или индексным файлом) представляет собой абстрактный тип данных, состоящий из набора уникальных ключей и набора значений , где каждый ключ связан с одним значением (или набором значений). Операция нахождения значения, связанного с ключом, называется поиском или индексированием, и это самая важная операция, поддерживаемая ассоциативным массивом. Связь между ключом и его значением иногда называют отображением или привязкой. Например, если значение, связанное с ключом «bob», равно 7, мы говорим, что наш массив отображает «bob» на 7.

Другие примеры на NoSQL.

9

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

Пример записи:

"id" => 12345, 
"name" => "Fred", 
"age" => 20, 
"email" => "[email protected]" 

Затем вы можете запросить по ид, имя, возраст, или по электронной почте.

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

Пример записи:

12345 => "Fred,[email protected],20" 

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

+0

Тогда разве это не то же самое, с разными именами? –

+0

Существует компромисс скорости/сложности ... Я попытался разъяснить выше. – kristina

5

Вот описание нескольких моделей общих данных:

  • реляционные системы баз данных мы использовали на некоторое время теперь. РСУБД и системы, которые поддерживают ACIDity и объединения, считаются реляционными.
  • Системы с ключевыми значениями в основном поддерживают операции get, put и delete на основе первичного ключа.
  • Системы, ориентированные на столбцы, по-прежнему используют таблицы, но не имеют объединений (соединения должны обрабатываться в вашем приложении). Очевидно, что они хранят данные по столбцу, а не традиционные базы данных, ориентированные на строки. Это облегчает агрегирование.
  • Документированные системы хранят структурированные «документы», такие как JSON или XML, но не имеют объединений (в вашу заявку должны быть включены соединения). Очень легко отображать данные из объектно-ориентированного программного обеспечения в эти системы.

Из этой публикации в блоге я написал: Visual Guide to NoSQL Systems.