Details
-
Task
-
Status: Open (View Workflow)
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
Description
This ticket covers a potential improvement to perform DDL (e.g. drop, create, rename tables, change table definitions) on Aria tables while BACKUP SERVER is being performed. This would allow the backup to be less intrusive: currently tables from Aria engine and other engines other than InnoDB (and RocksDB which is not supported by BACKUP SERVER yet when this is written) are copied in a late stage of BACKUP SERVER, when DDL is blocked effectively until end of backup.
The value of doing this must be weighed against complexity and potential pessimization (backup will be less intrusive, but slower). It would be significant for cases where large amounts of data are stored in Aria tables and where DDL would be performed during backup and would need to run in a timely manner.
Based on implementation in mariadb-backup, implementing this feature introduces considerable complexity:
- All DDL operations performed before the "DDL-locked" phase have to be logged. An initial DDL-locked phase would have to be introduced, in which the logging would be initialized.
- Tables need to be inspected for whether they're transactional or not to determine which phase they should be copied in (this might slow down the backup somewhat).
- Tables have to be locked against DDL individually (analogous to executing BACKUP LOCK command) while they're being copied.
- The DDL needs to be applied. Some investigation is needed here on what exactly mariadb-backup does here and whether we want to do the same thing in BACKUP SERVER; possible complications include having different logic for streaming backup than backup to directory, copying files to a temporary intermediate directory before streaming backup (again a possible pessimization) or recording additional information in a config file and performing actions based on that during startup.
Attachments
Issue Links
- split from
-
MDEV-39987 Improve BACKUP SERVER performance for ENGINE=Aria
-
- Open
-