上云无忧 > 文档中心 > 百度数据仓库 Palo 的备份与恢复
百度数据仓库 Palo Doris版
百度数据仓库 Palo 的备份与恢复

文档简介:
备份恢复功能主要用于快速的将集群快照备份到远端存储上,并且在需要的时候可以快速的从备份的数据中恢复。 不同于 数据导出 功能,备份功能是直接将数据文件拷贝到远端存储上,因此从整体速度上说优于导出功能,但备份的数据只能用于 PALO 自身的恢复功能,而导出的数据可以被其他系统读取和利用。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

备份恢复功能主要用于快速的将集群快照备份到远端存储上,并且在需要的时候可以快速的从备份的数据中恢复。

不同于 数据导出 功能,备份功能是直接将数据文件拷贝到远端存储上,因此从整体速度上说优于导出功能,但备份的数据只能用于 PALO 自身的恢复功能,而导出的数据可以被其他系统读取和利用。

基本概念

  1. 仓库(Repository)

    在进行备份恢复操作前,用户需要先创建一个仓库(Repository)。仓库是一个远端存储系统上的目录在 PALO 中的映射。备份操作会将数据上传到这个路径中,而恢复操作则是从这个路径中下载数据。

    PALO 支持创建和删除仓库。具体帮助可参阅 CREATE REPOSITORY 以及 DROP REPOSITORY 命令手册。通过 SHOW REPOSITORIES 命令可以查看已经创建好的仓库。

  2. 备份(Backup)

    备份操作可以以最小分区粒度,直接以 PALO 存储的文件的形式,上传到远端仓库中进行存储。当用户提交 Backup 请求后,系统内部会做如下操作:

    1. 快照及快照上传

      快照阶段会对指定的表或分区数据文件进行快照。之后,备份都是对快照进行操作。在快照之后,对表进行的更改、导入等操作都不再影响备份的结果。快照只是对当前数据文件产生一个硬链,耗时很少。快照完成后,会开始对这些快照文件进行逐一上传。快照上传由各个 Compute Node 节点并发完成。

    2. 元数据准备及上传

      数据文件快照上传完成后,Leader Node 节点会首先将对应元数据写成本地文件,然后将本地元数据文件上传到远端仓库。完成最终备份作业。

    关于备份的具体操作,可以参阅 BACKUP 语法手册。备份操作是一个异步操作,可以通过 SHOW BACKUP 命令查看操作进度。同时,可以通过 CANCEL BACKUP 命令取消一个正在运行的备份操作。

  3. 恢复(Restore)

    恢复操作需要指定一个远端仓库中已存在的备份,然后将这个备份的内容恢复到本地集群中。当用户提交 Restore 请求后,系统内部会做如下操作:

    1. 在本地创建对应的元数据

      这一步首先会在本地集群中,创建恢复对应的表分区等结构。创建完成后,该表可见,但是不可访问。

    2. 下载快照

      下载远端仓库中的快照文件到各自对应的 Compute Node 节点上。

    3. 生效快照

      快照下载完成后,我们要将各个快照映射为当前本地表的元数据。然后重新加载这些快照,使之生效,完成最终的恢复作业。

    关于恢复的具体操作,可以参阅 RESTORE 语法手册。恢复操作是一个异步操作,可以通过 SHOW-RESTORE 命令查看操作进度。同时,可以通过 CANCEL-RESTORE 命令取消一个正在运行的恢复操作。

操作示例

我们通过一个完整示例展示如果通过备份恢复操作,将 A 集群的数据迁移至 B 集群。

  1. 在 A 集群创建仓库

    CREATE REPOSITORY `bos_repo` WITH BROKER `bos` ON LOCATION "bos://my_bucket/doris_backup" PROPERTIES

    创建一个名为 bos_repo 的仓库,指向 doris_backup 目录。更多详细帮助,请参阅 CREATE REPOSITORY。

  2.  ( "bos_endpoint" = "http://bj.bcebos.com", "bos_accesskey" = "xxxxxxxxxxxxxxxxxx", "bos_secret
  3. _accesskey"="yyyyyyyyyyyyyyy" );
  4. 在 A 集群进行备份数据操作

    BACKUP SNAPSHOT example_db.snapshot1 TO `bos_repo` ON ( example_tbl PARTITION (p1,p2), example_tbl2 );

    指定 example_db 库中的 example_tbl 表的两个分区,以及 example_tbl2 表进行备份。备份到 bos_repo 这个仓库中。本次备份的名称为 snapshot1。关于备份操作的更多详细帮助,请参阅 BACKUP。

    备份操作是一个异步命令,具体进度须通过 SHOW BACKUP 命令查看。当返回结果中的 State 字段为 FINISHED,即表示备份完成。

  5. 在 B 集群创建相同的仓库:

    CREATE REPOSITORY `bos_repo` WITH BROKER `bos` ON LOCATION "bos://my_bucket/doris_backup"
  6.  PROPERTIES ( "bos_endpoint" = "http://bj.bcebos.com", "bos_accesskey" = "xxxxxxxxxxxxxxxxxx", 
  7. "bos_secret_accesskey"="yyyyyyyyyyyyyyy" );
  8. 在 B 集群查看仓库中的备份快照

    SHOW SNAPSHOT ON `bos_repo`;

    更多帮助,可以查看 SHOW SNAPSHOT 语法手册。

  9. 在 B 集群执行恢复数据操作

    RESTORE SNAPSHOT example_db.`snapshot1` FROM `bos_repo` ON ( `example_tbl2` ) PROPERTIES ( "backup_timestamp"="2020-05

    指定 bos_repo 中名称为 snapshot1 的备份数据,选择恢复其中的 example_tbl2 表。每个备份数据都有一个时间戳(backup_timestamp),需要显示指定。同时这里我们指定只恢复一个副本。

    恢复操作也是一个异步命令,具体进度须通过 SHOW RESTORE 命令查看。当返回结果中的 State 字段为 FINISHED,即表示恢复完成。

  10. -04-16-45-08", "replication_num" = "1" );

最佳实践

备份

当前我们支持最小分区(Partition)粒度的全量备份。如果需要对数据进行定期备份,首先需要在建表时,合理的规划表的分区及分桶,比如按时间进行分区。然后在之后的运行过程中,按照分区粒度进行定期的数据备份。

通过按分区粒度进行备份,可以起到增量备份的目的。

数据迁移

用户可以先将数据备份到远端仓库,再通过远端仓库将数据恢复到另一个集群,完成数据迁移。因为数据备份是通过快照的形式完成的,所以,在备份作业的快照阶段之后的新的导入数据,是不会备份的。因此,在快照完成后,到恢复作业完成这期间,在原集群上导入的数据,都需要在新集群上同样导入一遍。

建议在迁移完成后,对新旧两个集群并行导入一段时间。完成数据和业务正确性校验后,再将业务迁移到新的集群。

相似文档
  • 物化视图: 物化视图是将预先计算(根据定义好的 SELECT 语句)好的数据集,存储在 PALO 中的一个特殊的表。 物化视图的出现主要是为了满足用户,既能对原始明细数据的任意维度分析,也能快速的对固定维度进行分析查询。
  • PALO 的权限管理系统参照了 Mysql 的权限管理机制,做到了表级别细粒度的权限控制,并且支持白名单机制。 名词解释: 用户标识 user_identity: 在权限系统中,一个用户被识别为一个 User Identity(用户标识)。用户标识由两部分组成:username 和 userhost。其中 username 为用户名,由英文大小写组成。
  • 资源(Resource)类似于一种属性集合,主要用于定义一些公用的属性,以方便统一管理或者在其他地方引用。 目前 PALO 支持的资源包括: ODBC Resource: 用于定义一组通过 ODBC 连接外部数据源的信息。可以用于 创建 ODBC 外部表。
  • PALO 中的变量(Variable)参考 MySQL 中的变量设置。 用户可以设置会话级别的变量和全局生效的标量。 但部分变量仅用于兼容一些 MySQL 客户端协议,并不产生其在 MySQL 数据库中的实际意义。
  • PALO 支持多时区设置: PALO 内部存在多个时区相关变量。 system_time_zone : 当服务器启动时,会根据机器设置时区自动设置,设置后不可修改。 time_zone : 服务器当前时区,区分session级别和global级别。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部