Документо-орієнтована система керування базами даних
Документо-орієнтована система керування базами даних (англ.document-oriented database) — система керування базами даних, спеціально призначена для зберігання ієрархічних структур даних (документів) і зазвичай реалізована за допомогою підходу NoSQL. В основі документо-орієнтованих СКБД лежать документні сховища (англ.document store), котрі мають структуру дерева (іноді лісу). Структура дерева починається з кореневого вузла і може містити кілька внутрішніх і листових вузлів. Листові вузли містять дані, які при додаванні документа заносяться в індекси, що дозволяє навіть при досить складній структурі знаходити місце (шлях) шуканих даних. API для пошуку дозволяє знаходити за запитом документи та частини документів. На відміну від сховищ типу ключ-значення, вибірка за запитом до документного сховища може містити частини великої кількості документів без повного завантаження цих документів в оперативну пам'ять[1].
Документи можуть бути організовані (згруповані) в колекції. Їх можна вважати віддаленим аналогом таблиць реляційних СУБД, але колекції можуть містити інші колекції. Хоча документи колекції можуть бути довільними, для ефективнішого індексування краще об'єднувати у колекцію документи зі схожою структурою[1][2].
Центральним поняттям документо-орієнтованих баз даних є Документ. Деталі визначення цієї головної концепції різняться у різних реалізаціях документо-орієнтованих баз даних, але загалом всі вони мають на увазі, що документ ізолює дані та кодує їх (або інформацію) у певному форматі або кодуванні. Це кодування може використовувати XML, YAML, JSON, BSON, а також бінарні формати, такі як PDF чи документи Microsoft Office (MS Word, Excel, тощо).
Документи всередині документо-орієнтованої бази даних у певному розумінні подібні до записів або рядків реляційних баз даних, але вимоги до них не такі жорсткі. Вони ані потребують задовольняти стандартній схемі, ані мати однакові секції, частини або ключі. Наприклад, такий документ
Ці два документи мають спільні структурні елементи, але кожен має і свої власні унікальні елементи. На відміну від реляційних баз даних, де кожен запис містить однакові поля, невикористані з яких залишаються порожніми, у документно-орієнтованих базах нема пустих полів в жодному документі (запису), як у прикладі вище. Такий підхід дозволяє додавати нову інформацію у запис без потреби, щоб кожен інший подібний запис бази даних мав таку саму структуру.
Ключі
Документо-орієнтована СКБД звертається до документів через унікальний ключ, який представляє документ. Цей ключ часто є простим рядком, URI або шляхом. Ключ використовується для отримання документу з бази даних. Звичайно СКДБ зберігає індекс ключів для прискорення одержання документів.
Пошук
Іншою визначальною характеристикою документо-орієнтованих систем керування базами даних є спосіб, у який, крім простого пошуку за схемою ключ-документ, можна одержати документ. Для цього база даних надає програмний інтерфейс (API) або мову запитів, котрі дають користувачеві засоби шукати документ. Наприклад, ви хочете запитати всі документи з певним набором полів і з певними значеннями. Набір інтерфейсу запитів або мов запитів у реалізаціях, так само як і очікувана продуктивність запитів, дуже різниться від одної імплементації документо-орієнтованої СКДБ до іншої.
Організація
Реалізації відрізняються наборами способів організації документів, включаючи такі поширені як
безсхемна, докумнто-орієнтована платформа з сервером зберігання даних, рушій повнотекстового пошуку, інформаційне ранжування пошукової релевантності і кластерізація
↑Архівована копія. Архів оригіналу за 5 вересня 2015. Процитовано 14 червня 2014.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
Dan McCreary, Ann Kelly Making Sense of NoSQL: A guide for managers and the rest of us. — Manning Publications, 2013. — 312 p. — ISBN 978-1-61729-107-4
Shashank Tiwari Professional NoSQL. — Packt Publishing, 2011. — 384 p. — ISBN 978-0-470-94224-6