QDBM - это библиотека подпрограмм для управления базой данных. База данных представляет собой простой файл данных, содержащий записи, каждая из которых представляет собой пару ключа и значения. Каждый ключ и значение являются последовательными байтами с переменной длиной. В качестве ключа и значения могут использоваться как двоичные данные, так и символьная строка. Нет ни понятия таблиц данных, ни типов данных. Записи организованы в хеш-таблицу или дерево B +.
Что касается базы данных хеш-таблицы, каждый ключ должен быть уникальным в базе данных, поэтому невозможно хранить две или более записей с перекрытиями ключей. В базе данных предусмотрены следующие методы доступа: сохранение записи с ключом и значением, удаление записи по ключу, извлечение записи по ключу. Кроме того, обеспечивается доступ к каждому ключу, хотя порядок произвольный. Эти методы доступа аналогичны методам библиотеки DBM (или ее последователей: NDBM и GDBM), определенной в стандарте UNIX. QDBM является альтернативой для DBM из-за его более высокой производительности.
Что касается базы данных дерева B +, записи, ключи которых дублированы, могут быть сохранены. Методы доступа для хранения, удаления и извлечения предоставляются как в базе данных хэш-таблицы. Записи хранятся в порядке с помощью функции сравнения, назначенной пользователем. Доступ к каждой записи возможен с помощью курсора в порядке возрастания или убывания. Согласно этому механизму реализован прямой поиск строк и поиск диапазона целых чисел. Кроме того, транзакция доступна в базе данных дерева B +.
QDBM написан на C и предоставляется как API C, C ++, Java, Perl и Ruby. QDBM доступен на платформах, которые имеют API, соответствующий POSIX. QDBM - это бесплатное программное обеспечение, распространяемое по лицензии GNU Lesser General Public License.