Не могли бы вы хранить две зеркальные базы данных? Напиши одному, сохрани второе как архив. Переключайтесь каждые, скажем, 24 часа (или сколько времени вы считаете целесообразным). В базу данных, которая была архивом, вставьте все сегодняшние действия. Тогда две базы данных должны совпадать. Используйте это как новую живую БД. Возьми заархивированную базу данных и делай с ней что хочешь. Вы можете делать резервные копии / извлекать / читать все, что вы хотите, теперь, когда он не активно записывается.
Это похоже на зеркальный рейд, когда вы можете отключить один диск для резервного копирования, повторно синхронизировать его, а затем вынуть другой диск для резервного копирования.