Документоориентированная БД NoSQL | OTUS

Документоориентированная БД NoSQL

Продолжаем разговор о типах СУБД NoSQL. В этот раз поговорим о документоориентированных нереляционных базах данных.

Данные, которые представлены парами ключ-значение, могут сжиматься в виде хранилища документов. Реализация похожа на хранилище «ключ-значение», но разница в том, что в документоориентированной БД хранимые значения (документы) характеризуются определённой структурой и кодировкой данных (XML, JSON, BSON).

В примере ниже мы рассмотрим данные в виде «документа», отображающего названия конкретных магазинов. Здесь важно отметить, что хотя все 3 примера и содержат местоположение, отображают они его по-разному:

{officeName: "3Pillar Noida", 
   {Street: "B-25", City: "Noida",
   State: "UP", Pincode: "201301"}
}
{officeName: "3Pillar Timisoara",
   {Boulevard: "Coriolan Brediceanu No. 10",
   Block: "B, Ist Floor",
   City: "Timisoara", Pincode: "300011"}
}
{officeName: "3Pillar Cluj",
   {Latitude: "40.748328",
   Longitude: "-73.985560"}
}

Ключевое различие между документированным хранилищем и хранилищем «ключ-значение» заключается в том, что первое включает метаданные, которые связаны с хранимым содержимым. Это, в свою очередь, позволяет делать запросы на основе содержимого. Допустим, в вышеописанном примере мы можем попытаться найти все документы, где «City» равно «Noida», что вернёт нам все документы, которые связаны с магазинами в данном городе.

Примером документоориентированной СУБД является Apache CouchDB. CouchDB применяет для хранения данных JSON, а в качестве языка запросов — JavaScript с использованием MapReduce и HTTP для API. При этом данные и отношения не хранятся в таблицах так, как это принято в традиционных реляционных БД, а, по большему счёту, являются набором независимых документов.

Также стоит упомянуть, что такие БД работают без схемы. Это упрощает задачу по добавлению полей в JSON-документы без надобности сначала заявлять об изменениях.

На сегодняшний день наиболее популярными документоориентированными СУБД являются Couchbase и MongoDB.

Источник — «EXPLORING THE DIFFERENT TYPES OF NOSQL DATABASES».

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто