He engaged the authors of these bespoke versions [1] with the idea of creating a common interface layer to the databases separate from the specifics of the underlying implementations.
DBD (DataBase Driver) modules serve as plug-ins to DBI, allowing programmers to use near-database-independent SQL code in their applications.
Programmers can also use the DBI and DBD modules indirectly using one of the object-relational mappers available for Perl, such as DBIx::Class, for more database-independent code with no need to write SQL.
The system implements each supported database environment as a DBD driver, in much the same way that hardware devices from multiple vendors can operate with different CPU platforms.
DBD implementations exist for proprietary products such as IBM Db2, Microsoft SQL Server, Oracle and for free-software databases such as SQLite, PostgreSQL, Firebird and MySQL.