Une stratégie que vous pouvez utiliser est MVCC, Multi-Value Concurrency Control. Dans ce schéma, vous ne faites jamais de mises à jour sur aucune de vos tables, vous ne faites que des insertions, en conservant les numéros de version pour chaque enregistrement. Cela a l'avantage de fournir un instantané exact à tout moment, et cela évite également complètement les problèmes de verrouillage de mise à jour qui affligent de nombreuses bases de données.
Mais cela crée une énorme base de données et les sélections nécessitent toutes une clause supplémentaire pour sélectionner la version actuelle d'un enregistrement.