SDBM is an in-file, non-SQL database (similar to GDBM). Interchange will, however, add an SQL layer on top of every supported non-SQL database so SQL calls can be used, as long as they are made through Interchange.

Interchange must work with some kind of a database. When no SQL database is specified, database source files (text) are still stored in a database, even though it's a file-based one (GDBM or similar) and requires no special setup from the user.

For in-file database backend, Interchange will either use GNU DBM or Berkeley DB, depending on what it finds on the system.

Yet another option was SDBM, but it is severely handicapped — it does not support values bigger than 2048 bytes and at least two of our demo catalog databases fail to load for that reason.

Since early 2006, Interchange no longer considers SDBM an option, unless it is explicitly told so. You can explicitly instruct Interchange to use SDBM backend for particular databases, but that is not encouraged and SBDM should not be used.

DocBook! Interchange!