PolarDB MySQL版提供的Fast Import特性,允许用户在下发库表恢复任务后,等待约5~10分钟(和恢复数据量大小无关)即可查询恢复任务中库表的全量数据,无需等待恢复任务完成。
场景概述
Fast Import 特性与库表恢复新流程兼容,查询操作可与恢复任务同时进行。
Fast Import特性可以加速以下两种场景:
当数据或表被误删除,且无法确定具体时间点时,传统的恢复任务可能需要等待很长时间才能完成。通过Fast Import特性,用户无需等待恢复任务结束即可快速查询和校验数据。
当少量数据被误删除,但所在表规模较大时,Fast Import特性支持用户通过
INSERT ... SELECT ...
的方式,快速从恢复任务的表中提取所需数据,并将其插入到被误删数据的表中,从而提升操作效率。
版本限制
适用的数据库引擎版本为MySQL 8.0.1,且小版本需为8.0.1.1.48及以上版本。您可以通过查询版本号来确认集群版本。
注意事项
目前该功能在灰度中,如需使用,您可以联系我们加入白名单,启用该功能。
仅支持file-per-table配置(默认配置),非压缩且非加密表,在恢复任务执行过程中查询数据。
恢复任务表的数量在1000以下,系统会默认启用
Fast Import
特性,从而支持在恢复过程中查询全量数据。恢复任务数量在1000以上,系统不会启用
Fast Import
特性。管理任务流程会自动根据您当前下发任务判断来是否开启Fast Import
特性。仅支持在读写(RW)节点和只读(RO)节点执行查询操作。如果存在列存只读(RO)节点,可使用HINT语法强制路由到读写(RW)或者行存只读(RO)节点,否则可能会查询不到数据。
当
buffer pool
资源充足时,访问恢复状态表的效率与正常表相当,但在集群负载较高的场景下,访问恢复状态表的效率会受到限制,以降低对正常业务的影响。在恢复任务完成之前,仅允许以只读模式访问恢复的目标表。
使用说明
下发库表恢复任务
在下发库表恢复任务之后,可通过页面右上角的详情链接进入到任务详情页面
在任务详情页面可看到任务的实时进度,在步骤4结束后可通过show databases
或 show tables
等操作确认恢复任务已创建目标库/表,此时即可查询目标库/表的全量数据。
只读快速访问
您可以通过查询information_schema.fast_import_tablespaces
表,获取当前恢复任务中所有支持快速只读访问的表信息。
当前正处于导入状态的表可以进行快速只读访问,但在下面的查询结果中不会显示具体表名。您可以通过执行SHOW PROCESSLIST
命令来查看包含dbms_rman.import
的SQL语句,获取当前正在恢复的表名。
SELECT * FROM information_schema.fast_import_tablespaces;
图 1. 为处于恢复状态的表可只读访问全量数据。
图 2. 为其他已开启快速访问的表可以只读访问全量数据。
常用问题
联系我们
若您对Fast Import有任何疑问,可通过钉钉搜索群号入群咨询。您可以直接@群内专家,并附上您要咨询的问题。同时群内也有PolarDB MySQL版小助手24*7小时在线回答您的问题。钉钉群号:28000021116。
- 本页导读 (1)
- 场景概述
- 版本限制
- 注意事项
- 使用说明
- 下发库表恢复任务
- 只读快速访问
- 常用问题
- 查询恢复的目标表数据为空?
- 如果表数据量非常大,查询恢复状态中的表是否有其他影响?
- 对恢复的目标表做更新操作报错?
- 联系我们