Indiana has built a database structure that has triggers (in Oracle) to copy changes to db tables into backup schemas (per table/schema). This allows them to recover deleted, or other data, by retrieving it and copying it back into the appropriate table. Resources on the file system are handled via snapshots (on a NetApp?)
Some caveats — if you’re using a transaction and the trigger fails, the whole transaction will fail. Currently they use a Perl script to build out the shadow tables, which uses some IU utilities, and is Oracle specific. The approach should also translate for MySQL.