Lukas Beeler wrote:
Transactions and Referential integrity ensure that your database is
always in consistent state. There are many, many factors that can
break your database if you do not use them. Power failures, hardware
failures, application failures, etc.
I'm not going to argue with you; you like journals and I think they're
often overkill. But I will say this: journals do NOT protect you from
application failures. If you write bad code, it will write bad
transactions, and the journal will happily record them. The only time a
journal saves you is if a production program hard halts, and if you have
a lot of that, you have much larger problems than a journal can save you
Rule of thumb: if it's a hardware or system software problem, journaling
can help. If it's an application programming problem, they cannot.
That being said, journals on critical transaction files are often a good
thing. Journals on master files not so much. Journals on temporary
files are a bad thing.
Again, just my opinion. I just get a little spooked when people start
saying "you must always do xxxxx" because in reality it's almost always
a case-by-case business decision.