База данных шахматных окончаний
- 1 year ago
- 0
- 0
База данных «клю́ч — значе́ние» ( англ. key-value database или англ. key-value store ) — парадигма хранения данных, предназначенная для хранения, извлечения и управления ассоциативными массивами , структура данных , более известная сегодня как словарь или хеш-таблица . Словари содержат коллекцию объектов или записей, которые, в свою очередь, содержат множество различных полей, каждое из которых содержит данные. Эти записи хранятся и извлекаются с использованием ключа, который однозначно идентифицирует запись и используется для быстрого поиска данных в базе данных .
Базы данных «ключ — значение» работают совершенно иначе, чем более известные реляционные базы данных (РБД) . В РБД предварительно определяют структуру данных в базе данных как последовательность таблиц, содержащих поля с четко определёнными типами данных. Экспонирование типов данных в базе данных позволяет применить ряд оптимизаций. Напротив, системы «ключ — значение» обрабатывают данные как одну непрозрачную коллекцию, которая может иметь разные поля для каждой записи. Это обеспечивает значительную гибкость и более точно следует современным концепциям, таким как объектно-ориентированное программирование. Поскольку необязательные значения не представлены заполнителями или входными параметрами, как в большинстве РБД, базы данных «ключ — значение» часто используют гораздо меньше памяти для хранения одной и той же базы данных, что может привести к значительному увеличению производительности при определённых рабочих нагрузках.
Низкая производительность, отсутствие стандарта и другие недостатки ограничивали использование систем «ключ — значение» в течение многих лет, но быстрое развитие облачных вычислений после 2010 года привело к их возрождению в рамках более широкого движения NoSQL . Некоторые графовые базы данных также являются базами данных ключей, добавляя концепцию отношений ( указателей ) между записями как тип данных первого класса.
Базы данных «ключ — значение» могут использовать модель согласованности , начиная от возможной согласованности до сериализации . Некоторые поддерживают упорядочение ключей. Некоторые хранят данные в оперативной памяти (ОЗУ) , в то время как другие используют твердотельные накопители или жёсткие диски .
Самой популярной реализацией базы данных «ключ — значение», согласно рейтингу DB-Engines, на данный момент (2019 год) является Redis .