Doris进阶——数据备份与恢复

Doris官网:Doris_Backup

Backup

Backup是将指定的表数据或者指定分区的数据以Doris的文件存储格式上传到远端仓库中,实现数据的备份。

备份原理:

当提交一个Backup任务后,会对指定表的数据或者表分区数据进行快照,相当于对当前文件进行一个硬链,快照后的对表的任何操作都不会影响快照的结果,最后由BE进行上传到远端仓库。当文件上传完成后,FE会将对应的元数据信息先写到本地,然后再通过broker的方式将元数据信息进行上传。

恢复原理:

提交Restore任务后,会根据指定的仓库以及snapshot的名称以及时间版本来确定需要恢复的文件,然后会创建对应的元数据,创建结构分区一致的表。然后会将创建的表进行一个快照,为了在Backed上产生对应的目录,用于接收从远端仓库下载的快照文件(由BE并发完成),最后下载完成后将这些快照映射为本地表的元数据,最后完成备份恢复。

注意:

  • 备份恢复相关操作只允许ADMIN权限用户进行操作。
  • 一个数据库中只允许由一个备份或恢复的任务。
  • 数据量特别大时,可以通过来进行备份
  • 合理规划分桶数量,Tablet过多会直接影响到备份的时效性
  • 尽量不使用覆盖的方式恢复数据

备份示例:

-- 首先创建仓库
CREATE REPOSITORY `stu_snapshot` -- 仓库名
        WITH BROKER `broker_name` -- broker名
        ON LOCATION "hdfs://test01:8020/doris-out" -- 指定仓库路径
        PROPERTIES
        (
            "username" = "",
            "password" = ""
        );

-- 创建备份任务

BACKUP SNAPSHOT test.stu_snapshot_test -- 库名和备份任务名
  TO `stu_snapshot` -- 远端仓库名
  ON  (
      `students`  -- 表名,可以指定分区(数据量太大建议通过分区进行备份)
  );
  • 通过HELP  BACKUP; 或者Doris官网查看更详细内容
  • 查看Backup 任务的状态 :SHOW BACKUP
  • 查看仓库中的备份:SHOW SNAPSHOT ON 仓库名 
  •  指定查询仓库中的snapshot : SHOW SNAPSHOT ON 仓库名 WHERE = "snapshot_name"
  • 取消备份:
    • CANCEL BACKUP FROM Database_name;

恢复示例:

RESTORE SNAPSHOT test.`stu_snapshot_test` -- 指定数据库名和备份名
FROM `stu_snapshot` -- 远端仓库名
ON ( `students` AS `snapshot_stu`  ) -- 表名,通过AS可以修改表名
PROPERTIES
(
    "replication_num" = "1", -- 副本数
    "backup_timestamp"= "2022-06-24-05-00-14" -- 对应时间
);
  • 查看恢复任务:SHOW RESTORE [ FROM DB_NAME];

删除远端仓库DROP REPOSITORY 'repository_name'

 Mysqldump导出备份:

Doris1.0支持mysqldump工具导出表结构和数据。

  • 导出test数据库中的students表:mysqldump -h127.0.0.1 -P 9030 -uroot --no-tablespaces --databases test --tables students > students2.sql
  • 导出test数据库中的students表结构:mysqldump -h127.0.0.1 -P 9030 -uroot --no-tablespaces --databases test --tables students  --no-data > students2.sql
  • 导出test库中所有的表:mysqldump -h127.0.0.1 -P 9030 -uroot --no-tablespaces --databases test
  • 导出所有数据库和表:mysqldump -h127.0.0.1 -P 9030 -uroot --no-tablespaces --all-databases
  • 导出的sql文件可以source命令导入Doris中
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小眼睛的Ayuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值