Una strategia che potresti utilizzare è MVCC, Multi-Value Concurrency Control. In questo schema, non esegui mai aggiornamenti a nessuna delle tue tabelle, fai solo inserimenti, mantenendo i numeri di versione per ogni record. Questo ha il vantaggio di fornire un'istantanea esatta in qualsiasi momento e inoltre evita completamente i problemi di blocco degli aggiornamenti che affliggono molti database.
Ma crea un enorme database e seleziona tutto richiede una clausola aggiuntiva per selezionare la versione corrente di un record.