BACKUP
更新时间:2022-12-01
BACKUP
Description
该语句用于备份指定数据库下的数据。该命令为异步操作。提交成功后,需通过 SHOW BACKUP 命令查看进度。
仅支持备份 OLAP 类型的表。
BACKUP SNAPSHOT [db_name.]snapshot_name
TO `repository_name`
ON (
`table_name` [PARTITION (`p1`, ...)],
...
)
PROPERTIES ("key"="value", ...);
snapshot_name
:为本次备份的快照取个名字。ON
:指定要备份的表或者分区。-
PROPERTIES
:指定一些参数timeout
:任务超时时间,默认为一天。单位秒。
Example
-
备份
example_db
下的表example_tbl
到仓库example_repo
中:BACKUP SNAPSHOT example_db.snapshot_label1 TO example_repo ON (example_tbl);
-
备份
example_db
下,表example_tbl
的p1, p2
分区,以及表example_tbl2
到仓库example_repo
中,并设置超时时间。BACKUP SNAPSHOT example_db.snapshot_label2 TO example_repo ON ( example_tbl PARTITION (p1,p2), example_tbl2 ) PROPERTIES ( "timeout" = "7200" );
Keywords
BACKUP, SNAPSHOT
典型实践
- 同一个数据库下只能进行一个备份操作。
- 备份操作会备份指定表或分区的基础表及 物化视图。并且仅备份一副本。
-
备份操作的效率
备份操作的效率取决于数据量、Compute Node 节点数量以及文件数量。备份数据分片所在的每个 Compute Node 都会参与备份操作的上传阶段。节点数量越多,上传的效率越高。
文件数据量只涉及到的分片数,以及每个分片中文件的数量。如果分片非常多,或者分片内的小文件较多,都可能增加备份操作的时间。