黒伝転送
転送元の現在値を転送先へコピーし、黒伝を作る通常転送
defined
validation: okcoverage: completeopen questions none
meaning: presentresponsibilities: presentboundaries: presentinvariants: presentrationale: presentevidence: presentlinked concepts: present
Open Questions
- None
Definition Statements
Meaning
11 statements
| Statement | Text |
|---|---|
転送元の現在値を転送先へコピーすること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
| Statement | Text |
|---|---|
転送元の現在値を転送先へコピーする通常転送を説明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
| Statement | Text | Similarity 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
| Statement | Text |
|---|---|
転送元の現在値を転送先へコピー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
| Statement | Text |
|---|---|
Is the Normal Snapshot Transferblack-transfer-source-destination-reference-not-guarantee-match | Black Transfer Is the Normal Snapshot Transfer: Black Transfer は、転送元の現在値を転送先へコピーする。 これは、転送時点で参照した転送元データを転送先に残すスナップショットである。 ここでいうスナップショットは、転送時点で参照した値を転送先へ作るという意味であり、転送元の将来の現在値と一致し続けることを保証しない。 |
Depends on Transfer Modelblack-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 Transferblack-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 Blackblack-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 Lineageblack-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` は作成しない。 |
Internal Links
- None
External Relationships
| Concept | Kind | Reason | Supported by | Evidence |
|---|---|---|---|---|
有効黒伝active-black | uses | Black Transfer は二重転送を防ぐために Active Black を参照し、生成または更新した黒伝を Active Black にする。 | reference-decide-active-black, black-transfer-reference-active, black-transfer-create-active-2 | spec:black-transfer |
転送先仕様destination | uses | Black Transfer は Destination 側に黒伝を作る。 | black-transfer-source-destination-2, black-transfer-destination, black-transfer-source-destination-3 | spec:black-transfer |
由来追跡lineage | records | immutable transfer model では、成功した Black Transfer が転送元データ行と黒伝の対応を Lineage として記録する。 | black-transfer-lineage-create-immutable-model, black-transfer-lineage-create-immutable-model-2, lineage-create-mutable-transfer-model | spec:black-transfer |
赤伝転送red-transfer | is-distinct-from | Black Transfer は現在の転送元値をコピーして黒伝を作り、Red Transfer は反転する赤伝を作る。 | not-black-transfer-red-define, black-transfer-source-destination-2, black-transfer-destination | spec:black-transfer |
Coverage
| Area | Coverage | Reason | Resolution criteria |
|---|---|---|---|
definition | complete | concept.json の意味、責務、境界、不変条件、理由を curated statement として移植済み。 | - |
relationships | complete | concept-relationship.json と移行元 concept.json の外部関係を反映済み。 | - |
Evidence
| Evidence ID | Type | Path | Exists |
|---|---|---|---|
spec:black-transfer | spec | concept.json | yes |
Validation
- No validation issues.
Technical Metadata
- Source JSON:
packages/transfer/docs/concepts/black-transfer/concept.json