1. A method comprising: intercepting a put transaction communicated from an application to a database driver; committing the transaction to a target database of the transaction and a backup database of the target database when both the target database and the backup database are available; when one of the target database and the backup database is an unavailable database, recording the transaction in a file; and when the unavailable database becomes an available database, committing the transaction to the available database.