Re: Database Battle to the Death
- Posted by Bellthorpe Oct 10, 2010
- 1390 views
EDS does not (yet) support transactioning, which means that if the application crashes during a write to the database, it may leave the database file corrupted. This is a highly unlikely event but if you are running a mission critical app then this is a risk that might not be acceptable. In database jargon, transactioning ensures that a commit to the database will either be totally successful or have no effect, thus you cannot get a partial transaction recorded in the database - even if the application crashes during the commit.
A very good point.
For that reason my programs keep their own transaction journals. Fairly easy to implement. There's no rollback facility, but a corrupted database can be re-created in moments, automatically. The journals are regularly backed up using rsync to another location. Not perfect, if a crash takes out the database and the current journal, but I'm fairly happy with it.