Что такое документная база данных?

Определение документной базы данных

Документная база данных – это тип нереляционных баз данных, предназначенный для хранения частично структурированных данных в виде документов. Документные базы данных интуитивно понятны разработчикам, поскольку данные на уровне приложения обычно представляются как документ JSON. Разработчики могут сохранять данные с помощью той же документной модели, которую они используют в коде приложения. В документной базе данных все документы могут иметь одинаковую или различную структуру данных. Каждый документ является самоописываемым (т. е. содержит схему, которая может быть уникальной) и не обязательно зависит от какого‑либо другого документа. Документы группируются в «коллекции», которые по своему назначению схожи с таблицами в реляционных базах данных. 

Например, файл JSON для описания элемента книги в простой базе данных книг может выглядеть как следующий код.

[
    {
        "year" : 2013,
        "title" : "Turn It Down, Or Else!",
        "info" : {
            "directors" : [ "Alice Smith", "Bob Jones"],
            "release_date" : "2013-01-18T00:00:00Z",
            "rating" : 6.2,
            "genres" : ["Comedy", "Drama"],
            "image_url" : "http://ia.media-imdb.com/images/N/O9ERWAU7FS797AJ7LU8HN09AMUP908RLlo5JF90EWR7LJKQ7@@._V1_SX400_.jpg",
            "plot" : "A rock band plays their music at high volumes, annoying the neighbors.",
            "actors" : ["David Matthewman", "Jonathan G. Neff"]
        }
    },
    {
        "year": 2015,
        "title": "The Big New Movie",
        "info": {
            "plot": "Nothing happens at all.",
            "rating": 0
        }
    }
]

Примеры использования

Управление контентом

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

Каталоги

Документные базы данных эффективны для хранения каталожной информации. Например, в приложениях для интернет‑коммерции разные товары обычно имеют различное количество атрибутов. Управление тысячами атрибутов в реляционных базах данных неэффективно. Кроме того, количество атрибутов влияет на производительность чтения. При использовании документной базы данных атрибуты каждого товара можно описать в одном документе, что упрощает управление и повышает скорость чтения. Изменение атрибутов одного товара не повлияет на другие товары.

Популярные документные базы данных

Amazon DynamoDB

Amazon DynamoDB – это нереляционная база данных, обеспечивающая надежную производительность при любом масштабе. База данных является полностью управляемой и работает в нескольких регионах с несколькими ведущими серверами. Она обеспечивает устойчивую задержку в пределах нескольких миллисекунд и обладает встроенными средствами безопасности, резервного копирования и восстановления, а также кэширования в памяти. DynamoDB имеет встроенную поддержку JSON, благодаря чему документы JSON можно записывать непосредственно в таблицы DynamoDB. Максимальный размер элемента составляет 400 КБ, поэтому DynamoDB позволяет сохранять большие документы JSON и вложенные объекты за одну транзакцию.

Начните работать с DynamoDB уже сегодня.

Getting Started with Amazon DynamoDB

MongoDB

MongoDB – это нереляционная база данных с открытым исходным кодом, поддерживающая документоориентированные системы хранения объектов в формате, подобном JSON. Она использует гибкую модель данных, позволяющую хранить данные любой структуры, и имеет широкий набор возможностей, включая полную поддержку индексов, сегментирование и репликацию. AWS позволяет настроить инфраструктуру для развертывания MongoDB в облаке AWS с применением гибкого, масштабируемого и экономически эффективного подхода. 

Используйте решение AWS MongoDB Quick Start (также доступное в формате PDF) для развертывания кластера MongoDB в облаке AWS. Обзор решения MongoDB и способ его внедрения на AWS см. в техническом описании MongoDB на AWS: руководства и рекомендации. Кроме того, обязательно просмотрите рекомендации по безопасности AWS для MongoDB.

Couchbase

Платформа корпоративного класса Couchbase Data Platform предназначена для обеспечения работы интерактивных мобильных приложений, приложений IoT и интернет‑приложений. Она включает в себя продукты Couchbase Server и Couchbase Mobile. Couchbase Server представляет собой нереляционную базу данных с оптимизацией для облака, основанную на распределенной архитектуре, которая обеспечивает высокую производительность, масштабируемость и доступность. Она позволяет разработчикам создавать приложения, сочетая широкие возможности SQL с гибкостью JSON. Couchbase Mobile включает в себя полностью интегрированную встроенную базу данных, встроенную систему безопасности и функцию автоматической синхронизации с высокомасштабируемой базой данных Couchbase Server в реальном времени.

Используйте решение AWS Couchbase Quick Start (также доступное в формате PDF) для развертывания кластера Couchbase в облаке AWS.