FineDB表结构-FDL配置

  • Last update: November 07, 2023
  • 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

    3.5 管道任务脏数据记录表

    管道任务中如果捕获到脏数据后,会将脏数据的基本信息存储在这个表中。

    4.0.29 及之后版本,表名称(fine_dp_pipeline_dirty):

    字段名称
    描述
    id脏数据id,唯一标识一条脏数据
    task_id任务id
    task_table_id表id
    timestamp脏数据捕获时间
    primary_key

    主键信息,一个json字符串。

    例子:

    {

     "before": "更新前主键",

     "after": "更新后主键"

    }

    error_type异常类型
    error_params异常信息
    fdl_topic业务数据所在的topic
    fdl_offset该脏数据在指定topic的offset

    4.0.27、4.0.28版本,表名称(fine_dp_pipeline_dirty_data):

    字段名称
    描述
    id脏数据id,唯一标识一条脏数据
    task_id任务id
    task_table_id表id
    timestamp脏数据捕获时间
    primary_key

    主键信息,一个json字符串。

    例子:

    {

     "before": "更新前主键",

     "after": "更新后主键"

    }

    error_type异常类型
    error_params异常信息
    topic业务数据所在的topic
    offset改脏数据在指定topic的offset

    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:天





    附件列表


    主题: 管理系统
    Previous
    Next
    • Helpful
    • Not helpful
    • Only read

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    Get
    Help
    Online Support
    Professional technical support is provided to quickly help you solve problems.
    Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
    Page Feedback
    You can provide suggestions and feedback for the current web page.
    Pre-Sales Consultation
    Business Consultation
    Business: international@fanruan.com
    Support: support@fanruan.com
    Page Feedback
    *Problem Type
    Cannot be empty
    Problem Description
    0/1000
    Cannot be empty

    Submitted successfully

    Network busy