
# TaurusDB备份原理
#### 什么是数据库备份
TaurusDB会在数据库实例的备份时段中创建数据库实例的自动备份。系统根据您指定的备份保留期（1\~732天）保存数据库实例的自动备份。
每次备份完成后都会生成一个备份文件，当数据库故障或数据损坏时，可以通过备份文件恢复数据库，从而保证数据可靠性。
#### 备份类型
TaurusDB包含多种备份类型，不同备份类型的概念介绍以及功能差异，请参见[TaurusDB备份类型](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0056.html)。
#### 备份原理
云数据库 TaurusDB基于华为最新一代DFV存储，采用计算与存储分离架构。
- 计算层：用于给外部提供服务，管理日志信息。
- 存储层：用于存储数据信息。分为Common Log节点和Slice Store节点，Common Log节点存储日志信息，Slice Store节点存储数据信息。
如下图所示，TaurusDB实例的备份是由计算层和存储层各自完成的。
- 计算层的主节点读取存储层的Common Log节点的日志信息，通过主节点备份到对象存储服务(OBS)中。
- 计算层的主节点向存储层的Slice Store节点发送命令备份数据信息，通过Slice Store节点备份到对象存储服务(OBS)中。
备份过程会占用少量CPU和内存资源。因此在备份期间，实例主节点的CPU使用率和内存使用率，会略有升高，属于正常现象，存储层的备份用户侧不感知。最终的备份文件将以多个数据文件形式存储在对象存储服务(OBS)中，不会占用实例的磁盘空间。
图1备份原理   
![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002543791411.png "点击放大")
#### 备份机制
TaurusDB默认开启自动备份，且不支持关闭。TaurusDB自动全备按照备份策略中的备份时间段和备份周期进行全量备份。增量备份为实例每5分钟或达到一定数据量时对上一次自动全备，或增量备份后更新的数据会进行备份，以保证数据库可靠性。
- [按备份文件恢复](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0063.html)：会将实例数据恢复到全量备份文件备份结束时的状态，该操作恢复的为整个实例的数据。
- [恢复到指定时间点（PITR）](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0060.html)：会从OBS备份空间中选择一个该时间点最近的全量备份下载到实例上进行全量恢复，再重放增量备份到指定时间点。
图2备份机制   
![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002543779853.png "点击放大")
#### 备份存储位置和备份计费
云数据库TaurusDB的备份文件存储在对象存储服务上，不占用用户购买实例的存储空间，TaurusDB提供了和实例磁盘大小相同的免费存储空间，用于存放您的备份数据。
用户实例冻结后，将没有免费的存储空间，会导致实例原有自动备份收费。
- 如果选择解冻实例，将恢复免费的存储空间。
- 如果直接删除冻结的实例，原有的自动备份将会同时被删除，备份空间不会继续收费。
**示例：**
如果用户在购买实例时选择了200GB的存储空间，那么只有当所有备份空间的总和超过200GB时才会开始计费，前200GB是免费的。对于超出免费容量的存储空间，目前仅支持按需计费，即用多少收取多少费用，具体收费请参见[计费说明](https://www.huaweicloud.com/pricing.html?tab=detail#/taurusdb)。
#### 备份清理
备份文件清理分为两种场景：手动备份清理和自动备份清理。
- 手动备份是由用户触发产生的全量备份，需要用户[手动删除](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0058.html#ZH-CN_TOPIC_0000001928566737__section2074615539271)，否则会一直保存。
- 自动备份的备份文件不支持手动删除，可通过[设置自动备份策略](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0057.html)调整备份保留天数，超出备份保留天数的已有备份文件会被自动删除。考虑到数据完整性，自动删除时仍然会保留最近的一次超过保留天数的全量备份，保证在保留天数内的数据可正常恢复。
  **示例：**
  假如备份周期选择"周一"、"周二"，保留天数设置为"2"，表示超过两天的全量备份和增量备份会被自动删除。即周一产生的备份会在周三删除，同理，周二产生的备份会在周四删除。本示例中备份文件的删除策略如下：
  - 本周一产生的全量备份，会在本周四当天自动删除。原因如下： 本周二的全量备份在本周四当天超过保留天数，按照全量备份文件自动删除策略，会保留最近的一个超过保留天数的全量备份（即本周二的备份会被保留），因此周四当天删除本周一产生的全量备份文件。
    
  
  - 本周二产生的全量备份，会在下周三当天自动删除。原因如下： 下周一产生的全量备份在下周三超过保留天数，按照全量备份文件自动删除策略，会保留最近的一个超过保留天数的全量备份（即下周一的备份会被保留），因此下周三当天删除本周二产生的全量备份。
    
   
 
