通过心跳表监测数据同步链路
TapData Cloud 为您提供了云端服务,适合需要快速部署、低前期投资场景,帮助您更好地专注于业务发展而非基础设施管理,注册账号即可领取免费的 Agent 实例,欢迎试用。TapData Enterprise 可部署在您的本地数据中心,适合对数据敏感性或网络隔离有严格要求的场景,可服务于构建实时数仓,实现实时数据交换,数据迁移等场景。TapData Community 是一个开源的数据集成平台,提供基础的数据同步和转换功能,可通过 Docker 一键部署,帮助您快速探索和实施数据集成项目。随着项目或企业发展,您可以平滑升级至 TapData Cloud 或 TapData Enterprise,以获得更多高级功能或服务支持。TapData 通过心跳表的设计,每隔 10 秒向源库写入时间戳信息,通过检查心跳表中的时间戳信息,我们可以快速判断数据源的活跃性和链路健康状况,从而更好地监测数据同步链路,保障数据同步链路的稳定性和可靠性。
适用场景
源库经常长时间无 DML 类操作(如插入数据),需要在任务列表通过增量时间点快速判断增量任务状态,从而确保链路状态和增量日志获取正常。
源库的 DML 类操作非常多,需要避免 TapData 记录的增量断点日志被归档删除,导致无法获取增量时间点的情形。
注意事项
- 由于心跳表功能需要在源库中,自动完成表的创建和时间戳更新,您需要开启前确保数据库账号已授予相关权限,以 MySQL 为例,您需要确保账号具有 CREATE、INSERT 和 UPDATE 权限,更多权限的介绍,见数据源准备工作。
- 心跳表的名称为 _tapdata_heartbeat_table,请确保心跳表的数据完整性和可靠性,避免在源库上对其操作(如删除表)。
为数据源开启心跳表
在左侧导航栏,单击连接管理。
找到已创建的数据源,单击其操作栏的编辑。
如需在新建数据源时设置,配置方法相同,更多介绍,见连接数据源。
下翻至页面底部,打开心跳表开关。
提示如果尚未看到该开关,您需要检查页面中的连接类型设置,确保选择为源头和目标。此外,部分数据源不支持同时作为源头和目标,更多介绍,见支持的数据源。
单击保存。
查看心跳表任务
为数据源开启心跳表后,当该数据源在数据复制/开发任务引用并启动后,心跳任务任务才会启动,此时您可以再次进入该数据源的编辑页面,即可单击查看心跳任务。
如上图所示,TapData 借助 Dummy 数据源,每隔 10 秒向源库写入一条时间戳信息,从而实现增量时间点的持续更新,更好地监测数据源和链路状态。
常见问题
问:心跳表任务可以删除和编辑吗?
答:不可以,您无需手动操作,该数据源关联的任务全部停止后,心跳表任务会自动停止,如果删除了该数据源,心跳任务也会自动删除。
问:心跳表的结构和数据内容是什么样的?
答:以 MySQL 为例,表结构和数据如下所示:
--查看心跳表结构
DESC _tapdata_heartbeat_table;
--返回结果
+-------+-------------+------+-----+--------------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+--------------------------+-------+
| id | varchar(64) | NO | PRI | 641a726eb1837461c70caa9d | |
| ts | datetime(6) | YES | | NULL | |
+-------+-------------+------+-----+--------------------------+-------+
--查看心跳表数据
SELECT * FROM _tapdata_heartbeat_table;
--返回结果
+--------------------------+----------------------------+
| id | ts |
+--------------------------+----------------------------+
| 6438cdbef713082e37eb0a05 | 2023-04-14 04:03:28.963000 |
+--------------------------+----------------------------+