即时查询DBS逻辑备份
通常情况下,查询备份数据需要先把数据恢复到新实例,并进行初始化数据库、拷贝备份、恢复数据等步骤,费时费力。本文将介绍如何在不恢复数据的情况下,即时查询备份数据。
前提条件
已创建并配置逻辑备份类型的DBS备份计划。具体操作,请参见RDS MySQL或自建MySQL逻辑备份。
已开通数据湖分析(Data Lake Analytics,简称DLA)服务。
重要自2023年06月01日起,DLA已停止开通和售卖。如果您在该日期之前已开通了DLA服务,请继续参考本文进行操作。超出该日期后将无法再开通该功能。更多详情,请参见【通知】停止售卖云原生数据湖分析DLA。
场景介绍
本方案可以帮助您实现低成本快速查询备份数据集的需求。DLA可以实现全量备份数据集即时查询,节省恢复数据资源和时间,简单经济快捷。
注意事项
Data Lake Analytics(DLA)目前仅支持查询MySQL数据库的DBS备份集数据。
DLA目前仅支持全量备份的即时查询,不支持增量数据的查询。
由于DLA所在的地域只能查询同地域的OSS备份文件,DLA和OSS的地域必须保持一致。
DLA目前仅支持逻辑备份集的即时查询。
操作步骤
设置DLA数据库主账号、服务访问点以及OSS访问权限。
创建Schema。
登录DBS控制台。
单击左侧导航栏备份计划。
单击目标备份计划的备份计划ID/名称或管理,进入备份任务配置页面。
单击左侧导航栏
。单击目标备份集右侧的查询备份集,在弹出的对话框中单击确定。
说明单击确定后DLA会自动创建该备份集的Schema。
查询DBS全量备份数据。
登录DLA控制台。
在左侧导航栏选择
。在SQL访问点页面,单击登录到DMS。
填写登录信息后单击登录。
说明DMS会自动填写数据库类型、地域、连接串地址,请确认以上信息无误后输入账号和密码。
在DLA数据库和源RDS数据库中分别执行如下SQL语句核实数据量是否一致:
select 'bill' as tableName ,count(id) as countNumber from `bill` union ALL select 'dim_code_desc' as tableName ,count(id) as countNumber from `dim_code_desc` ;
在DLA数据库中执行如下SQL语句进行多表关联查询:
select t.* from dim_code_desc as t1, BILL t where t1.id= t.id and t1.code_id like '9%';
与源RDS数据库中查询结果进行对比,确认DLA数据库与源RDS数据库中查询结果一致,至此本方案结束。
在本案例数据量下,如果通过RDS全量备份创建新实例来还原数据,并配置白名单以访问RDS获取目标数据,总耗时大约为1小时左右,操作复杂度也较高。在实际的业务场景中,本方案可以帮助您节省数据还原的时间,并且可以快速核查误删的少量数据并进行数据修复。