This document summarizes MariaDB System Versioning, which allows querying data at previous points in time by storing historical versions of rows. Key points:
- System Versioning adds invisible columns like row_start and row_end timestamps to track history and works with both InnoDB and MyISAM storage engines.
- Queries can select data "as of" a specific time point or between two time points. This enables use cases like point-in-time recovery, auditing past data changes, and data analysis over time.
- For InnoDB tables, history is stored transactionally using transaction IDs, allowing for true multi-version concurrency control (MVCC) semantics when querying previous versions of data