数据管理DMS的T+1全量数据快照功能支持将业务表的数据按照每天或每小时1次的频率在数据仓库中形成数据快照,方便您以小时、日、月等时间维度对数据进行统计分析。本文介绍创建T+1全量数据快照工单的方法。
前提条件
- 快照引擎:存储快照的目标数据库。
- 数据库类型:AnalyticDB MySQL版。
- 实例的管控模式为安全协同,查看管控模式,请参见查看管控模式。
- 快照数据源:生成快照的源数据库。
- 数据库类型:RDS MySQL、PolarDB MySQL版或由PolarDB MySQL版组成的逻辑库。
- 实例的管控模式为安全协同,查看管控模式,请参见查看管控模式。
- 您使用的是阿里云账号或拥有AliyunDTSFullAccess权限策略的RAM用户。说明 如果RAM用户没有被授权AliyunDTSFullAccess,界面会出现提示授权对话框。使用主账号或拥有AdministratorAccess权限策略的RAM用户进行授权,添加权限策略,请参见为RAM用户授权。
背景信息
传统数据快照需要在某个时间点对整个库、部分表做全量备份,在数据量较大的情况下,不仅拿不到某个准确时间点的快照,还可能对线上业务库造成压力。T+1全量数据快照先通过DTS实时解析日志获取业务侧数据变化(对生产影响极小),形成增量拉链表,然后在DMS中按照客户需求进行任务调度,在云原生数仓AnalyticDB MySQL版中生成全量数据快照。数据快照按天或小时进行分区,每个分区中包含历史全量数据。
说明 不同于传统拉链表,DMS提供的拉链表不仅能够记录增量数据,还会记录数据实时变化信息,通过拉链表能够准确查询任意时间点的快照数据。
应用场景
T+1全量数据快照是数仓建设过程中业务数据入仓的常用方式,以天或小时为周期将业务表的全量数据入仓,方便以日或月为维度进行统计分析:
- 记录用户的每日余额,用于财务系统的账单、对账等场景。
- 记录某个商品的每日价格,用于跟踪当前商品的价格是否处于历史低位,可用于促销提醒等场景。
- 统计截止前一天的订单总额,了解业务运行情况。
使用限制
如果快照数据源中的表结构发生了改变,可能会影响同步链路的可用性,目前只支持新增列。
重要 新建表、删除表、清空表、重命名表、删除列、重命名列、修改列类型等DDL都会使链路中断,如果链路中断,您需要在运维中心进行修复或者提交工单。
收费策略
DTS数据同步链路涉及收费,链路规格为small,计费方式为按量付费。费用详情,请参见计费方式。重要 数据同步到自研数据库AnalyticDB MySQL、PostgreSQL,可免费使用DTS后付费实例2年,限购买10次,每次只能购买1个DTS实例。
- 限DTS同步实例,限micro和small规格,期间规格变配收费。
- 如果已经购买了10次,释放已购买的实例,再次购买,则不会享受优惠。
操作步骤
- 登录数据管理DMS 5.0。
- 在顶部菜单栏中,选择 。
- 在页面右上角,单击T+1全量数据库快照。
- 在T+1全量数据快照工单申请页面,输入工单信息。
项目 描述 工单名称 输入工单名称。 快照引擎 选择存储快照的目标数据库。 快照数据源 选择需要创建快照的源数据库。 快照表配置 添加快照表: - 在左侧原表中,选中需要创建快照的表。
- 单击
,将选中的表添加到快照列表中。
- 在快照粒度中,选中生成快照的周期。
- 小时:每小时生成一张快照。
- 天:每天生成一张快照。
- 在时间字段下拉框中,选择时间类型的字段。字段类型为必须为datetime、timestamp或date。说明 系统按照选定字段的时间为标准创建数据快照,而不是系统时间。
小时表表名配置 如果您配置了小时级快照粒度,需要设置小时快照表的前缀和后缀,默认小时表的前缀为 ods_
,后缀为_dltahh
。天表表名配置 如果您配置了天级快照粒度,需要设置天快照表的前缀和后缀,默认天表的前缀为 ods_
,后缀为_dlta
。快照数据全量保留 设置快照数据的分区数。 - 是:快照数据全量保留,默认为每个快照表创建10240个分区,快照最多保留426天。
- 否:自定义每个快照表的分区数。小时表分区数=天数*24。天表分区数=天数。
- 单击提交申请。
- 购买DTS数据同步链路。
- 确认购买页信息后,选中《数据传输(按量付费)服务条款》。
- 单击购买并启动。
- 在确认对话框中,单击确认。
待工单审批通过后:- 天任务会在每天01时00~10分启动,例如,2021年12月13日零时以后,在快照引擎中写入一个2021-12-13的分区,包含2021-12-13之前的所有数据。
- 小时任务会在每个小时的0~5分启动,例如,在2021年12月13日16时以后,在快照引擎中写入一个2021-12-13 16:00:00的分区,包含2021-12-13 16:00:00之前的所有数据。
- 可选:查看数据快照结果。在快照引擎的SQL窗口,查看快照数据。
例如,查看小时表中2021年12月13日16时之前的全部数据快照,SQL查询语句如下:
SELECT * FROM `前缀_tablename_后缀` WHERE ds='2021-12-10 16:00:00';
说明- 您可以根据设置的小时表、天表的前缀、后缀查找您需要的表。
- 快照表的分区键为ds,您可以通过分区键ds过滤数据,查询目标时间以前的全量数据。
- 可选:在T+1全量数据快照工单申请页面,单击工单号右侧操作列中的运维,查看工单执行情况。
- 查看任务执行情况:
- 天任务:如果工单配置了天级快照粒度,您可以在天任务页签中,查看每一天的任务列表,您还可以终止或重跑该任务。
- 小时任务:如果工单配置了小时级快照粒度,您可以在小时任务页签中,查看每小时的任务列表,您还可以终止或重跑该任务。
- 查看同步链路状态:单击中间表同步链路,页面跳转到 页面,您可以在该页面查看同步链路的状态和维护该同步链路。
- 查看任务执行情况: