创建备份

何时备份数据库

您应定期对数据库执行完整备份。此外,在以下情况下,您也应执行完整备份:

进行以下操作之前

  • 将 Vertica 升级到另一个版本。

  • 删除分区。

  • 添加、移除或替换数据库群集中的节点。

进行以下操作之后

  • 加载大量数据。

  • 添加、移除或替换数据库群集中的节点。在这种情况下,始终创建新的完整备份。

  • 恢复崩溃的群集。

如果

  • 最新备份的时期早于当前的 Ancient History Mark。

最好计划持续备份来备份数据。可以从 cron 作业或其他任务调度程序运行 Vertica vbr

您还可以备份选定对象。使用对象备份来补充(而不是替换)完整备份。备份类型中介绍了备份类型。

运行 vbr 不会影响活动的数据库应用程序。 vbr 支持在创建备份的同时,并发运行执行 DML 语句(包括 COPY、INSERT、UPDATE、DELETE 和 SELECT)的应用程序。

备份位置和内容

完整备份和对象级别备份都驻留在备份主机上,即存储备份和存档的计算机系统。

Vertica 将备份保存在特定的备份位置中,即备份主机的目录。此位置可以包含多个备份(包括完整备份和对象级别备份),其中包括关联的存档。备份也可兼容,允许您从完整的数据库备份中还原任何对象。Eon 模式数据库的备份位置必须位于 S3 上。

在开始备份之前,您必须使用 vbr init 任务准备备份位置,如下例所示:

$ vbr -t init -c full_backup.ini

有关备份位置的详细信息,请参阅设置备份位置

备份包含备份开始时备份对象的所有已提交数据。备份不包含未提交数据或备份期间提交的数据。备份不会延迟合并或加载活动。

备份 HDFS 存储位置

如果 Vertica 群集使用 HDFS 存储位置,则必须先进行一些额外配置,然后才能执行备份。请参阅备份和还原 HDFS 存储位置的要求

HDFS 存储位置仅支持完整备份和还原。您无法在使用 HDFS 存储位置的群集上执行对象备份或还原。

备份对 Vertica 节点的影响

进行备份时,备份过程可能会占用额外的存储空间。占用的空间量取决于编录的大小以及备份期间删除的任何对象。备份完成后,备份过程将释放此存储。

创建备份的最佳实践

创建备份配置文件时:

  • 创建单独的配置文件以创建完整备份或对象级别备份。

  • 在每个配置文件中使用不同的快照名称。

  • 对两种类型的备份使用同一备份主机目录位置:

    • 由于备份共享磁盘空间,因此执行还原时它们彼此兼容。

    • 每个群集节点还必须在其指定的备份主机上使用相同的目录位置。

  • 为获得最佳网络性能,每个群集节点使用一个备份主机。

  • 对每个备份节点使用一个目录,以存储后续备份。

  • 为了供今后参考,将主要的 Vertica 版本号附加到配置文件名 (mybackup9x)。

选定的备份对象可以包括一个或多个架构、表或这两者。例如,您可以将架构 S1、表 T1T2 包括在对象级备份中。可将多个备份合并成一个备份。架构级备份可与数据库备份集成(而表备份可与架构级备份集成,以此类推)。