Hi !!
Some thoughs about database backends is some particular situations:
cache -> maybe it will be better to store the cache data on some other sort of file based database (plain text file, dbm, sqlite ...) This will be faster than using a server based relational database and will end with problems related to size of records.
addressbook -> it should have it's own database backend, many people would like to use it's ldap server for this (many already do that yet), maybe in adition or replacing the current per user addressbook