database access abstraction libraries overview

Name Backends C/C++ Linux/Mac version Multithreading lib/drivers RPM available Performance Licence
OpenDBX Oracle,MySQL, PostgreSQL, Sqlite3 + more yes/yes yes/yes yes/yes yes/authors fast, close to native drivers LGPL
libDBI MySQL, PostgreSQL, Sqlite3 yes/external yes/yes yes/some yes/Fedora fast, close to native drivers LGPL/GPL
SOCI Oracle,MySQL, PostgreSQL no/yes yes/yes no/partial yes/Fedora average to slow Boost
unixODBC ALL known RDBMS yes/external yes/yes yes/yes yes/RHEL slow LGPL

 

While other alternatives exist ( e.g. OTL,QT/QSql ), I'd like to keep abstraction layer as thin as possible, so my choice is OpenDBX. It supports all databases we plan to use in a mid-term (MySQL, Oracle, PostreSQL, Sqlite3) and provides both C and C++ APIs in a single package with minimal dependencies on other packages.