1.8 KiB
1.8 KiB
데이터 정합성·정규화·역정규화 실행계약
L0~L7
| Layer | 내용 | 불변조건 |
|---|---|---|
| L0 | Source catalog/license/SLA/schema/timezone/unit | 승인 없는 소스 사용 금지 |
| L1 | Raw payload/hash/event/published/ingested | overwrite 금지 |
| L2 | Canonical PIT price/CA/fundamental/consensus/cost | revision+valid time |
| L3 | DQ/quarantine/lineage/dataset manifest | QUARANTINED 추천 금지 |
| L4 | Feature/Forecast/Risk/Evidence | data/model/config/code SHA |
| L5 | Ledger/Decision/Review/Publish/Fill/Outcome | append/reversal/correction event |
| L6 | UI/report Read Model | Owner/version/watermark/rebuild/staleness |
| L7 | Backtest/ModelCard/Release artifact | artifact hash |
정규화
원장·현금·Lot·주문·체결은 3NF와 append/reversal을 기본으로 한다. 현재상태와 이력, 추천과 공개, 모델버전과 승격 이벤트, 수수료 설정과 유효기간을 분리한다. current=true 하나로 과거값을 잃지 않는다.
역정규화
Read Model에만 허용한다. 화면 성능을 이유로 Source Table을 임의 join하거나 현재값을 복사하지 않는다. Projection은 ProjectionName, Version, SourceWatermark, LastEventId, BuiltAt, ContentHash를 보존하고 재구축·diff가 가능해야 한다.
PIT 최소 필드
source_event_time, published_at, ingested_at, effective_from/to, revision_no, source_id, content_hash, quality_status, tradable_session, dataset_id.
DQ Release Blocker
- same-session lookahead 0.
- 기업행사 가격·수량·원가·배당 공식대사.
- 가격수익/총수익 구분.
- 당시 유니버스와 상폐수익 포함.
- OHLC/단위/통화/비정상 gap 격리.
- key 중복·거래일 결측·watermark 연속성.
- Fee/Tax/FX valid-time.
- 동일 dataset/code/config hash 결과 재현.