База данных "ключ-значение" - Key–value database
Базы данных ключ-значение , или ключ-значение магазин , это парадигма хранения данных предназначена для хранения, извлечения и управления ассоциативные массивы , а также структура данных , более известный сегодня как словарь или хэш - таблицы . Словари содержат коллекцию из объектов или записей , которые , в свою очередь , имеют много различных полей внутри них, каждый из которых содержит данные. Эти записи сохраняются и извлекаются с использованием ключа, который однозначно идентифицирует запись и используется для поиска данных в базе данных .
Базы данных типа "ключ-значение" работают совсем иначе, чем более известные реляционные базы данных (RDB). РБД предопределяют структуру данных в базе данных как серию таблиц, содержащих поля с четко определенными типами данных . Предоставление типов данных программе базы данных позволяет применить ряд оптимизаций. Напротив, системы "ключ-значение" обрабатывают данные как одну непрозрачную коллекцию, которая может иметь разные поля для каждой записи. Это обеспечивает значительную гибкость и более точно соответствует современным концепциям, таким как объектно-ориентированное программирование . Поскольку необязательные значения не представлены заполнителями или входными параметрами, как в большинстве RDB, базы данных «ключ-значение» часто используют гораздо меньше памяти для хранения одной и той же базы данных, что может привести к значительному увеличению производительности при определенных рабочих нагрузках.
Производительность, отсутствие стандартизации и другие проблемы на протяжении многих лет ограничивали использование систем «ключ-значение» нишами, но быстрый переход к облачным вычислениям после 2010 г. привел к возрождению в рамках более широкого движения NoSQL . Некоторые графические базы данных , такие как ArangoDB , также являются внутренними базами данных типа «ключ-значение», добавляя концепцию отношений ( указателей ) между записями в качестве типа данных первого класса.
Типы и примечательные примеры
Базы данных типа "ключ-значение" могут использовать модели согласованности, начиная от согласованности в конечном итоге и заканчивая сериализуемостью . Некоторые поддерживают заказ ключей.
Некоторые хранят данные в памяти (ОЗУ) , в то время как другие используют твердотельные накопители или вращающиеся диски .
Каждая сущность (запись) представляет собой набор пар ключ-значение. Ключ состоит из нескольких компонентов, указанных в виде упорядоченного списка. Главный ключ идентифицирует запись и состоит из ведущих компонентов ключа. Последующие компоненты называются второстепенными ключами. Эта организация аналогична спецификации пути к каталогу в файловой системе (например, / Major / minor1 / minor2 /). «Значение» пары ключ-значение - это просто неинтерпретируемая строка байтов произвольной длины.
Система Unix предоставляет dbm (менеджер баз данных), которая представляет собой библиотеку 1979 года, первоначально написанную Кеном Томпсоном . Он также портирован на Microsoft Windows с помощью таких языков программирования, как Perl для Win32 . Dbm управляет ассоциативными массивами произвольных данных с помощью одного ключа (первичного ключа). Современные реализации включают Berkeley DB , sdbm и GNU dbm . Хотя dbm предшествует концепции NoSQL и редко упоминается в современном дискурсе, она используется во многих программах.
Смотрите также
- Большое количество данных
- Анализ данных
- Распределенное хранилище данных
- Документно-ориентированная база данных
- Многомодельная база данных
- Пространство кортежа