历史版本12 :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当前定时任务文件版本号
WorkBasicAttributeStoreETL任务的基本属性id文件id
workBasicAttribute任务属性:
  • checkState:任务校验状态,若为true,表示任务正常,为false表示有配置项异常

注:由于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表关联可以获取已删除的任务的执行记录。

2.4 任务操作历史记录表:fine_dp_operate_history

该表记录了数据开发任务、数据管道任务的编辑记录。每次触发了保存操作,都会在这个表里面增加一条记录。

字段
含义
iduuid
operate_time操作的时间戳
operate_type操作的类型:

EDIT ----  保存任务

operate_user操作的用户
task_id任务id
task_name任务名字
task_path任务路径
task_type任务类型:

DATA_DEVELOP ---- 数据开发任务

PIPELINE_DEVELOP ----  数据管道任务

2.5 定时调度配置表:fine_dp_plan_schedule和fine_dp_plan_work

由于添加了调度计划(一个调度计划可以包含多个任务),定时调度配置分为了两个表:

fine_dp_plan_schedule:实际保存了调度配置。

fine_dp_plan_work:保存了调度配置要作用的对象。

它们之间通过 plan_id 关联。表结果如下:

2.5.1 fine_dp_plan_schedule

字段
含义
plan_id计划id
plan_detail

计划详情,有三个字段:

字段
含义
id计划id
name计划名
type计划类型
schedule_id调度id
schedule

调度配置,有6个字段:

字段
含义
id调度id
scheduleOpen是否开启调度
startTime调度开始时间
frequency

调度频率:

type
含义
0
未开启
1

只执行一次

2

简单重复执行

3

明细频率设置

4表达式设定
endTime调度结束时间
type调度类型
schedule_type调度类型(目前只有定时调度)
add_time计划添加的时间

2.5.2 fine_dp_plan_work

字段含义
plan_id计划id
work_id任务id
work_type任务类型

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

目标表字段

Pipeline_Config:(管道任务或暂存配置信息)

字段名
描述
id任务或暂存 id
sourceConfig数据源配置
targetConfig数据去向配置
controlConfig管道控制配置

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

4. 数据服务编辑

4.1 文件树:fine_dp_service_catalog

不同 namespace 对应的明细:

namespace说明
DataServiceAPICatalogDO(API目录)
字段
含义
idapi任务/文件夹的id
pid父文件夹的id
name名称
createTime创建时间
type类型:
  • ENTITY:api任务

  • PACKAGE:文件夹

DataServiceAppCatalogDO(应用目录)
字段
含义
id应用/文件夹的id
pid父文件夹的id
name应用/文件夹的名称
createTime创建时间
type

类型:

  • ENTITY:应用

  • PACKAGE:文件夹

4.2 API 详情:fine_dp_service_task

字段
含义
taskIdapi任务的id
creator创建者
description描述
isOnlineapi是否上线
requestMethod请求方式
version任务版本,跟随FDL版本一起
requestContentType请求的content-type
taskDetailapi任务的具体配置,与任务类型、数据源类型一一对应

4.3 应用详情:fine_dp_service_app

字段
含义
appId应用id
authInfo

认证信息

字段
含义
authType

认证类型

  • AppCode

  • DigestSignatureAuth

authConfig认证的具体配置
authActive认证是否开启
creator创建者
description描述信息

4.4 API和应用的绑定关系:fine_dp_service_mapping

字段
含义
apiIdapi的id
appId应用id
expireTime过期时间
  • -1表示无限制

  • 其他值代表对应的时间戳

rateLimit

访问限制

字段
含义
limitCount单位时间内允许多少个访问请求
  • -1表示无限制

  • 其他值代表对应的限制个数

timeUnit

时间单位

  • MINUTES:分钟

  • HOURS:小时

  • DAYS:天