Optimisation for incremental backups

Description

As for 2.0.4, incremental backups are made as the linked list from the last backup to first/base.

With the structure, it is hard to maintain an incremental backup chain.

For example:

To get all increments from the last known increment, query a previous increment should be made in a loop till the base is reached.

To get all increments by the base, the query for an increment with src_base of the last found increment should be made in a loop till no more is returned.

Both queries should be made to get all increments by some intermediate.

 

new approach:

1. Stop using `src_backup`.

2. Add `base` field which is the name of root/base backup

3. dd `inc` field which is `0` value for base backup. every next incremental backup increments the value.

 

In this way, we can quickly find the base, the last, the number of increments made, and its total size in one query.

Other examples:

1. to know whether an incremental backup is a part of the last chain, it is enough to query the following:

 

2. size of increments after:

 

 

Environment

None

Activity

Aaditya Dubey March 6, 2023 at 10:31 AM

Hi ,

Thank you for the report.

Details

Assignee

Reporter

Needs Review

Yes

Needs QA

Yes

Needs Doc

Yes

Affects versions

Priority

Smart Checklist

Created March 2, 2023 at 11:53 AM
Updated November 26, 2024 at 4:23 PM