Camunda BPM Engine を読み解くにあたって、テーブル群の全体像を掴みたかったので、テーブル一覧をまとめておきます。テーブル毎の説明は必要に応じて適宜追加していきます。Camundaのバージョンは7.5.0です。
主要なテーブルのER図は公式ドキュメント - Databaseにあります。
テーブル一覧
Camunda BPM Engine は全部で44個のテーブルから構成されています。
全てのテーブル名はACT_で始まります。これはCamundaがActivitiからフォークされて出来たことに由来します。
ACT_の後の二文字 (RE, RU, ID, HI, GE) でそのテーブルのユースケースを表します。これは大まかにAPIと一致しています。
Repository Tables (リポジトリテーブル)
プロセス定義などの、静的(static)なデータを保持するテーブル。
テーブル名 | 説明 |
---|---|
ACT_RE_DEPLOYMENT | |
ACT_RE_PROCDEF | プロセス定義を保持するテーブル。BPMNデータ(XML)自体は、ACT_GE_BYTEARRAY に保持する。 |
ACT_RE_CASE_DEF | |
ACT_RE_DECISION_DEF |
Runtime Tables (実行時テーブル)
プロセスインスタンス、ユーザータスク、変数、ジョブ等の実行時データを保持するテーブル。エンジンはプロセスインスタンスが実行中のみ実行時データを保存し、プロセスインスタンスが終了すればデータを削除します。これは実行時テーブルを小さく速く保つためです。
テーブル名 | 説明 |
---|---|
ACT_RU_AUTHORIZATION | あるリソースに対するグループもしくはユーザーの権限を保持する。 タイプ (TYPE_) 0: Global: 全ユーザー・グループ共通のデフォルト権限を付与 1: Grant: 特定のユーザー・グループに権限を付与 2: Revoke: 特定のユーザー・グループから権限を剥奪 リソースタイプ (RESOURCE_TYPE_) 0: アプリケーション / 1: ユーザー / 2: グループ / 5:フィルター / 7: タスク / 8: プロセスインスタンス / 11: テナント |
ACT_RU_VARIABLE | プロセス実行時に設定されるあらゆる変数の名前と値を保持する。 |
ACT_RU_BATCH | |
ACT_RU_CASE_EXECUTION | |
ACT_RU_CASE_SENTRY_PART | |
ACT_RU_EVENT_SUBSCR | |
ACT_RU_EXECUTION | |
ACT_RU_EXT_TASK | |
ACT_RU_FILTER | |
ACT_RU_IDENTITYLINK | |
ACT_RU_INCIDENT | |
ACT_RU_JOB | |
ACT_RU_JOBDEF | |
ACT_RU_METER_LOG | |
ACT_RU_TASK |
History Tables (履歴テーブル)
過去のプロセスインスタンスや変数、タスクなどの履歴データを保持するテーブル。
テーブル名 | 説明 |
---|---|
ACT_HI_ACTINST | |
ACT_HI_ATTACHMENT | |
ACT_HI_BATCH | |
ACT_HI_CASEACTINST | |
ACT_HI_CASEINST | |
ACT_HI_COMMENT | |
ACT_HI_DECINST | |
ACT_HI_DEC_IN | |
ACT_HI_DEC_OUT | |
ACT_HI_DETAIL | |
ACT_HI_IDENTITYLINK | |
ACT_HI_INCIDENT | |
ACT_HI_JOB_LOG | |
ACT_HI_OP_LOG | |
ACT_HI_PROCINST | |
ACT_HI_TASKINST | |
ACT_HI_VARINST |
Identity Tables (IDテーブル)
個人を識別するためのデータを保持するテーブル。
Camundaではユーザーを、テナント - グループ - ユーザーの3階層で管理する。
テナントは会社名に該当するような最上位カテゴリー、グループはテナント内の中間グループ、ユーザーは個人を表す。
テーブル名 | 説明 |
---|---|
ACT_ID_USER | ユーザー (個人) |
ACT_ID_GROUP | グループ (部署・チームなど) |
ACT_ID_TENANT | テナント (会社・組織など) |
ACT_ID_INFO | デフォルトでは使われてないっぽい。 |
ACT_ID_MEMBERSHIP |
ACT_ID_USER とACT_ID_GROUP のリレーションテーブル。(多対多) |
ACT_ID_TENANT_MEMBER |
ACT_ID_TENANT とACT_ID_USER 、ACT_ID_TENANT とACT_ID_GROUP のリレーションテーブル。(多対多) |
General Tables (その他テーブル)
上記に当てはまらないデータを保持するテーブル。
テーブル名 | 説明 |
---|---|
ACT_GE_BYTEARRAY | BPMN(XML)やPDFなどのデータを保持する。 |
ACT_GE_PROPERTY | 定数テーブル |