Базы данных документов в NoSQL

Опубликовано: 28 Августа, 2022

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

Модель данных документа:

А Модель данных документа сильно отличается от других моделей данных, поскольку она хранит данные в документах JSON, BSON или XML. в этой модели данных мы можем перемещать документы в рамках одного документа, и, кроме того, любые отдельные элементы могут быть проиндексированы для более быстрого выполнения запросов. Часто документы хранятся и извлекаются таким образом, что становятся близкими к объектам данных, которые используются во многих приложениях, что означает, что для использования данных в приложениях требуется очень меньше переводов. JSON — это родной язык, который также часто используется для хранения и запроса данных.

Таким образом, в модели данных документа каждый документ имеет пару ключ-значение, приведенную ниже, это пример того же самого.

{
"Name" : "Yashodhra",
"Address" : "Near Patel Nagar",
"Email" : "yahoo123@yahoo.com",
"Contact" : "12345"
}

Работа модели данных документа:

Это модель данных, которая работает как полуструктурированная модель данных, в которой записи и связанные с ними данные хранятся в одном документе, что означает, что эта модель данных не является полностью неструктурированной. Главное, что данные здесь хранятся в документе.

Функции:

  • Модель типа документа: как мы все знаем, данные хранятся в документах, а не в таблицах или графиках, поэтому во многих языках программирования становится легко отображать объекты.
  • Гибкая схема: общая схема очень гибкая, чтобы поддерживать это утверждение, нужно знать, что не все документы в коллекции должны иметь одинаковые поля.
  • Распределенная и отказоустойчивая: модели данных документов очень сильно рассредоточены, что является причиной горизонтального масштабирования и распределения данных.
  • Управляемый язык запросов: в этих моделях данных язык запросов позволяет разработчикам выполнять операции CRUD (создать, прочитать, обновить, уничтожить) в модели данных.

Примеры моделей данных документа:

  • Amazon DocumentDB
  • MongoDB
  • Космос БД
  • АрангоДБ
  • Couchbase сервер
  • CouchDB

Преимущества:

  • Без схемы: они очень хороши для сохранения существующих данных в огромных объемах, потому что нет абсолютно никаких ограничений в формате и структуре хранения данных.
  • Более быстрое создание документа и обслуживание: Создать документ очень просто, и кроме этого обслуживание практически ничего не требует.
  • Открытые форматы: у него очень простой процесс сборки, в котором используются XML, JSON и другие его формы.
  • Встроенное управление версиями. У него есть встроенное управление версиями, что означает, что по мере увеличения размера документов может возникнуть вероятность того, что они усложнятся. Управление версиями уменьшает количество конфликтов.

Недостатки:

  • Слабая атомарность: ему не хватает поддержки ACID-транзакций с несколькими документами. Изменение модели данных документа с участием двух коллекций нам потребуется выполнить два отдельных запроса, т.е. по одному для каждой коллекции. Здесь он нарушает требования атомарности.
  • Ограничения проверки согласованности: можно искать коллекции и документы которые не подключены к авторской коллекции, но это может привести к снижению производительности базы данных.
  • Безопасность. В настоящее время многим веб-приложениям не хватает безопасности, что, в свою очередь, приводит к утечке конфиденциальных данных. Таким образом, это становится предметом беспокойства, нужно обратить внимание на уязвимости веб-приложений.

Приложения модели данных документа:

  • Управление контентом: эти модели данных очень часто используются при создании различных платформы потокового видео, блоги и подобные сервисы, потому что каждый из них хранится в виде отдельного документа, а базу данных здесь намного проще поддерживать по мере развития сервиса с течением времени.
  • База данных книг: они очень полезны при создании баз данных книг, потому что, как мы знаем, эта модель данных позволяет нам вкладываться.
  • Каталог: когда дело доходит до хранения и чтения файлов каталогов, эти модели данных очень часто используются, потому что они имеют возможность быстрого чтения, если в каталогах хранятся тысячи атрибутов.
  • Платформа аналитики: эти модели данных очень часто используются в платформе аналитики.