Updated on 2024-06-07 GMT+08:00

RCR Uheap Multi-Version Management

Ustore has made the following enhancements to the heap it uses, which is referred to as Uheap.

The multi-version management of Ustore row consistency read (RCR) is based on data row levels. Instead of commonly storing XIDs in data rows, Ustore records the XIDs in the transaction directory (TD) area of the page, saving page space. When a transaction modifies a record, historical data is recorded in the undo row. The generated undo row addresses (zone_id, block no, and page offset) are recorded in the TD slot to which td_id in tuple points, and new data is overwritten to the page. When a tuple is accessed, the tuple is restored along the version chain until the corresponding version is found.