DBM (вычисления)


В вычислительной технике DBM — это библиотека и файловый формат, обеспечивающий быстрый доступ к данным с помощью одного ключа. База данных «ключ-значение » из оригинальной Unix , dbm , является ранним примером системы NoSQL . [1] [2] [3]

Первоначальная библиотека dbm и формат файла представляли собой простой движок базы данных , первоначально написанный Кеном Томпсоном и выпущенный AT&T в 1979 году. Название представляет собой трехбуквенную аббревиатуру от DataBase Manager и может также относиться к семейству движков баз данных с API и функциями. производный от оригинального dbm .

Библиотека dbm хранит произвольные данные с помощью одного ключа ( первичного ключа ) в сегментах фиксированного размера и использует методы хеширования , чтобы обеспечить быстрый поиск данных по ключу.

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

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

Первоначальная библиотека AT&T dbm была заменена многими последующими реализациями. Известные примеры включают: [3]