HDBC provides an abstraction layer between Haskell programs and SQL relational databases. This lets you write database code once, in Haskell, and have it work with any number of backend SQL databases (MySQL, Oracle, PostgreSQL, ODBC-compliant databases, etc.) HDBC is modeled loosely on Perl's DBI interface, though it has also been influenced by Python's DB-API v2, JDBC in Java, and HSQL in Haskell.
AnyDBM is a Haskell module that provides a generic infrastructure for supporting storage of hash-like items with String-to-String mappings. It can be used for in-memory or on-disk storage. Two simple backend drivers are included with this package: one that is RAM-only, and one that is persistent and disk-backed. The hdbc-anydbm package provides another driver which lets you use simple tables in any SQL database to provide a DBM-like interface. MissingPy also provides a Python driver which lets you use any Python anydbm driver under Haskell AnyDBM.