利用DLA一键建仓功能一次性归档RDS/MySQL全量数据

简介: 利用现有的阿里云DLA一键建仓功能,对RDS/MySQL数据进行一次性全量数据归档。

背景

目前DLA的一键建仓可以非常方便的进行RDS数据归档任务,只需要简单配置一下,就可以每天同步
最新的归档数据到oss上,进而做一些DLA分析查询等。

但是最近有的用户提出,只需要归档一次,下次不再归档,或者下次归档的目录数据不覆盖之前的。
这样可以保留每次归档的数据snapshot镜像。这种场景在一些审计校对的业务中,确实会比较实用。
本文就针对这个场景,说明如何使用DLA的一键建仓任务,来做各个历史数据镜像的功能。整个过程主要
分以下几步:

  • 一键建仓schema的创建与运行
  • 创建oss schema,创建对应的外表映射
  • 删除原来的一键建仓schema

实战例子

下文演示例子:
某公司在阿里云RDS上,有一个finance库,这个库中各种表专门记录了公司内部所有财务收支记录。会计部门每个月初,需要对上个月的所有财务收支情况进行审计汇总。审计报告由高层管理人员审核。
简单的来讲,用户需要对RDS的数据做周期的一次性归档镜像快照,不互相覆盖,长期有效的存储着这个finance 库历史数据快照,并提供一下低频分析查询的功能操作。如:

  • 2月1号,备份finance库目录为 oss://test/finance/20200201/,子目录有table1、table2、table3....
  • 3月1号,备份finance库目录为 oss://test/finance/20200301/,子目录有table1、table2、table3....
  • 4月1号,备份finance库目录为 oss://test/finance/20200401/,子目录有table1、table2、table3....
  • 5月1号,......

创建一键建仓任务运行,并获取建表语句

创建一键建仓finance20200401任务,选择 20200401目录为schema数据根目录

20200403151926

立即运行finance20200401建仓任务,等待任务完成

20200403152003
20200403152055

schema管理列表,进入finance20200401 复制建表语句

20200403152626
20200403152739
如图,执行show create table users; 得到如下

CREATE EXTERNAL TABLE `finance20200401`.`users` (
    `id` string COMMENT '',
    `username` string COMMENT '',
    `cardnum` string COMMENT '',
    `gmt_create` timestamp COMMENT ''
)
COMMENT ''
STORED AS `PARQUET`
LOCATION  'oss://oss-tiansihz-for-xxxxx-test/20200401/6/users'
TBLPROPERTIES (
    'auto.create.location' = 'true'
)

这里注意,看到“users”数据目录这次放在了“oss://oss-tiansihz-for-xxxxx-test/20200401/6/”目录下,
于是我们需要创建一个oss schema映射到这个目录下,如下

创建oss schema

创建一个oss schema "20200401_snapshot",并映射到指定目录下

20200403152917
20200403153129
如图,核心确保这个schema映射到了“oss://oss-tiansihz-for-xxxxx-test/20200401/6/”目录下,创建执行即可

schema管理找到20200401_snapshot,点击“查询数据”进入sql控制台

20200403153319

20200401_snapshot在sql控制台把之前复制的users建表语句粘贴进来,并在location路径最后加上“/”结尾

20200403153630

执行之后,得到了对应的users表,就可以正常查询了。
20200403153710

删除一键建仓任务schema “finance20200401”

此时,就可以吧一键建仓的finance20200401删除了,我们后续要查询的归档数据就用20200401_snapshot 这个schema就可以了。
20200403155209
20200403155239

小结

这里本质上是利用“一键建仓”的schema “finance20200401”完成“一次归档”RDS数据到oss上,然后立即删除这个一键建仓任务schema,防止后续每天都调度。归档过来的数据,使用oss schema 创建的外表来查询即可。整个过程还是比较简单的,方案供参考。
当然为了一次建仓归档调度,还有别的方案。比如在DLA创建一个mysql表 usersA,再创建一个oss表usersB, 两个结构相同,然后DLA发起一个insert into B select from A sql就可以了。这里不展开,有需要的可以咨询“DLA答疑”客服。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
canal 关系型数据库 MySQL
实时计算 Flink版产品使用问题之在进行整库同步MySQL数据到StarRocks时,遇到全量数据可以同步,但增量数据无法同步,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
29天前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
4月前
|
运维 DataWorks 关系型数据库
DataWorks产品使用合集之DataWorks还有就是对于mysql中的表已经存在数据了,第一次全量后面增量同步的步骤如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
61 2
|
4月前
|
SQL 存储 关系型数据库
RDS for MySQL的SQL分类与数据类型
小明需在MySQL中管理商品信息,使用SQL完成业务操作。SQL分为DQL(查询)、DML(增删改)、DDL(定义)、DCL(权限控制)和TCL(事务)五大类。DDL用于创建、修改和删除数据库结构,DML处理数据,DCL控制权限,TCL管理事务,DQL则用于查询数据。MySQL有多种数据类型,如数值型(整数、小数)、日期型和字符串型等,选择合适的数据类型是高效开发的关键。
52 0
|
2月前
|
关系型数据库 MySQL Serverless
函数计算产品使用问题之调用RDS MySQL的步骤是怎样的
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
3月前
|
SQL 关系型数据库 数据管理
数据管理DMS产品使用合集之归档数据至其它MySQL数据库时,如何指定目的库
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
54 1
|
3月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版产品使用问题之整库从mysql同步到StarRocks里面,首次全量是否会对mysql造成大量资源消耗,导致影响业务服务
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3月前
|
SQL 监控 关系型数据库
实时计算 Flink版产品使用问题之使用mysql cdc配置StartupOptions.initial()全量之后就不增量了,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
关系型数据库 数据库 RDS
利用DTS将自建mysql5.7版本数据库迁移至对应rds报错
利用DTS将自建mysql5.7版本数据库迁移至对应rds报错
135 0
|
3月前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之当需要将数据从ODPS同步到RDS,且ODPS表是二级分区表时,如何同步所有二级分区的数据
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
41 7