Ho letto di sistemi che impiegano transazioni per fornire tolleranza agli errori: SQLite, ad esempio, implementa un giornale che consente il ripristino del database in uno stato noto in caso di errore.
La maggior parte dei sistemi di cui sto leggendo scrive lo stato corrente nel journal e lo usa per il rollback quando richiesto. Ho trovato molti meno esempi in cui lo stato next è journalnalled e utilizzato per completare la transazione dopo un errore.
Esistono alcuni buoni esempi di sistemi che impiegano transazioni roll-forward? Ci sono dei motivi per scegliere un progetto di roll-forward rispetto a uno che esegue il rollback?