数据库表结构
数据库表
Camunda 7.20版本共计包含49张表,表名称均以ACT开头,通过两个字符的后缀区分表的用途:
- ACT_RE_*:'RE’表示流程资源存储,这个前缀的表包含了流程定义和流程静态资源(图片,规则等),共5张表。
- ACT_RU_*:'RU’表示流程运行时,包含流程实例,任务,变量,Job等运行中的数据。Camunda只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录,这样运行时表的数据量最小,可以最快运行。共16张表。
- ACT_ID_*:'ID’表示组织用户信息,比如用户,组等,共6张表。
- ACT_HI_*:'HI’表示流程历史记录,包含历史数据,比如历史流程实例,变量,任务等,共18张表。
- ACT_GE_*: ‘GE’表示流程通用数据, 用于不同场景下,共3张表。
ACT_GE
ACT_GE_*通用数据表,用于存放流程或业务使用的通用资源数据,共3张。
序号 | 表名(英文) | 表名(中文) |
1 | act_ge_bytearray | 资源表 |
2 | act_ge_property | 属性表 |
3 | act_ge_schema_log | 表结构日志表 |
ACT_RE
序号 | 表名(英文) | 表名(中文) |
1 | act_re_case_def | CMMN案例管理模型定义表 |
2 | act_re_decision_def | DMN决策模型定义表 |
3 | act_re_decision_req_def | DMN决策需求定义表 |
4 | act_re_deployment | 流程部署表 |
5 | act_re_procdef | 流程定义表 |
6 | act_re_camformdef | 表单定义表 |
ACT_RU
序号 | 表名(英文) | 表名(中文) |
1 | act_ru_authorization | 流程运行时授权表 |
2 | act_ru_batch | 流程执行批处理表 |
3 | act_ru_case_execution | CMMN案例运行执行表 |
4 | act_ru_case_sentry_part | CMMN案例哨兵部分表 |
5 | act_ru_event_subscr | 运行时事件订阅表 |
6 | act_ru_execution | 运行时执行记录表 |
7 | act_ru_ext_task | 运行时外部任务表 |
8 | act_ru_filter | 运行时流程定义查询过滤表 |
9 | act_ru_identitylink | 运行时身份关系表 |
10 | act_ru_incident | 运行时异常事件表 |
11 | act_ru_job | 运行时作业表 |
12 | act_ru_jobdef | 运行时作业定义表 |
13 | act_ru_meter_log | 运行时度量日志表 |
14 | 运行时任务表 | |
15 | act_ru_task_meter_log | 运行时任务度量日志表 |
16 | 运行时变量表 |
ACT_HI
序号 | 表名(英文) | 表名(中文) |
1 | act_hi_actinst | 历史(节点)活动实例表 |
2 | act_hi_attachment | 历史流程附件表 |
3 | act_hi_batch | 批处理记录历史表 |
4 | act_hi_caseactinst | CMMN实例历史节点表 |
5 | act_hi_caseinst | CMMN历史实例表 |
6 | act_hi_comment | 历史流程审批意见表 |
7 | act_hi_dec_in | 历史DMN变量输入表 |
8 | act_hi_dec_out | 历史DMN变量输出表 |
9 | act_hi_decinst | 历史DMN实例表 |
10 | act_hi_detail | |
11 | act_hi_ext_task_log | 外部任务日志历史表 |
12 | act_hi_identitylink | 身份关系历史表 |
13 | act_hi_incident | 异常事件历史表 |
14 | act_hi_job_log | 作业日志历史表 |
15 | act_hi_op_log | 操作日志历史表 |
16 | act_hi_procinst | 流程实例历史表 |
17 | act_hi_taskinst | 任务实例历史表 |
18 | 变量历史表 |
ACT_ID
序号 | 表名(英文) | 表名(中文) |
1 | act_id_group | 用户分组表 |
2 | act_id_info | 用户信息表 |
3 | act_id_membership | 用户、群组关系表 |
4 | act_id_tenant | 租户信息表 |
5 | act_id_tenant_member | 租户和用户、分组关系表 |
6 | act_id_user | 用户表 |
核心表
流程引擎的主要表是流程定义、执行、任务、变量和事件订阅,它们的UML模型如下:
- Process Definitions (ACT_RE_PROCDEF)
- ACT_RE_PROCDEF 表包含所有已部署的流程定义。它包括版本详细信息、资源名称或挂起状态等信息。
- Executions (ACT_RU_EXECUTION)
- ACT_RU_EXECUTION表包含所有当前执行。它包括流程定义、父执行、业务键、当前活动和有关执行状态的不同元数据等信息。
- Tasks (ACT_RU_TASK)
- ACT_RU_TASK表包含所有正在运行的流程实例的所有打开的任务。它包括相应的流程实例、执行等信息,以及创建时间、受托人或截止日期等元数据。
- Variables (ACT_RU_VARIABLE)
- ACT_RU_VARIABLE表包含所有当前设置的流程或任务变量。它包括变量的名称、类型和值,以及有关相应流程实例或任务的信息。
- Event Subscriptions (ACT_RU_EVENT_SUBSCR)
- ACT_RU_EVENT_SUBSCR表包含所有当前存在的事件订阅。它包括预期事件的类型、名称和配置,以及有关相应流程实例和执行的信息。
- Schema Log (ACT_GE_SCHEMA_LOG)
- ACT_GE_SCHEMA_LOG表包含数据库Schema版本的历史记录。对数据库Schema进行更改时,将在此表写入表的新条目。在创建数据库时,将添加初始条目。每个更新脚本都会添加一个新条目,其中包含 ID、数据库更新到的版本以及更新的日期和时间(时间戳)。若要从Schema日志中检索条目,可以使用 SchemaLogQuery-API:
-
List<SchemaLogEntry> entries = managementService.createSchemaLogQuery().list();
- Metrics Log (ACT_RU_METER_LOG)
-
ACT_RU_METER_LOG表包含一系列运行时指标,这些指标可以帮助得出有关 Camunda 平台的使用情况、负载和性能的结论。指标以Java long range的数字形式报告,并计算特定事件的发生次数。有关如何收集指标的详细信息,请参阅《指标用户指南》。MetricsReporter 的默认配置是:每间隔15分钟,将为每个指标在ACT_RU_METER_LOG中创建一行数据。需要注意的是:如果是企业客户,可能要求某些指标的存储时间更长,请考虑将 root-process-instance-start、activity-instance-start、executed-decision-instances 和 executed-decision-elements 指标至少存储 18 个月。
- Task Metrics Log (ACT_RU_TASK_METER_LOG)
-
ACT_RU_TASK_METER_LOG表包含一系列与任务相关的指标,这些指标可以帮助得出有关 BPM 平台的使用、负载和性能的结论。任务指标包含任务分派者及其出现时间的假名化和固定长度值。有关如何收集任务指标的详细信息,请参阅《指标用户指南》。每次向工作负责人分配任务时,都会ACT_RU_TASK_METER_LOG创建一行数据。
-
实体关系图
实体关系图将数据库表和它们的显示外键约束可视化,按照BPMN引擎、历史引擎和身份引擎进行分组(不包含表之间的隐性关系)。
-
BPMN
-
历史表
-
历史表不包含外键约束,这是为了允许不同的配置并保持表的灵活性。