1.8 KiB
1.8 KiB
데이터 정합성·정규화·역정규화 기준
1. 계층
| 계층 | 내용 | 불변조건 |
|---|---|---|
| L0 | Source catalog/license/SLA/schema | 승인 없는 source 사용 금지 |
| L1 | Raw payload/hash/event/published/ingested | append-only, overwrite 금지 |
| L2 | Canonical PIT 가격/기업행사/재무/비용 | revision·valid time·tradable session |
| L3 | DQ/quarantine/lineage/dataset manifest | 격리 데이터 추천 금지 |
| L4 | Feature/Forecast/Risk/Evidence | Dataset/Model/Config/Code SHA |
| L5 | Ledger/Decision/Review/Publish/Outcome | append/reversal/correction |
| L6 | Read Model | Owner/Version/Watermark/Rebuild/Staleness |
| L7 | Backtest/ModelCard/Release artifact | artifact hash/environment manifest |
2. 정규화
원장·현금·PositionLot·Fill·기업행사·비용 스케줄은 3NF와 원천 unique key를 사용한다. 정정은 UPDATE가 아니라 reversal/correction event로 처리한다. current=true 하나에 의존하지 않고 valid_from/to, revision, source hash를 보존한다.
3. 역정규화
화면·리포트 Read Model에서만 허용한다. 모든 Projection은 다음을 가진다.
- ProjectionName/Version
- SourceWatermark
- BuiltAt
- ContentHash
- RebuildRun
- Staleness 상태
- Write Model과의 diff 검사
4. PIT 최소 필드
source_event_time, published_at, ingested_at, effective_from/to, revision_no, source_id, content_hash, quality_status, tradable_session, dataset_id
5. 핵심 Golden 데이터
- 분할·배당·증자·합병·상폐
- 총수익과 가격수익 구분
- 통화/단위/거래일 캘린더
- Fee/Tax/FX valid-time
- 상폐수익과 당시 유니버스
- 재작성 공시/컨센서스 revision
데이터가 불완전하면 추천을 보류하거나 Evidence Grade를 낮춘다. 코드 기본값으로 조용히 대체하지 않는다.