As the name indicates, an undo log record contains information
about how to undo the recent changes by a transaction. When a
transaction writes data, it always makes writes on the tablespace
files. InnoDB Undo log stores copy of data that is being modified
by any current transaction. So, at this point in time if any
other transaction queries for the original data (row) which is
being modified, the undo logs provide the same and serve
the purpose. This is what provides a consistent read view ( based
on isolation ) during any data
modifications.
Here in the above representation, Transaction T1 modifies the data (Data-1). During the time of modification to ensure the reads are consistent, transactions T2 and T3 are given access only to the copy (previous row version) of Data -1 which is stored in the “UNDO” …
[Read more]