0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: nosql, база данных, документоориентированная субд</p>
1
<p>Теги: nosql, база данных, документоориентированная субд</p>
2
<p>Продолжаем разговор о типах СУБД NoSQL. В этот раз поговорим о документоориентированных нереляционных базах данных.</p>
2
<p>Продолжаем разговор о типах СУБД NoSQL. В этот раз поговорим о документоориентированных нереляционных базах данных.</p>
3
<p>Данные, которые представлены парами ключ-значение, могут сжиматься в виде хранилища документов. Реализация похожа на<a>хранилище "ключ-значение"</a>, но разница в том, что в документоориентированной БД хранимые значения (документы) характеризуются определённой структурой и кодировкой данных (XML, JSON, BSON).</p>
3
<p>Данные, которые представлены парами ключ-значение, могут сжиматься в виде хранилища документов. Реализация похожа на<a>хранилище "ключ-значение"</a>, но разница в том, что в документоориентированной БД хранимые значения (документы) характеризуются определённой структурой и кодировкой данных (XML, JSON, BSON).</p>
4
<p>В примере ниже мы рассмотрим данные в виде "документа", отображающего названия конкретных магазинов. Здесь важно отметить, что хотя все 3 примера и содержат местоположение, отображают они его по-разному:</p>
4
<p>В примере ниже мы рассмотрим данные в виде "документа", отображающего названия конкретных магазинов. Здесь важно отметить, что хотя все 3 примера и содержат местоположение, отображают они его по-разному:</p>
5
{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"} }<p>Ключевое различие между документированным хранилищем и хранилищем "ключ-значение" заключается в том, что первое включает метаданные, которые связаны с хранимым содержимым. Это, в свою очередь, позволяет делать запросы на основе содержимого. Допустим, в вышеописанном примере мы можем попытаться найти все документы, где "City" равно "Noida", что вернёт нам все документы, которые связаны с магазинами в данном городе.</p>
5
{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"} }<p>Ключевое различие между документированным хранилищем и хранилищем "ключ-значение" заключается в том, что первое включает метаданные, которые связаны с хранимым содержимым. Это, в свою очередь, позволяет делать запросы на основе содержимого. Допустим, в вышеописанном примере мы можем попытаться найти все документы, где "City" равно "Noida", что вернёт нам все документы, которые связаны с магазинами в данном городе.</p>
6
<p>Примером документоориентированной СУБД является<strong>Apache CouchDB</strong>. CouchDB применяет для хранения данных JSON, а в качестве языка запросов - JavaScript с использованием MapReduce и HTTP для API. При этом<strong>данные и отношения не хранятся в таблицах</strong>так, как это принято в традиционных реляционных БД, а, по большему счёту, являются<strong>набором независимых документов</strong>.</p>
6
<p>Примером документоориентированной СУБД является<strong>Apache CouchDB</strong>. CouchDB применяет для хранения данных JSON, а в качестве языка запросов - JavaScript с использованием MapReduce и HTTP для API. При этом<strong>данные и отношения не хранятся в таблицах</strong>так, как это принято в традиционных реляционных БД, а, по большему счёту, являются<strong>набором независимых документов</strong>.</p>
7
<p>Также стоит упомянуть, что такие<strong>БД работают без схемы</strong>. Это упрощает задачу по добавлению полей в JSON-документы без надобности сначала заявлять об изменениях.</p>
7
<p>Также стоит упомянуть, что такие<strong>БД работают без схемы</strong>. Это упрощает задачу по добавлению полей в JSON-документы без надобности сначала заявлять об изменениях.</p>
8
<p>На сегодняшний день наиболее популярными документоориентированными СУБД являются Couchbase и MongoDB.</p>
8
<p>На сегодняшний день наиболее популярными документоориентированными СУБД являются Couchbase и MongoDB.</p>
9
<p><em>Источник - "<a>EXPLORING THE DIFFERENT TYPES OF NOSQL DATABASES</a>".</em></p>
9
<p><em>Источник - "<a>EXPLORING THE DIFFERENT TYPES OF NOSQL DATABASES</a>".</em></p>
10
10