1. 概述编辑
FineDB 数据库存储了工程中除平台属性配置以外的所有信息,包括管道任务、定时任务信息等。
本文主要说明 FineDataLink 特有的数据表。
2. 数据开发模块编辑
2.1 任务配置表:fine_dp_conf_entity_x
在fine_dp_conf_entity_x这张表中,存储了关于定时任务的所有配置相关的信息。
这张表的表结构比较特殊,在这张物理表内存储了多个子表,每个子表通过 namespace 来进行区分。子表的具体内容,存储在 entity_value 字段中。
下表展示了fine_dp_conf_entity_x主要字段的含义。
字段名 | 数据类型 | 长度 | 非空 | 说明 |
---|---|---|---|---|
id | VARCHAR | 255 | TRUE | 自动生成的uuid |
namespace | VARCHAR | 255 | TRUE | 命名空间,用来区分entity_value 中的内容 枚举型变量
|
timestamp | bigint | 20 | TRUE | 记录生成的时间戳 |
entity_key | VARCHAR | 4000 | TRUE | 子表逻辑id,在子表空间内是唯一的。 |
entity_value | LONGTEXT | TRUE | 子表的具体内容,为json格式。可以理解为正常表一行的内容,现在被压缩为一个字段了,json的key就是表的字段名,value就是字段值。 |
不同 Namespace 的 entity_value 的格式及含义
namespace | entity_value 字段存储的内容 | entity_value json字段内的键名 | 键名的含义 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DPFileEntityStore | 定时任务文件相关配置 | fileId | 文件id,用来唯一标识文件 | ||||||||||
envPath | 文件路径 | ||||||||||||
createTime | 文件创建时间 | ||||||||||||
DPAttributeStore | 定时任务定时调度配置 | id | 文件id,与上述fileId一致 | ||||||||||
name | 文件路径,与上述envPath一致 | ||||||||||||
scheduleOpen | 定时调度是否开启 | ||||||||||||
startTime | 定时调度开始时间 | ||||||||||||
frequency | 定时调度的执行频率
value根据不同的类型有不同的解释,不再赘述 | ||||||||||||
endTime | 定时调度结束时间 | ||||||||||||
notify | 是否开启结果通知 | ||||||||||||
DPFineDBVersionStore | 定时任务文件版本号 | version | 当前定时任务文件版本号 |
注:由于FDL需要支持版本的升级和回退,因此,不同的文件版本会对应不同的记录。以 文件版本号 + 文件ID 作为entity_key的值的。
历史版本的记录也保留在这个表中,如果需要过滤当前版本的信息,需要对 entity_key 的值先进行筛选。
2.2 执行记录表:fine_dp_work_exec_record
4.0.16及之前的版本
执行记录表:fine_dp_execute_record_x
记录了定时任务的执行情况,包括执行的开始时间、结束时间、执行结果、报错信息等。
与任务配置表不同,执行记录表是一个简单结构的表,并不存在子表结构,因此结构相对简单。下面介绍主要字段及含义。
字段 | 数据类型 | 长度 | 非空 | 说明 |
---|---|---|---|---|
id | VARCHAR | 255 | TRUE | 自动生成的uuid |
executeId | VARCHAR | 255 | FALSE | 与id值一致 |
startTime | BIGINT | 20 | FALSE | 任务开始时间 |
finishTime | BIGINT | 20 | FALSE | 任务结束时间 |
taskId | VARCHAR | 255 | FALSE | 任务Id。与任务配置表中namespace为DPFileEntityStore的子表里的fileId一一对应。 |
taskStatus | VARCHAR | 255 | FALSE | 任务执行状态
|
triggerMethod | VARCHAR | 255 | FALSE | 任务触发方式:
|
versionTime | BIGINT | 20 | FALSE | 执行记录的版本时间 |
errorLog | LONGTEXT | 20 | FALSE | 出错日志。若任务执行成功则为空 |
注:定时任务每执行一次,都会生成一条执行记录。
4.0.17及之后的版本 fine_dp_work_exec_record
执行记录表中,记录了定时任务的执行情况,包括执行的开始时间、结束时间、执行结果、执行详细信息等。
与任务配置表不同,执行记录表是一个简单结构的表,并不存在子表结构,因此结构相对简单。下面介绍主要字段及含义。
字段 | 数据类型 | 长度 | 非空 | 含义 |
---|---|---|---|---|
id | VARCHAR | 255 | TRUE | 执行id |
startTime | BIGINT | 20 | FALSE | 任务开始时间 |
finishTime | BIGINT | 20 | FALSE | 任务结束时间 |
taskId | VARCHAR | 255 | FALSE | 任务Id。与任务配置表中namespace为DPFileEntityStore的子表里的fileId一一对应。 |
taskStatus | VARCHAR | 255 | FALSE | 任务执行状态:
|
triggerMethod | VARCHAR | 255 | FALSE | 任务触发方式:
|
triggerBy | VARCHAR | 255 | FALSE | 触发者(如果是定时调度触发的,则为system) |
path | VARCHAR | 255 | FALSE | 运维详细信息的路径,这个是相对路径(在WEB-INF下的相对路径) |
注:定时任务每执行一次,都会生成一条执行记录。
2.3 任务删除记录表:fine_dp_work_delete(4.0.17版本新增)
该表中记录所有已删除的任务id以及任务名称
字段 | 数据类型 | 长度 | 非空 | 说明 |
---|---|---|---|---|
id | VARCHAR | 255 | TRUE | 任务Id。与任务配置表中namespace为DPFileEntityStore的子表里的fileId一一对应 |
taskName | VARCHAR | 255 | FALSE | 任务被删除时的任务名称 |
通过fine_dp_work_delete表和fine_dp_work_exec_record表关联可以获取已删除的任务的执行记录。
3. 管道任务编辑
3.1 管道任务配置表 fine_dp_pipeline_task
与定时任务的配置表相似。
表内存储了多个子表,每个子表通过 namespace 来进行区分。子表的具体内容,存储在 entity_value 字段中。
字段名 | 数据类型 | 长度 | 非空 | 说明 |
---|---|---|---|---|
id | VARCHAR | 255 | TRUE | 自动生成的uuid |
namespace | VARCHAR | 255 | TRUE | 命名空间,用来区分entity_value 中的内容 枚举型变量
|
value_class | VARCHAR | 255 | TRUE | entity 对应的 Java 类 |
entity_key | VARCHAR | 4000 | TRUE | 子表逻辑id,在子表空间内是唯一的。 |
entity_value | LONGTEXT | TRUE | 子表的具体内容,为json格式。可以理解为正常表一行的内容,现在被压缩为一个字段了,json的key就是表的字段名,value就是字段值。 |
不同 Namespace 的 entity_value 的格式及含义
PipelineTask:任务基本信息
描述 | |
---|---|
id | 管道任务 ID |
taskName | 索引 |
status | 任务状态 IDLE - 空闲 RUNNING - 运行中 ERROR - 错误 PAUSED - 暂停 |
syncType | 同步类型 FULL_AND_INCREMENTAL - 全量 + 增量 |
sourceType | 数据源类型,如 mysql、oracle |
sourceTypeName | 数据源类型展示名称,如 MySQL、Oracle |
sourceConnectionName | 数据源数据连接名称 |
targetType | 数据去向类型 |
targetTypeName | 数据去向展示名称 |
targetConnectionName | 数据去向数据连接名称 |
firstStartTime | 任务首次启动时间 |
createTime | 任务创建时间 |
updateTime | 任务上次修改时间 |
PipelineDraft:暂存任务信息
描述 | |
---|---|
id | 管道任务 ID |
taskName | 索引 |
originalTaskName | 对应的管道任务名称 |
syncType | 同步类型 |
sourceType | 数据源类型 |
sourceTypeName | 数据源类型展示名称 |
sourceConnectionName | 数据源数据连接名称 |
targetType | 数据去向类型 |
targetTypeName | 数据去向展示名称 |
targetConnectionName | 数据去向数据连接名称 |
editStatus | 已完成的进度 默认是 0,第一步校验完成该值为 1,第二步校验完成该值为 2... |
createTime | 任务创建时间 |
updateTime | 任务上次修改时间 |
PipelineSourceTable:源表信息
描述 | |
---|---|
id | 表 id |
targetTableId | 对应目标表 id,关联字段 PipelineTargetTable 的 id |
database | 源数据库名 |
schema | 源模式名 |
table | 源表名 |
topic | 实时同步对应的 Kafka topic 名称 |
fullSyncFinished | 是否已经完成全量同步 |
reSync | 是否重新同步 |
columns | 源表字段 |
PipelineTargetTable:目标表信息
描述 | |
---|---|
id | 目标表 id |
sourceTableId | 对应源表 id,关联字段 PipelineSourceTable 的 id |
database | 目标库名 |
schema | 目标模式名 |
table | 目标表名 |
columns | 目标表字段 |
3.2 管道任务断点续传配置表 fine_dp_pipeline_savepoint
数据类型 | 长度 | 非空 | 说明 | |
---|---|---|---|---|
ID | VARCHAR | 255 | TRUE | 记录ID |
TABLE_ID | VARCHAR | 255 | FALSE | 断点对应表的 ID |
TASK_ID | VARCHAR | 255 | TRUE | 断点对应任务的 ID |
TYPE | VARCHAR | 255 | TRUE | 断点类型 |
CREATE_TIME | BIGINT | 64 | FALSE | 创建时间 |
UPDATE_TIME | BIGINT | 64 | FALSE | 更新时间 |
VALUE | VARCHAR | 16777216 | TRUE | JSON 格式,实际断点保存的值,不同类型的断点保存的值不同。 |
3.3 管道任务执行记录表 fine_dp_pipeline_execute
描述 | 数据类型 | 长度 | |
---|---|---|---|
ID | 记录ID | VARCHAR | 255 |
TASK_ID | 任务ID | VARCHAR | 255 |
TABLE_FULL_NAME | 来源表的完整名称 | VARCHAR | 255 |
TYPE | 执行记录类型。PIPELINE_TASK - 任务级别。PIPELINE_TABLE - 表级别。 | VARCHAR | 255 |
LAST_START_TIME | 上一次启动时间 | BIGINT | 64 |
LAST_LOG_TIME | 上一次记录时间 | BIGINT | 64 |
WORK_DURATION | 任务实际工作时长(若任务中途有中断,则中断时间不会统计在内) | BIGINT | 64 |
READ_RECORD_COUNT | 读取行数 | BIGINT | 64 |
INSERT_RECORD_COUNT | 插入行数 | BIGINT | 64 |
UPDATE_RECORD_COUNT | 更新行数 | BIGINT | 64 |
DELETE_RECORD_COUNT | 删除行数 | BIGINT | 64 |
TO_SYNC_RECORD_COUNT | 待同步行数 | BIGINT | 64 |
ERROR_RECORD_COUNT | 失败行数 | BIGINT | 64 |
READ_TOTAL_TRAFFIC | 读取数据量(单位Byte) | BIGINT | 64 |
INSERT_TRAFFIC | 插入数据量(单位Byte) | BIGINT | 64 |
UPDATE_TRAFFIC | 更新数据量(单位Byte) | BIGINT | 64 |
DELETE_TRAFFIC | 删除数据量(单位Byte) | BIGINT | 64 |
TO_SYNC_TRAFFIC | 待同步数据量(单位Byte) | BIGINT | 64 |
3.4 数据管道表结构变化依赖表 fine_dp_pipeline_schema
数据管道 MySQL 数据源处理表结构变化时依赖的表。
描述 | 数据类型 | 长度 | |
---|---|---|---|
ID | 记录ID | VARCHAR | 255 |
TASK_ID | 任务 ID | VARCHAR | 255 |
TABLE_FULL_NAME | 表名称 | VARCHAR | 255 |
TABLE_CHARSET | 表字符编码 | VARCHAR | 255 |
SCHEMA_VALUE | 表结构记录 | VARCHAR | 16777216 |
POSITION | 断点位置 | VARCHAR | 255 |
COMMIT_TIME | 提交时间 | BIGINT | 64 |