Incremental backup of computer data files
Systems and methods are provided for database or data file backup. The system may comprise one or more processors and a memory storing instructions that, when executed by the one or more processors, cause the system to identify a list of data files required for restoring the database or data files, create a backup comprising copies of a subset of the data files that are created or modified after a preceding backup, and back up the database, wherein the backup includes an identification to the preceding backup.
1. A method for creating an incremental backup of a database following a preceding backup, being implemented by a computing system including one or more physical processors and storage media storing machine-readable instructions, the method comprising:
accessing a schema of the database;
identifying, in the schema, a list of data files required for restoring the database, the data files being immutable and the list excluding data files that have been replaced by updated data files;
determining whether a preceding backup exists;
in response to determining that the preceding backup does not exist:
creating a first backup comprising the list of the data files; and
creating first metadata of the first backup comprising:
a first backup identification reference; and
an identification representing a state of the preceding backup set to be equal to the first backup identification reference; and
in response to determining that the preceding backup exists:
creating a second backup comprising copies of a subset of the data files that have been created or modified after the preceding backup; and
creating second metadata of the second backup comprising:
a second backup identification reference;
a parent backup identification reference referring to the preceding backup; and
the list of the data files, wherein the creating the second backup comprises:
determining the subset of the data files as comprising files from the list not present in a list of data files required for restoring the database created during the preceding backup; and
backing up the database, wherein the backup includes the subset of the data files.
2. The method of claim 1 , wherein the database constitutes a keyspace of a larger database.
3. A system for creating an incremental backup of a database following a preceding backup, the system comprising:
one or more processors; and
a memory storing instructions that, when executed by the one or more processors, cause the system to perform:
accessing a schema of the database;
identifying, in the schema, a list of data files required for restoring the database, the data files being immutable and the list excluding data files that have been replaced by updated data files;
determining whether a preceding backup exists; in response to determining that the preceding backup does not exist:
creating a first backup comprising the list of the data files; and
creating first metadata of the first backup comprising:
a first backup identification reference; and
an identification representing a state of the preceding backup set to be equal to the first backup identification reference; and
in response to determining that the preceding backup exists:
creating a second backup comprising copies of a subset of the data files that have been created or modified after the preceding backup; and
creating second metadata of the second backup comprising:
a second backup identification reference;
a parent backup identification reference referring to the preceding backup; and
the list of the data files, wherein the creating the second backup comprises:
determining the subset of the data files as comprising files from the list not present in a list of data files required for restoring the database
created during the preceding backup; and backing up the database, wherein the backup includes the subset of the data files.
4. The system of claim 3 , wherein the database constitutes a keyspace of a larger database.
5. The system of claim 3 , wherein a state of the data files is unchanging from an external point of view.
6. A non-transitory computer readable medium for creating an incremental backup of a database following a preceding backup, the medium comprising instructions that, when executed, cause one or more processors to perform:
identifying, in a schema of the database, a list of data files required for restoring the database, the data files being immutable and the list excluding data files that have been replaced by updated data files;
determining whether a preceding backup exists;
in response to determining that the preceding backup does not exist:
creating a first backup comprising the list of the data files; and
creating first metadata of the first backup comprising:
a first backup identification reference; and
an identification representing a state of the preceding backup set to be equal to the first backup identification reference; and
in response to determining that the preceding backup exists:
creating a second backup comprising copies of a subset of the data files that have been created or modified after the preceding backup; and
creating second metadata of the second backup comprising:
a second backup identification reference;
a parent backup identification reference referring to the preceding backup; and
the list of the data files, wherein the creating the second backup comprises:
determining the subset of the data files as comprising files from the list not present in a list of data files required for restoring the database
created during the preceding backup; and
backing up the database, wherein the backup includes the subset of the data files.
7. The non-transitory computer readable medium of claim 6 , wherein the database constitutes a keyspace of a larger database.
8. The non-transitory computer readable medium of claim 6 , wherein the data files are immutable.
9. The non-transitory computer readable medium of claim 8 , wherein the list does not include data files in the database that have been replaced by updated data files.