QDBM é uma biblioteca de rotinas para gerenciar um banco de dados. O banco de dados é um arquivo de dados simples que contém registros, cada um é um par de uma chave e um valor. Cada chave e valor são bytes de série com comprimento variável. Dados binários e cadeia de caracteres podem ser usados como chave e valor. Não há conceito de tabelas de dados nem tipos de dados. Os registros são organizados em tabela de hash ou árvore B +.
Quanto ao banco de dados da tabela de hash, cada chave deve ser exclusiva em um banco de dados, portanto, é impossível armazenar dois ou mais registros com uma sobreposição de chave. Os seguintes métodos de acesso são fornecidos ao banco de dados: armazenando um registro com uma chave e um valor, excluindo um registro por uma chave, recuperando um registro por uma chave. Além disso, é fornecido acesso transversal a todas as chaves, embora a ordem seja arbitrária. Esses métodos de acesso são semelhantes aos da biblioteca DBM (ou seus seguidores: NDBM e GDBM) definidos no padrão UNIX. O QDBM é uma alternativa ao DBM devido ao seu desempenho mais alto.
Quanto ao banco de dados da árvore B +, os registros cujas chaves estão duplicadas podem ser armazenados. Os métodos de acesso de armazenamento, exclusão e recuperação são fornecidos como no banco de dados da tabela de hash. Os registros são armazenados em ordem por uma função de comparação atribuída por um usuário. É possível acessar cada registro com o cursor em ordem crescente ou decrescente. De acordo com esse mecanismo, a pesquisa de correspondência direta para seqüências de caracteres e a pesquisa de intervalo por números inteiros são realizadas. Além disso, a transação está disponível no banco de dados da árvore B +.
O QDBM é escrito em C e fornecido como APIs de C, C ++, Java, Perl e Ruby. O QDBM está disponível em plataformas com API em conformidade com POSIX. QDBM é um software livre licenciado sob a GNU Lesser General Public License.