Data Backup
Data snapshot and recovery
The RDS backup and recovery feature is implemented via the data snapshot. The feature includes both the snapshot module and the recovery module.
Snapshot
The snapshot module is used for generating one data snapshot from the user’s RDS instance, packing and uploading the data snapshot into every RDS instance’s independent BOS storage path for centralized storage. The snapshot module usually runs at the RDS’s hot backup node to prevent snapshot generation action from consuming additional resources on the master node. However, the RDS instance of SQLServer cannot be the snapshot in the hot backup node. The snapshot module works on the master node.
Recovery
The recovery module is responsible for recovering data snapshots saved in BOS to target nodes. During the recovery, data in the data snapshot are subjected to MD5 check by block and data alignment based on database “redo log”, ensuring completeness and consistency of the recovery result.
The recovery module has two working scenarios:
- When the user initiates the data recovery manually: The recovery module replaces the master node and hot backup node’s data with a data snapshot designated by the user.
- After the user instance gets failed: The recovery module creates one hot backup node using one updated data snapshot. It ensures the RDS availability and avoids serving a single point.