stringtranslate.com

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

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

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

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

Базы данных «ключ-значение» работают совершенно иначе, чем более известные реляционные базы данных (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 .

Смотрите также

Рекомендации

  1. ^ «Средства хранения» . АрангоДБ . Проверено 16 ноября 2020 г.
  2. ^ База данных Oracle NoSQL.