Документоориентированные БД

Документоориентированные базы данных – это тип баз данных, направленный на хранение и запрос данных в виде документов, подобном JSON.

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

Пример хранения данных

Пример хранения данных Пример хранения данных

Особенности документоориентированных БД

В реляционных базах данных структура записей строго определена и каждая запись содержит одни и те же поля. Даже если поле не используется, оно присутствует, хоть и пустое.

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

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

Другой значимой особенностью документоориентированных баз данных является то, что помимо простого поиска документов по ключу, как в key-value базах данных, они предоставляют свой язык запросов, функционал, синтаксис и производительность которого отличается от одной реализации к другой.

Для примера, вот так может выглядеть запрос в наиболее популярном представителе данного типа баз данных - в MongoDB:

MongoDB
> db.users.find({"name": "Daniel"}).count()
> 1

Рейтинг СУБД по популярности

Рейтинг документоориентированных СУБД по популярности