Базы данных документов в NoSQL
В этой статье мы узнаем о модели данных документа 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-транзакций с несколькими документами. Изменение модели данных документа с участием двух коллекций нам потребуется выполнить два отдельных запроса, т.е. по одному для каждой коллекции. Здесь он нарушает требования атомарности.
- Ограничения проверки согласованности: можно искать коллекции и документы которые не подключены к авторской коллекции, но это может привести к снижению производительности базы данных.
- Безопасность. В настоящее время многим веб-приложениям не хватает безопасности, что, в свою очередь, приводит к утечке конфиденциальных данных. Таким образом, это становится предметом беспокойства, нужно обратить внимание на уязвимости веб-приложений.
Приложения модели данных документа:
- Управление контентом: эти модели данных очень часто используются при создании различных платформы потокового видео, блоги и подобные сервисы, потому что каждый из них хранится в виде отдельного документа, а базу данных здесь намного проще поддерживать по мере развития сервиса с течением времени.
- База данных книг: они очень полезны при создании баз данных книг, потому что, как мы знаем, эта модель данных позволяет нам вкладываться.
- Каталог: когда дело доходит до хранения и чтения файлов каталогов, эти модели данных очень часто используются, потому что они имеют возможность быстрого чтения, если в каталогах хранятся тысячи атрибутов.
- Платформа аналитики: эти модели данных очень часто используются в платформе аналитики.