DBM


DBM (от англ. datbase manager) — платформенно-независимый механизм для хранения строк в файле как в хеше. И ключ, и ассоциированные с ним данные, должны быть строками. DBM как формат и программное средство для его обработки можно считать простейшим движком баз данных.

Формат и одноимённая утилита для его обслуживания созданы в 1979 году Кеном Томпсоном, с тех пор та или иная реализация такой утилиты входит в состав большинства Unix-подобных систем (ndbm в Unix-системах, gdbm в проекте GNU). Berkeley DB изначально была создана как высокопроизводительная альтернатива для утилиты dbm, сохранявшая тот же интерфейс (впоследствии развилась до встраиваемой СУБД со множеством прочих возможностей).

DBM реализован для ряда языков программирования в качестве библиотек; в Ruby входит в стандартный интерфейс ruby. Для его использования в Ruby нужно создать объект DBM с указанием для него имени файла, а дальше работать с ним как с обычным хешем, по завершении работы файл следует закрыть:

Интерфейс к DBM реализован в виде одного класса, к которому подмешан модуль Enumerable. Два синонимичных метода класса new и open являются одиночками, то есть в любой момент времени можно иметь только один объект DBM, связанный с данным файлом. Почти все операции с хешем применимы к объекту DBM. Метод to_s возвращает строковое представление идентификатора объекта.