non-BDB support for DLZ in Bind9?

Evan Hunt each at
Fri Mar 25 21:20:37 UTC 2016

On Fri, Mar 25, 2016 at 01:40:29PM -0700, PGNd wrote:
> In DLZ, as packaged with bind9, currently a variety of db drivers are supported,
>     grep "AC_ARG_WITH(dlz_" contrib/dlz/
>         AC_ARG_WITH(dlz_postgres,
>         AC_ARG_WITH(dlz_mysql,
>         AC_ARG_WITH(dlz_bdb,
>         AC_ARG_WITH(dlz_filesystem,
>         AC_ARG_WITH(dlz_ldap,
>         AC_ARG_WITH(dlz_odbc,
>         AC_ARG_WITH(dlz_stub,
> Of those, as (historically) pointed out @

These still work but are somewhat obsolete now. BIND now has the ability to
dynamically load DLZ modules at run time, without having to have them
compiled in in advance.  These loadable modules are in contrib/dlz/modules,
and I would expect the ones for bdb, mysql, sqlite3 and ldap to have fairly
comparable performance -- it's no longer the case that only the bdb driver
supports threads, and the underlying database performance for all of those
has improved in recent years -- but you'd better benchmark it yourself to
be sure.

(Mind you, DLZ performance in general is pretty terrible; none of them is
even within an order of magnitude of regular BIND zones when it comes to
query performance. Of that much I'm sure, but I can't say which one is the
fastest slowpoke.)

> (2) are there any available metrics comparing BDB with Filesystem drivers?

Not that I know of, but you can build queryperf (contrib/queryperf) and
measure it.

> With BDB's licensing change from Sleepycat -> AGPL (cref:, distros (e.g. Debian) & other server apps (e.g., Postfix) have added support for, and/or currently recommend use of, OpenLDAP 'LMDB' (e.g.,,, database as a license-friendly, performant alternative.
> TBH, I don't know WTF is going on *currentlY* with libdb vX.X's
> licensing; it's all bit fuzzy so far as I've (re)read.  My personal
> preference is an Oracle-free deployment; opinions & needs vary, of
> course.
> What's Bind's position on BDB dependency & support, and implementation
> any alternative such as LMDB, going forward?

We have no position on the licensing issue.  Technically, the DLZ modules
are considered contributed code and are not formally supported by ISC,
though we do make our best effort to fix bugs.  If someone were to build an
LMDB module (which might be pretty straightforward if the API is similar
to BDB) I would be delighted to accept that contribution.

Evan Hunt -- each at
Internet Systems Consortium, Inc.

More information about the bind-users mailing list