Ultimamente si sta facendo strada una nuova tecnica per la persistenza dei dati in un programma Object Oriented, oltre alla classica Object Persistence si sta diffondendo la tecnica dell' Object Prevalence.
L' Object Persistence si basa sulla classica serializzazione, permettendo di salvare un oggetto in un flusso di dati per poterlo recuperare successivamente ma, tutti sappiamo che, in certi casi, quando bisogna recuperare dei dati dopo un crash la situazione diventa critica!
Con la tecnica dell' Object Prevalence questo problema viene risolto puntando tutto file di log. Il meccanismo è relativamente semplice, consiste nel mantenere in memoria, sotto forma di oggetti, tutti i dati necessari all'applicazione e, inoltre, tutti i comandi eseguiti sui dati vengono serializzati e memorizzati in un file di log. Successivamente, ad intervalli, viene effettuata una fotografia (detta anche snapshot) della memoria dell'applicazione e ad essa viene legato il file di log con tutti i comandi eseguiti fino a quel momento, il tutto viene serializzato in un unico file. Questo sistema è estremamente sicuro in caso di crash, infatti, grazie ai file di log è possibile ritornare all'ultimo stato precedente al crash.
Per saperne di più ecco il link del progetto
Bamboo che implementa questa tecnica in .Net.