Skip to content

<- Concepts

黒伝転送

転送元の現在値を転送先へコピーし、黒伝を作る通常転送
id black-transferformat schema v2
defined
validation: okcoverage: completeopen questions none
meaning: presentresponsibilities: presentboundaries: presentinvariants: presentrationale: presentevidence: presentlinked concepts: present

Open Questions

  • None

Definition Statements

Meaning

11 statements

StatementText
転送元の現在値を転送先へコピーすること
black-transfer-source-destination
Black Transfer とは、転送元の現在値を転送先へコピーすることである。
転送時点で参照した転送元データのスナップショットを転送先へ作る。
black-transfer-source-destination-reference
Black Transfer は、転送時点で参照した転送元データのスナップショットを転送先へ作る。
黒伝とは、Black Transfer によって作られた転送先行
black-transfer-destination-row
黒伝とは、Black Transfer によって作られた転送先行である。
Black Insert Transfer とは、Black Transfer のうち、新しい黒伝を追加する転送表現
black-insert-transfer
Black Insert Transfer とは、Black Transfer のうち、新しい黒伝を追加する転送表現である。
Black Update Transfer とは、Black Transfer のうち、mutable transfer model で既存の黒伝を直接 UPDATE して現在値を反映する転送表現
black-transfer-update-mutable-model
Black Update Transfer とは、Black Transfer のうち、`mutable transfer model` で既存の黒伝を直接 UPDATE して現在値を反映する転送表現である。
immutable transfer model では、Black Transfer は Black Insert Transfer として表現される
black-insert-transfer-immutable-model
`immutable transfer model` では、Black Transfer は Black Insert Transfer として表現される。
mutable transfer model では、Black Transfer は状況に応じて Black Insert Transfer または Black Update Transfer として表現される
black-insert-transfer-update-mutable-model
`mutable transfer model` では、Black Transfer は状況に応じて Black Insert Transfer または Black Update Transfer として表現される。
同じ Transfer Setting、Destination Link、source key の文脈で、同じ転送元状態を二重転送しない
black-transfer-destination-link-setting-source-context-state
Black Transfer は、同じ `Transfer Setting`、`Destination Link`、`source key` の文脈で、同じ転送元状態を二重転送しない。
転送対象判定は、既存の Active Black を参照して二重転送を避けられる必要がある。
reference-decide-active-black
転送対象判定は、既存の `Active Black` を参照して二重転送を避けられる必要がある。
が成功すると、作成または更新された黒伝は Active Black になる。
black-transfer-create-active
Black Transfer が成功すると、作成または更新された黒伝は `Active Black` になる。
immutable transfer model の Black Transfer が成功すると、Active Black に加えて Lineage も作成される
black-transfer-lineage-create-immutable-model-active
`immutable transfer model` の Black Transfer が成功すると、`Active Black` に加えて `Lineage` も作成される。

Responsibilities

6 statements

StatementText
転送元の現在値を転送先へコピーする通常転送を説明
black-transfer-source-destination-2
Black Transfer は、転送元の現在値を転送先へコピーする通常転送を説明する。
転送先に黒伝を追加または更新
black-transfer-destination
Black Transfer は、転送先に黒伝を追加または更新する。
Black Insert Transfer と Black Update Transfer の上位概念として扱う
black-insert-transfer-update
Black Transfer は、Black Insert Transfer と Black Update Transfer の上位概念として扱う。
二重転送を避けるために既存の Active Black を参照できる必要がある。
black-transfer-reference-active
Black Transfer は、転送対象判定が二重転送を避けるために参照した既存の `Active Black` に対応できる必要がある。
成功時に作成または更新された黒伝を Active Black として扱えるように
black-transfer-create-active-2
Black Transfer は、成功時に作成または更新された黒伝を `Active Black` として扱えるようにする。
immutable transfer model では成功時に Lineage を作成できるように
black-transfer-lineage-create-immutable-model
Black Transfer は、`immutable transfer model` では成功時に `Lineage` を作成できるようにする。

Boundaries

8 statements

StatementTextSimilarity negated
Red Transfer の意味を定義しない
not-black-transfer-red-define
Black Transfer は、`Red Transfer` の意味を定義しない。red-transfer
取消や訂正を表現しない
not-black-transfer
Black Transfer は、取消や訂正を表現しない。-
転送対象行を決定しない
not-black-transfer-target-row-decide
Black Transfer は、転送対象行を決定しない。-
転送対象かどうかは、Transfer Target Decision で判断
not-transfer-target-context-decide-work-item
転送対象かどうかは、`Transfer Target Decision` で判断する。-
Active Black の保存形式を定義しない
not-black-transfer-define-active
Black Transfer は、`Active Black` の保存形式を定義しない。-
Lineage の保存形式を定義しない
not-black-transfer-lineage-define
Black Transfer は、`Lineage` の保存形式を定義しない。lineage
転送 SQL の生成手順や実行手順を定義しない
not-black-transfer-produce-define-sql
Black Transfer は、転送 SQL の生成手順や実行手順を定義しない。-
source-to-destination mapping の具体的な計算手順を定義しない
not-black-transfer-destination-define-source-mapping
Black Transfer は、source-to-destination mapping の具体的な計算手順を定義しない。destination

Invariants

10 statements

StatementText
転送元の現在値を転送先へコピー
black-transfer-source-destination-3
Black Transfer は、転送元の現在値を転送先へコピーする。
取消や訂正のための反転行を作らない。
black-transfer
Black Transfer は、取消や訂正のための反転行を作らない。
immutable transfer model では、Black Transfer は Black Insert Transfer として黒伝を追加
black-insert-transfer-immutable-model-2
`immutable transfer model` では、Black Transfer は Black Insert Transfer として黒伝を追加する。
mutable transfer model では、Active Black がない場合は Black Insert Transfer として黒伝を追加
black-insert-transfer-mutable-model-active
`mutable transfer model` の追加転送候補では、Black Transfer は Black Insert Transfer として黒伝を追加する。
mutable transfer model では、Active Black がある場合は Black Update Transfer として既存の黒伝を直接 UPDATE して現在値を反映
black-update-transfer-mutable-model-active
`mutable transfer model` の更新転送候補では、Black Transfer は Black Update Transfer として既存の黒伝を直接 UPDATE して現在値を反映する。
同じ Transfer Setting、Destination Link、source key の文脈で、同じ転送元状態を二重転送しない
black-transfer-destination-link-setting-source-context-state-2
Black Transfer は、同じ `Transfer Setting`、`Destination Link`、`source key` の文脈で、同じ転送元状態を二重転送しない。
同じ Transfer Setting、Destination Link、source key の文脈における既存の Active Black を二重転送判断の材料として扱える必要がある
black-transfer-destination-link-setting-context-decide-source
Black Transfer は、同じ `Transfer Setting`、`Destination Link`、`source key` の文脈における既存の `Active Black` を前提にした転送対象判定の結果に対応できる必要がある。
が成功した場合、対応する黒伝は Active Black になる。
black-transfer-active
Black Transfer が成功した場合、対応する黒伝は `Active Black` になる。
immutable transfer model では、Black Transfer の成功時に Lineage が作成される。
black-transfer-lineage-create-immutable-model-2
`immutable transfer model` では、Black Transfer の成功時に `Lineage` が作成される。
mutable transfer model では、この文書で定義する Lineage は作成されない。
lineage-create-mutable-transfer-model
`mutable transfer model` では、この文書で定義する `Lineage` は作成されない。

Rationale

5 statements

StatementText
Is the Normal Snapshot Transfer
black-transfer-source-destination-reference-not-guarantee-match
Black Transfer Is the Normal Snapshot Transfer: Black Transfer は、転送元の現在値を転送先へコピーする。 これは、転送時点で参照した転送元データを転送先に残すスナップショットである。 ここでいうスナップショットは、転送時点で参照した値を転送先へ作るという意味であり、転送元の将来の現在値と一致し続けることを保証しない。
Depends on Transfer Model
black-insert-transfer-update-destination-row-depends-model
Black Transfer Depends on Transfer Model: Black Transfer は、transfer model によって転送先への反映方法が変わる。 `immutable transfer model` では、転送先行を直接更新しないため、Black Transfer は Black Insert Transfer として新しい黒伝を追加する。 `mutable transfer model` では、転送先行を直接更新できるため、Black Transfer は Black Insert Transfer または Black Update Transfer として表現される。どちらを選ぶかの判定正本は `Transfer Target Decision` が所有する。
Must Avoid Duplicate Transfer
black-transfer-destination-link-setting-source-context-state-3
Black Transfer Must Avoid Duplicate Transfer: Black Transfer は、同じ `Transfer Setting`、`Destination Link`、`source key` の文脈で、同じ転送元状態を二重転送しない。 既に有効な黒伝が存在する場合、それは同じ `Transfer Setting`、`Destination Link`、`source key` の文脈における `Active Black` として参照できる必要がある。 `Active Black` は、Black Transfer が新しい黒伝を作るべきか、既に有効な黒伝があるかを判断する材料になる。
Successful Black Transfer Creates Active Black
black-transfer-destination-record-exists-successful-creates-active
Successful Black Transfer Creates Active Black: Black Transfer が成功すると、転送先に黒伝が存在する。 その黒伝がまだ取り消されていない場合、`Active Black` として扱われる。 `mutable transfer model` では、転送成功時に `Active Black` を記録できる必要がある。 `immutable transfer model` でも、転送成功時に `Active Black` を記録できる必要がある。
Immutable Black Transfer Also Creates Lineage
black-transfer-lineage-physical-delete-destination-row-source
Immutable Black Transfer Also Creates Lineage: `immutable transfer model` では、転送先行を履歴として積み増す。 そのため、Black Transfer が成功した場合、転送元データソースの論理行と黒伝の対応を `Lineage` として追跡できる必要がある。 `mutable transfer model` では、転送先行を直接更新または `Physical Delete Transfer` で削除するため、この文書で定義する `Lineage` は作成しない。
  • None

External Relationships

ConceptKindReasonSupported byEvidence
有効黒伝
active-black
usesBlack Transfer は二重転送を防ぐために Active Black を参照し、生成または更新した黒伝を Active Black にする。reference-decide-active-black, black-transfer-reference-active, black-transfer-create-active-2spec:black-transfer
転送先仕様
destination
usesBlack Transfer は Destination 側に黒伝を作る。black-transfer-source-destination-2, black-transfer-destination, black-transfer-source-destination-3spec:black-transfer
由来追跡
lineage
recordsimmutable transfer model では、成功した Black Transfer が転送元データ行と黒伝の対応を Lineage として記録する。black-transfer-lineage-create-immutable-model, black-transfer-lineage-create-immutable-model-2, lineage-create-mutable-transfer-modelspec:black-transfer
赤伝転送
red-transfer
is-distinct-fromBlack Transfer は現在の転送元値をコピーして黒伝を作り、Red Transfer は反転する赤伝を作る。not-black-transfer-red-define, black-transfer-source-destination-2, black-transfer-destinationspec:black-transfer

Coverage

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

Evidence

Evidence IDTypePathExists
spec:black-transferspecconcept.jsonyes

Validation

  • No validation issues.

Technical Metadata

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

Released under the MIT License.