I am thinking about how database transactions "generally" are implemented inside a database system, like for example MySQL.
Presuming the particular writing of information towards the physical database storage is not an atomic operation (speaking when it comes to clockcycles now), should not I have the ability to corrupt a transaction by for example ripping the energy cable at some carefully selected moment?
When the database product is carefully written, tthere shouldn't be time where energy outage can corrupt data, so when energy outage happens, no committed data should be lost.
The rdbms creates data first to some transaction log before really upgrading the information. Following a crash, it replays the log, copying any pending changes in the log in to the database, and moving back any transactions which haven't been finished within the log. Commit is reported as effective only following the hard disk drive has reported a completed write operation towards the log.
Databases stick to the ACID qualities. Regardless of when something explodes, there's a method to at the minimum roll-to a recognized correct condition.
It's quite common the DB creates to logs while upgrading. It may then tell it did not have the ability to complete its operation as you transaction and employ the logs to ROLL BACK the alterations.