Jump to content

База данных «ключ-значение»

Карта табличных данных, предложенная для аналитической машины Бэббиджа , показывающая пару ключ-значение, в данном случае число и его десятичный логарифм.

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

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

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

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

Типы и примеры

[ редактировать ]

Базы данных «ключ-значение» могут использовать модели согласованности, начиная от окончательной согласованности и заканчивая сериализуемостью . Некоторые поддерживают порядок ключей.

Некоторые хранят данные в памяти (ОЗУ) , в то время как другие используют твердотельные накопители или вращающиеся диски .

Каждая сущность (запись) представляет собой набор пар ключ-значение. Ключ состоит из нескольких компонентов, заданных в виде упорядоченного списка. Основной ключ идентифицирует запись и состоит из ведущих компонентов ключа. Последующие компоненты называются второстепенными ключами. Эта организация аналогична указанию пути к каталогу в файловой системе (например, /Major/minor1/minor2/). Часть «значение» пары ключ-значение представляет собой просто неинтерпретируемую строку байтов произвольной длины. [ 2 ]

Система Unix предоставляет dbm (менеджер базы данных), который представляет собой библиотеку 1979 года, первоначально написанную Кеном Томпсоном . Он также портирован на Microsoft Windows с использованием таких языков программирования, как Perl для Win32 . База данных управляет ассоциативными массивами произвольных данных с помощью одного ключа (первичного ключа). Современные реализации включают sdbm, GNU dbm и Berkeley DB . Хотя dbm предшествует концепции NoSQL и редко упоминается в современном дискурсе, он используется во многих программах.

Более свежим примером базы данных «ключ-значение» является RocksDB , которая используется в качестве механизма хранения для других систем управления базами данных, таких как ArangoDB . Другие примеры включают Aerospike (база данных) , Amazon DynamoDB , Memcached , Redis и ScyllaDB .

См. также

[ редактировать ]
  1. ^ «Машины хранения» . АрангоДБ . Проверено 16 ноября 2020 г.
  2. ^ База данных Oracle NoSQL .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c795ac9a433c2ffa0842c851ce8c7e99__1721790960
URL1:https://arc.ask3.ru/arc/aa/c7/99/c795ac9a433c2ffa0842c851ce8c7e99.html
Заголовок, (Title) документа по адресу, URL1:
Key–value database - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)