В базах данных «ключ-значение» для хранения информации вы предоставляте ключ и объект данных, который нужно сохранить. Например, JSON-объект, изображение или текст. Чтобы запросить данные, отправляете ключ и получаете blob-объект.
Следствия:
· хранилища обеспечивают быстрый и малозатратный доступ;
· часто хранят данные конфигураций и информацию о состоянии данных, представленных словарями или хэшем;
· нет жёсткой схемы отношения между данными, поэтому в таких БД часто хранят одновременно различные типы данных;
· разработчик отвечает за определение схемы именования ключей и за то, чтобы значение имело соответствующий тип/формат.
Примеры:
· Redis
· memcached
· etcd
Документная база данных
Документные базы данных (также документоориентированные БД или хранилища документов), совместно используют базовую семантику доступа и поиска хранилищ ключей и значений. Такие БД также используют ключ для уникальной идентификации данных. Разница между хранилищами «ключ-значение» и документными БД заключается в том, что вместо хранения blob-объектов, документоориентированные базы хранят данные в структурированных форматах – JSON, BSON или XML.
|
|
Следствия:
· база данных не предписывает опредёленный формат или схему;
· каждый документ может иметь свою внутреннюю структуру;
· документные БД являются хорошим выбором для быстрой разработки;
· в любой момент можно менять свойства данных, не изменяя структуру или сами данные.
Примеры:
· MongoDB
· RethinkDB
Графовая база данных
Вместо сопоставления связей с таблицами и внешними ключами, графовые базы данных устанавливают связи, используя узлы, рёбра и свойства.
Графовые базы представляют данные в виде отдельных узлов, которые могут иметь любое количество связанных с ними свойств.
Следствия:
· выглядят аналогично сетевым;
· фокусируются на связях между элементами;
· явно отображает связи между типами данных;
· не требуют пошагового обхода для перемещения между элементами;
· нет ограничений в типах представляемых связей.
Примеры:
· Neo4j
· JanusGraph
· Dgraph