...
Code Block | ||
---|---|---|
| ||
| key part | | | |-----------------------------| lockVer | link | | cache_id | hash | mvccVer | | | |
mvccVer - MVCC version of transaction which has created the row
lockVer - MVCC version of transaction which holds a lock on the row
...
Code Block | ||
---|---|---|
| ||
| key part | |----------------| | link | mvccVer | |
link - link to the data
mvccVer - XID of transaction who created the row
...
Code Block | ||
---|---|---|
| ||
| | | | | | | | | | | payload size | next_link | mvccVer | newMvccVer | cache_id | key_bytes | value_bytes | row_version | expire_time | | | | | | | | | | | |
...
mvccVer - TX id which created this row.
newMvccVer - TX id which updated this row or NA in this is the last row version (need to decide whether the row is visible for current reader).
...
After all rows are processed, corresponding TxLog records can be deleted as well.
Related documents:
View file name 2017.mvcc.vldb.pdf height 250 View file name concurrency-distributed-databases.pdf height 250 View file name p209-yu.pdf height 250 View file name rethink-mvcc.pdf height 250