历史版本8 :FineDB表结构 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

FineDB 数据库存储了工程中除平台属性配置以外的所有信息,包括管道任务、定时任务信息等。

本文主要说明 FineDataLink 特有的数据表。

2. 数据开发模块编辑

2.1 任务配置表:fine_dp_conf_entity_x

在fine_dp_conf_entity_x这张表中,存储了关于定时任务的所有配置相关的信息。

这张表的表结构比较特殊,在这张物理表内存储了多个子表,每个子表通过 namespace 来进行区分。子表的具体内容,存储在 entity_value 字段中。

下表展示了fine_dp_conf_entity_x主要字段的含义。

字段名数据类型长度非空说明
idVARCHAR255TRUE自动生成的uuid
namespaceVARCHAR255TRUE

命名空间,用来区分entity_value 中的内容

枚举型变量

  • DPFileEntityStore:定时任务文件相关配置

  • DPAttributeStore:定时任务定时调度配置

  • DPFineDBVersionStore:定时任务文件版本号

timestampbigint20TRUE记录生成的时间戳
entity_keyVARCHAR4000TRUE子表逻辑id,在子表空间内是唯一的。
entity_valueLONGTEXT
TRUE子表的具体内容,为json格式。可以理解为正常表一行的内容,现在被压缩为一个字段了,json的key就是表的字段名,value就是字段值。

同 Namespace 的 entity_value 的格式及含义

namespaceentity_value 字段存储的内容entity_value json字段内的键名键名的含义


DPFileEntityStore


定时任务文件相关配置

fileId文件id,用来唯一标识文件
envPath文件路径
createTime文件创建时间









DPAttributeStore













定时任务定时调度配置





id文件id,与上述fileId一致
name文件路径,与上述envPath一致
scheduleOpen定时调度是否开启
startTime定时调度开始时间
frequency

定时调度的执行频率

type
含义
0

未开始

1

只执行一次

2

简单重复执行

3

明细频率设置

4

表达式设定

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

记录了定时任务的执行情况,包括执行的开始时间、结束时间、执行结果、报错信息等。

与任务配置表不同,执行记录表是一个简单结构的表,并不存在子表结构,因此结构相对简单。下面介绍主要字段及含义。

字段
数据类型长度非空
说明
idVARCHAR255TRUE自动生成的uuid
executeIdVARCHAR255FALSE与id值一致
startTimeBIGINT20FALSE任务开始时间
finishTimeBIGINT20FALSE任务结束时间
taskIdVARCHAR255FALSE任务Id。与任务配置表中namespace为DPFileEntityStore的子表里的fileId一一对应。
taskStatusVARCHAR255FALSE

任务执行状态

  • SUCCESS:任务运行成功

  • ERROR:任务运行报错4.0.3 版本之前,该值为 fail

  • INVALID:任务中止运行(异常任务,一般是任务运行时关闭了FineDataLink,启动后会将状态置为INVALID)

triggerMethodVARCHAR255FALSE

任务触发方式:

  • MANUAL 手动出发

  • FIX_TIME  定时调度

versionTimeBIGINT20FALSE执行记录的版本时间
errorLogLONGTEXT20FALSE出错日志。若任务执行成功则为空

注:定时任务每执行一次,都会生成一条执行记录。

4.0.17及之后的版本 fine_dp_work_exec_record

执行记录表中,记录了定时任务的执行情况,包括执行的开始时间、结束时间、执行结果、执行详细信息等。

与任务配置表不同,执行记录表是一个简单结构的表,并不存在子表结构,因此结构相对简单。下面介绍主要字段及含义。

字段
数据类型长度非空
含义
idVARCHAR255TRUE执行id
startTimeBIGINT20FALSE任务开始时间
finishTimeBIGINT20FALSE任务结束时间
taskIdVARCHAR255FALSE任务Id。与任务配置表中namespace为DPFileEntityStore的子表里的fileId一一对应。
taskStatusVARCHAR255FALSE

任务执行状态:

  • SUCCESS:任务运行成功

  • ERROR:任务运行报错

  • INVALID:任务中止运行(异常任务,一般是任务运行时关闭了FineDataLink,启动后会将状态置为INVALID)

triggerMethodVARCHAR255FALSE

任务触发方式:

  • MANUAL 手动触发

  • FIX_TIME 定时调度

triggerByVARCHAR255FALSE触发者(如果是定时调度触发的,则为system)
pathVARCHAR255FALSE运维详细信息的路径,这个是相对路径(在WEB-INF下的相对路径)

注:定时任务每执行一次,都会生成一条执行记录。

2.3 任务删除记录表:fine_dp_work_delete(4.0.17版本新增)

该表中记录所有已删除的任务id以及任务名称

字段
数据类型长度非空
说明
idVARCHAR255TRUE任务Id。与任务配置表中namespace为DPFileEntityStore的子表里的fileId一一对应
taskNameVARCHAR255FALSE任务被删除时的任务名称

通过fine_dp_work_delete表和fine_dp_work_exec_record表关联可以获取已删除的任务的执行记录。

3. 管道任务编辑

3.1 管道任务配置表 fine_dp_pipeline_task

与定时任务的配置表相似。

表内存储了多个子表,每个子表通过 namespace 来进行区分。子表的具体内容,存储在 entity_value 字段中。

字段名数据类型长度非空说明
idVARCHAR255TRUE自动生成的uuid
namespaceVARCHAR255TRUE

命名空间,用来区分entity_value 中的内容

枚举型变量

  • PipelineTask:任务基本信息

  • PipelineDraft:暂存任务信息

  • PipelineSourceTable:源表信息

  • PipelineTargetTable:目标表信息

value_classVARCHAR255TRUEentity 对应的 Java 类
entity_keyVARCHAR4000TRUE子表逻辑id,在子表空间内是唯一的。
entity_valueLONGTEXT
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

字段名
数据类型
长度
非空说明
IDVARCHAR255TRUE
记录ID
TABLE_IDVARCHAR255FALSE断点对应表的 ID
TASK_IDVARCHAR255TRUE断点对应任务的 ID
TYPEVARCHAR255TRUE断点类型
CREATE_TIMEBIGINT64FALSE创建时间
UPDATE_TIMEBIGINT64FALSE更新时间
VALUEVARCHAR

16777216

TRUEJSON 格式,实际断点保存的值,不同类型的断点保存的值不同。

3.3 管道任务执行记录表 fine_dp_pipeline_execute

字段名
描述
数据类型
长度
ID记录IDVARCHAR255
TASK_ID任务IDVARCHAR255
TABLE_FULL_NAME来源表的完整名称VARCHAR255
TYPE执行记录类型。PIPELINE_TASK - 任务级别。PIPELINE_TABLE - 表级别。VARCHAR255
LAST_START_TIME上一次启动时间BIGINT64
LAST_LOG_TIME上一次记录时间BIGINT64
WORK_DURATION任务实际工作时长(若任务中途有中断,则中断时间不会统计在内)BIGINT64
READ_RECORD_COUNT读取行数BIGINT64
INSERT_RECORD_COUNT插入行数BIGINT64
UPDATE_RECORD_COUNT更新行数BIGINT64
DELETE_RECORD_COUNT删除行数BIGINT64
TO_SYNC_RECORD_COUNT待同步行数BIGINT64
ERROR_RECORD_COUNT失败行数BIGINT64
READ_TOTAL_TRAFFIC读取数据量(单位Byte)BIGINT64
INSERT_TRAFFIC插入数据量(单位Byte)BIGINT64
UPDATE_TRAFFIC更新数据量(单位Byte)BIGINT64
DELETE_TRAFFIC删除数据量(单位Byte)BIGINT64
TO_SYNC_TRAFFIC待同步数据量(单位Byte)BIGINT64

3.4 数据管道表结构变化依赖表 fine_dp_pipeline_schema

数据管道 MySQL 数据源处理表结构变化时依赖的表。

字段名
描述
数据类型
长度
ID记录IDVARCHAR255
TASK_ID任务 IDVARCHAR255

TABLE_FULL_NAME

表名称VARCHAR255

TABLE_CHARSET

表字符编码VARCHAR255
SCHEMA_VALUE表结构记录VARCHAR16777216
POSITION断点位置VARCHAR255
COMMIT_TIME提交时间BIGINT64