32 lines
1.9 KiB
Markdown
32 lines
1.9 KiB
Markdown
# 데이터 정합성·정규화·역정규화·DBA 계약
|
|
|
|
## 데이터 계층
|
|
|
|
| Layer | 내용 | 불변조건 |
|
|
|---|---|---|
|
|
| L0 | Source/License/SLA/Schema/Timezone/Unit | 승인 없는 source 사용 금지 |
|
|
| L1 | Raw payload/event/published/ingested/hash | append-only, 원문 overwrite 금지 |
|
|
| L2 | Canonical PIT/revision/valid-time/tradable-session | lookahead 0 |
|
|
| L3 | DQ/Quarantine/Lineage/Dataset Manifest | 격리 데이터 추천 금지 |
|
|
| L4 | Feature/Forecast/Risk/Evidence VersionSet | Dataset/Model/Config/Code/Contract SHA |
|
|
| L5 | Ledger/Decision/Review/Publish/Outcome | correction/reversal event |
|
|
| L6 | Read Model | ProjectionVersion/Watermark/Stale/Rebuild |
|
|
| L7 | Backtest/ModelCard/Release Evidence | artifact hash/environment manifest |
|
|
|
|
## 정규화
|
|
|
|
원장, Lot, Fill, Cash, 기업행사, 비용표, Model Version, Metric Definition, Schedule, Request, Observation, Proposal, Review는 별도 엔터티로 관리한다. source key와 valid-time을 unique constraint로 보호한다. JSON은 원본 증거와 설명 bundle에 사용하되 핵심 조회키와 상태를 JSON에 숨기지 않는다.
|
|
|
|
## 역정규화
|
|
|
|
운영 Dashboard와 고객 리포트 Read Model에만 허용한다. 반드시 Owner, ProjectionVersion, SourceWatermark, BuiltAt, StaleAt, Rebuild command, diff 검증이 있어야 한다. Write Model을 화면에서 직접 조합하지 않는다.
|
|
|
|
## DBA P0
|
|
|
|
- 승인된 규모에 따라 partition/index/retention을 결정한다. 근거 없는 선제 partition은 금지한다.
|
|
- migration fresh/upgrade/re-run/failure-recovery 4시나리오를 자동화한다.
|
|
- append-only trigger와 correction workflow를 maker-checker E2E로 실증한다.
|
|
- PIT 핵심 테이블의 `published_at <= decision_cutoff`를 query/test 모두에서 검증한다.
|
|
- total return, delisting return, split/dividend/right/merger가 Lot·현금·원가에 일관되게 반영되는 Golden을 만든다.
|
|
- backup/restore와 RPO/RTO를 실제 측정한다.
|