Skip to content

<- Concepts

転送実行記録

転送実行が生成する実行引数記録兼プロセスヘッダー
id transfer-runformat schema v2
defined
validation: okcoverage: completeopen questions none
meaning: presentresponsibilities: presentboundaries: presentinvariants: presentrationale: presentevidence: presentlinked concepts: present

Open Questions

  • None

Definition Statements

Meaning

7 statements

StatementText
転送実行が生成する実行引数記録兼プロセスヘッダー
transfer-execution-run-arguments-record-produce
転送実行記録とは、`転送実行` が生成する実行引数記録兼プロセスヘッダーである。
Transfer Execution の引数を記録
transfer-execution-run-record
Transfer Run は、`Transfer Execution` の引数を記録する。
実行開始時の引数と、実行全体のライフサイクル状態を保持
transfer-run-lifecycle-state-hold
Transfer Run は、実行開始時の引数と、実行全体のライフサイクル状態を保持する。
必ず1つの Transfer Setting を対象に
transfer-run-setting-target-requires-one
Transfer Run は、必ず1つの `Transfer Setting` を対象にする。
Transfer Setting が分かれば、その転送設定に紐づく Destination 群を特定できる
destination-transfer-setting-belongs
`Transfer Setting` が分かれば、その転送設定に紐づく `Destination` 群を特定できる。
Transfer Execution に従属
transfer-execution-run
Transfer Run は、`Transfer Execution` に従属する。
転送実行が生成する実行引数記録兼プロセスヘッダーであり、事前に積まれるキューではない。
transfer-execution-run-arguments-record-produce-2
Transfer Run は、`Transfer Execution` が生成する実行引数記録兼プロセスヘッダーであり、事前に積まれるキューではない。

Responsibilities

8 statements

StatementText
どの Transfer Setting に対する実行かを示す
transfer-run-setting
Transfer Run は、どの `Transfer Setting` に対する実行かを示す。
実行開始時の任意引数を保持
transfer-run-optional-arguments-hold
Transfer Run は、実行開始時の任意引数を保持する。
実行全体のライフサイクル状態を示す
transfer-run-lifecycle-state
Transfer Run は、実行全体のライフサイクル状態を示す。
Transfer Execution のプロセスヘッダーとして、監査やデバッグで参照できる実行文脈を提供
transfer-execution-run-context-reference
Transfer Run は、`Transfer Execution` のプロセスヘッダーとして、監査やデバッグで参照できる実行文脈を提供する。
後続の Lineage や Dirty Key Processing から参照できる実行単位を提供
dirty-key-processing-lineage-transfer-run-unit-reference
Transfer Run は、後続の `Lineage` や `Dirty Key Processing` から参照できる実行単位を提供する。
日次、月次、手動、再実行などの実行契機の由来や分類を記録してよい。
transfer-run-record
Transfer Run は、日次、月次、手動、再実行などの実行契機の由来や分類を記録してよい。
必要に応じて転送元スナップショットを取った時点を説明できる情報を保持してよい。
transfer-run-source-hold
Transfer Run は、必要に応じて転送元スナップショットを取った時点を説明できる情報を保持してよい。
必要に応じて実行者、開始日時、終了日時、エラー情報などを保持してよい。
transfer-run-hold
Transfer Run は、必要に応じて実行者、開始日時、終了日時、エラー情報などを保持してよい。

Boundaries

10 statements

StatementTextSimilarity negated
転送対象行を直接管理しない
not-transfer-run-target-row-manage
Transfer Run は転送対象行を直接管理しない。-
どの行を転送すべきかを管理しない
not-transfer-run-manage
Transfer Run は、どの行を転送すべきかを管理しない。-
転送対象かどうかは、Transfer Target Decision で判断
not-transfer-target-context-decide-work-item
転送対象かどうかは、`Transfer Target Decision` で判断する。-
Destination の定義を持たない。
not-destination-transfer-run
Transfer Run は `Destination` の定義を持たない。destination
転送元 SQL や転送先 SQL を持たない。
not-transfer-run-source-destination-sql
Transfer Run は転送元 SQL や転送先 SQL を持たない。-
転送先行の由来追跡を管理しない
not-lineage-transfer-run-destination-row-trace-manage
Transfer Run は、転送先行の由来追跡を管理しない。lineage
赤伝時に参照すべき現在有効な黒を管理しない
not-transfer-run-active-black-red-reference-manage
Transfer Run は、赤伝時に参照すべき現在有効な黒を管理しない。-
変更検知履歴の登録方法を定義しない
not-transfer-run-change-detection-history-define
Transfer Run は、変更検知履歴の登録方法を定義しない。-
転送対象行がどのように固定化されるかの具体手順を定義しない
not-transfer-run-target-row-define
Transfer Run は、転送対象行がどのように固定化されるかの具体手順を定義しない。-
スケジューリングそのものを管理しない
not-transfer-run-manage-2
Transfer Run は、スケジューリングそのものを管理しない。-

Invariants

10 statements

StatementText
必ず1つの Transfer Setting を対象に
transfer-run-setting-target-requires-one-2
Transfer Run は、必ず1つの `Transfer Setting` を対象にする。
Transfer Execution によって生成される。
transfer-execution-run-produce
Transfer Run は、`Transfer Execution` によって生成される。
Transfer Execution に従属
transfer-execution-run-2
Transfer Run は、`Transfer Execution` に従属する。
実行開始時の引数を後から追跡できる形で保持
transfer-run-trace-hold
Transfer Run は、実行開始時の引数を後から追跡できる形で保持する。
の任意引数は、Transfer Setting の基礎 SQL で利用される可能性があるが、その解釈は Transfer Run 単独では決まらない
transfer-run-setting-base-sql-optional-arguments
Transfer Run の任意引数は、`Transfer Setting` の基礎 SQL で利用される可能性があるが、その解釈は Transfer Run 単独では決まらない。
転送対象行の正本ではない。
transfer-run-target-row
Transfer Run は、転送対象行の正本ではない。
転送対象行を受け付けない。
transfer-run-target-row-2
Transfer Run は、転送対象行を受け付けない。
Lineage や Dirty Key Processing から参照可能である必要がある。
dirty-key-processing-lineage-transfer-run-reference
Transfer Run は、`Lineage` や `Dirty Key Processing` から参照可能である必要がある。
が転送元スナップショットの時点を保持する場合、その情報は Lineage から参照される実行文脈として扱う
lineage-transfer-run-source-context-reference-hold
Transfer Run が転送元スナップショットの時点を保持する場合、その情報は `Lineage` から参照される実行文脈として扱う。
の状態は、実行全体のライフサイクル状態を示すものであり、個別の実行試行、Destination ごとの成否、キーごとの処理結果を表すものではない
destination-transfer-run-lifecycle-state
Transfer Run の状態は、実行全体のライフサイクル状態を示すものであり、個別の実行試行、`Destination` ごとの成否、キーごとの処理結果を表すものではない。

Rationale

6 statements

StatementText
Targets One Transfer Setting
destination-transfer-execution-run-setting-arguments-target-record
Transfer Run Targets One Transfer Setting: Transfer Run は、`Transfer Execution` が生成する実行引数記録兼プロセスヘッダーである。 Transfer Run は、必ず1つの `Transfer Setting` を対象にする。 `Transfer Setting` が分かれば、その `Transfer Setting` に紐づく `Destination` 群を特定できる。 Transfer Run は、`Transfer Execution` がどの `Transfer Setting` を実行対象にしたかを示す。
Run Arguments Are Run Conditions
transfer-execution-run-setting-base-sql-optional-arguments
Run Arguments Are Run Conditions: Transfer Run は、`Transfer Execution` の実行開始時任意引数を持ってよい。 任意引数の例: - 処理日 - 対象年月 - 支店 - 顧客 - 実行者 - 再実行理由 - 手動実行フラグ これらの引数は、`Transfer Setting` の基礎 SQL で条件値として利用される可能性がある。 ただし、Transfer Run はそれらの引数をどのように SQL へ反映するかを定義しない。 任意検索条件の具体的な扱いは、`Transfer Setting` の基礎 SQL と [SSSQL](/guide/sssql-overview) に従う。
Run Status Is Run Lifecycle State
destination-transfer-run-state-status-lifecycle-yaml-created
Run Status Is Run Lifecycle State: Transfer Run は、実行に対する進捗状態を持ってよい。 状態の例: ```yaml run_status: - created - running - succeeded - failed - cancelled ``` この状態は、実行全体の状態を示す。 個別の実行試行、`Destination` ごとの成否、キーごとの処理結果を表すものではない。 状態値の最終的な集合は、後続の実装 Issue で決めてよい。 ただし、Transfer Run の状態は「実行全体の進捗」を表す、という意味を変えてはならない。
Is Generated by Execution
transfer-execution-run-arguments-record-produce-generated
Transfer Run Is Generated by Execution: Transfer Run は、`Transfer Execution` が生成するプロセスヘッダーである。 `Transfer Execution` が Transfer Run を取り出して実行するのではなく、`Transfer Execution` が実行引数を Transfer Run として記録する。
Does Not Own Target Rows
transfer-run-target-row-context-decide-does-not
Transfer Run Does Not Own Target Rows: Transfer Run は、転送実行の条件を管理する。 Transfer Run は、転送対象行を受け付けるものではない。 どの行を転送すべきかは、`Work Item` の文脈で判断する。 Transfer Run は、転送対象行の正本ではない。
Is Referenced by Later Records
dirty-key-processing-lineage-transfer-run-source-destination
Transfer Run Is Referenced by Later Records: Transfer Run は、後続の `Lineage` や `Dirty Key Processing` から参照される実行単位である。 `Lineage` は、どの転送元キーが、どの転送先キーへ、どの実行で転送されたかを記録する。 `Lineage` が参照するスナップショットの時点は、Transfer Run の実行文脈として説明される。 Transfer Run は、`Lineage` が参照する実行文脈である。 `Dirty Key Processing` は、どの実行で Dirty Key が処理されたかと、その処理結果を記録する。
  • None

External Relationships

ConceptKindReasonSupported byEvidence
転送設定
transfer-setting
targetsTransfer Run は必ず1つの Transfer Setting を対象にする。destination-transfer-setting-belongs, transfer-run-setting, transfer-run-setting-target-requires-one-2spec:transfer-run
転送設定
transfer-setting
must-not-redefineTransfer Run は Transfer Setting の内容を再定義しない。destination-transfer-setting-belongs, transfer-run-setting, transfer-run-setting-target-requires-one-2spec:transfer-run
変更キー
dirty-key
must-not-redefineTransfer Run は Dirty Key の意味を再定義しない。dirty-key-processing-lineage-transfer-run-unit-reference, dirty-key-processing-lineage-transfer-run-reference, dirty-key-processing-lineage-transfer-run-source-destinationspec:transfer-run

Coverage

AreaCoverageReasonResolution criteria
definitioncompleteconcept.json の意味、責務、境界、不変条件、理由を curated statement として移植済み。-
relationshipscompleteconcept-relationship.json と移行元 concept.json の外部関係を反映済み。-

Evidence

Evidence IDTypePathExists
spec:transfer-runspecconcept.jsonyes

Validation

  • No validation issues.

Technical Metadata

  • Source JSON: packages/transfer/docs/concepts/transfer-run/concept.json

Released under the MIT License.