Persistence
The tSM Process Engine primarily uses a relational database to store runtime and historical information about process definitions, instances, tasks, variables, and more.
For historical data (ACT_HI_* tables), you can optionally select Elasticsearch instead of the relational database. Elasticsearch is more efficient for time-based queries, advanced analytics, and Index Lifecycle Management (e.g., automatic archiving or deletion of aged data).
Since historical data can grow significantly, retention policies (Data Aging) are essential. You can configure automatic cleanup or archival to manage database size effectively.
In a typical tSM deployment, each microservice that uses the process engine has its own database instance or schema. This ensures process runtime data is isolated and dedicated to the respective service (e.g., ticketing, ordering).
1. Database Schema overview
- Repository Tables (ACT_RE_*): Store static (read-only) definitions of processes, decisions, forms, etc.
- Runtime Tables (ACT_RU_*): Track in-flight data (process instances, tasks, jobs, etc.).
- Identity Tables (ACT_ID_*): Usually store user, group, and tenant information—but unused in tSM because user management is external to the process.
- History Tables (ACT_HI_*): Keep historical (audit) data for completed or past operations; can be partially or fully offloaded to Elasticsearch in tSM 2.0+.
- General Tables (ACT_GE_*): Contain engine-level properties, schema logs, and large binary data.
- Custom (ACT_TSM_*): A special table (
act_tsm_planned_task
) introduced by tSM for additional scheduling features.
2. Repository Tables (ACT_RE_*)
These tables contain static definitions and metadata related to deployments, process definitions, decision definitions, and case definitions (if used).
Table Name | Description | Usage in tSM |
---|---|---|
act_re_deployment | Stores metadata about deployments (e.g., deployment name, time). | Used for versioning process/decision resources. |
act_re_procdef | Holds BPMN process definition metadata (version, key, name). | Core for BPMN processes in tSM. |
act_re_case_def | CMMN case definition metadata. | Unused in tSM (case management is disabled). |
act_re_camformdef | Stores deployed forms (if using embedded forms). | Unused in tSM (tSM has special Form Designer instead). |
act_re_decision_def | DMN decision definition metadata. | Decision tables. |
act_re_decision_req_def | Tracks requirement relationships between decision definitions (DMN dependencies). | Used if referencing multiple DMN files for complex decision logic. |
3. Runtime Tables (ACT_RU_*)
These tables maintain in-flight (active) process data, including tasks, variables, events, incidents, and more.
Table Name | Description | Usage in tSM |
---|---|---|
act_ru_execution | Tracks active process executions (process instances and sub-executions). | Core runtime table: holds state of running processes. |
act_ru_task | Stores user tasks of active process instances (assignee, due date, etc.). | Used for human tasks in tSM workflows. |
act_ru_variable | Holds runtime variables for processes and tasks (names, types, values). | Core for storing variables; references act_ge_bytearray for large data. |
act_ru_event_subscr | Stores event subscriptions (messages, signals) waiting to be triggered. | Used to handle external events or triggers in a process flow. |
act_ru_incident | Tracks runtime incidents (errors, failed jobs, etc.). | Useful for error handling; logs issues during runtime. |
act_ru_job | Holds timer and asynchronous jobs pending or scheduled by the engine. | Key for scheduling tasks or retrying failures. |
act_ru_jobdef | Template definitions for recurring jobs (created at deployment). | Enables repeated timers/asynchronous tasks. |
act_ru_batch | Records batch operations (mass operations like migrations or cancellations). | Used for async processing of large sets of process instances. |
act_ru_authorization | Manages runtime authorizations within the engine (Flowable/Camunda feature). | Unused in tSM. |
act_ru_identitylink | Links users/groups to tasks/processes (e.g., candidate assignments). | Users / User Groups assigned to a task . |
act_ru_filter | Stores filters (for tasks, processes, etc.) commonly used by UI queries. | Unused in tSM. |
act_ru_ext_task | Tracks external tasks if using an external task pattern (e.g., workers pulling tasks). | Storage of external tasks. |
act_ru_case_execution | Runtime info for CMMN case execution. | Unused in tSM (case management is off). |
act_ru_case_sentry_part | Tracks sentry parts for CMMN case execution. | Unused in tSM (case management is off). |
act_ru_meter_log | Logs runtime metrics (engine performance, usage). | Useful for monitoring. |
act_ru_task_meter_log | Logs metrics specifically for tasks, including pseudonymized assignees. | Helps analyze task performance and user workload. |