База данных «клю́ч — значе́ние» (англ. key-value database или англ. key-value store) — парадигма хранения данных, предназначенная для хранения, извлечения и управления ассоциативными массивами, структура данных, более известная сегодня как словарь или хеш-таблица. Словари содержат коллекцию объектов или записей, которые, в свою очередь, содержат множество различных полей, каждое из которых содержит данные. Эти записи хранятся и извлекаются с использованием ключа, который однозначно идентифицирует запись и используется для быстрого поиска данных в базе данных.

Таблица, показывающая разные значения форматированных данных, связанных с разными ключами

Базы данных «ключ — значение» работают совершенно иначе, чем более известные реляционные базы данных (РБД). В РБД предварительно определяют структуру данных в базе данных как последовательность таблиц, содержащих поля с четко определёнными типами данных. Экспонирование типов данных в базе данных позволяет применить ряд оптимизаций. Напротив, системы «ключ — значение» обрабатывают данные как одну непрозрачную коллекцию, которая может иметь разные поля для каждой записи. Это обеспечивает значительную гибкость и более точно следует современным концепциям, таким как объектно-ориентированное программирование. Поскольку необязательные значения не представлены заполнителями или входными параметрами, как в большинстве РБД, базы данных «ключ — значение» часто используют гораздо меньше памяти для хранения одной и той же базы данных, что может привести к значительному увеличению производительности при определённых рабочих нагрузках.

Низкая производительность, отсутствие стандарта и другие недостатки ограничивали использование систем «ключ — значение» в течение многих лет, но быстрое развитие облачных вычислений после 2010 года привело к их возрождению в рамках более широкого движения NoSQL. Некоторые графовые базы данных также являются базами данных ключей, добавляя концепцию отношений (указателей) между записями как тип данных первого класса.

Базы данных «ключ — значение» могут использовать модель согласованности, начиная от возможной согласованности до сериализации. Некоторые поддерживают упорядочение ключей. Некоторые хранят данные в оперативной памяти (ОЗУ), в то время как другие используют твердотельные накопители или жёсткие диски.

Самой популярной реализацией базы данных «ключ — значение», согласно рейтингу DB-Engines, на данный момент (2019 год) является Redis[1].

См. также

Примечания

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.