QDBM è una libreria di routine per la gestione di un database. Il database è un semplice file di dati contenente record, ognuno è una coppia di una chiave e un valore. Ogni chiave e valore sono byte seriali con lunghezza variabile. Sia i dati binari che la stringa di caratteri possono essere usati come chiave e valore. Non esiste un concetto di tabelle di dati né tipi di dati. I record sono organizzati in tabella hash o albero B +.
Per quanto riguarda il database della tabella hash, ogni chiave deve essere univoca all'interno di un database, quindi è impossibile memorizzare due o più record con una sovrapposizione di chiavi. I seguenti metodi di accesso sono forniti al database: memorizzazione di un record con una chiave e un valore, eliminazione di un record da una chiave, recupero di un record da una chiave. Inoltre, viene fornito l'accesso trasversale a ogni chiave, sebbene l'ordine sia arbitrario. Questi metodi di accesso sono simili a quelli della libreria DBM (o dei suoi follower: NDBM e GDBM) definiti nello standard UNIX. QDBM è un'alternativa a DBM per le sue prestazioni più elevate.
Come per il database dell'albero B +, è possibile memorizzare i record le cui chiavi sono duplicate. I metodi di accesso per l'archiviazione, l'eliminazione e il recupero sono forniti come nel database della tabella hash. I record sono memorizzati in ordine di una funzione di confronto assegnata da un utente. È possibile accedere a ciascun record con il cursore in ordine crescente o decrescente. Secondo questo meccanismo, vengono realizzate la ricerca della corrispondenza in avanti per le stringhe e la ricerca dell'intervallo per numeri interi. Inoltre, la transazione è disponibile nel database dell'albero B +.
QDBM è scritto in C e fornito come API di C, C ++, Java, Perl e Ruby. QDBM è disponibile su piattaforme con API conformi a POSIX. QDBM è un software gratuito concesso in licenza con GNU Lesser General Public License.