ADR-026 — Intel Silver Storage 정책 (Hybrid Storage)
| 항목 | 값 |
|---|---|
| Status | Accepted (2026-06-06) |
| Related ADR | ADR-025 (Iceberg V3 + Semantic Autopilot), ADR-006 (Ontology Layered Packaging) |
| Related PR | #1530 (결정 ADR), #1524 / #1591 / #1606 (PG Silver 정식화) |
한 줄 결정: Intel(데이터 인텔리전스) Silver 는 단일 저장소가 아니라 데이터 성격에 따른 하이브리드다. 구조화 canonical/fact(일봉 OHLCV·공시·기업·기사)는 PostgreSQL, 고카디널리티 시계열(분봉·틱 OHLCV)은 Iceberg only, 문서 인제스트 zone(cleaned·PII 마스킹)은 Iceberg 에 거주한다.
1. 배경 — 이름이 같은 두 개의 "Silver"
GenD 에는 이름은 같지만 책무·저장소가 다른 두 종류의 Silver 가 있어, 혼동하면 "왜 Silver 만 PostgreSQL 인가?" 같은 오해가 반복된다.
| Silver 종류 | 정의 | 저장소 |
|---|---|---|
| 문서 zone Silver | 문서 인제스트 파이프라인의 cleaned / PII-masked 단계 (zone=cleaned) | Iceberg (iceberg.<domain>.stg_*) |
| 구조화 Intel Silver | Intel 플랫폼의 canonical/fact 테이블 (공시·시세·기업·기사 등 구조화 레코드) | 하이브리드 (§2) |
Medallion 데이터 레이크 구조 의 "Silver = Iceberg" 표준은 문서 zone 에 대한 것이며, Intel 구조화 fact 테이블(intel_filings, intel_ohlcv_daily 등)에는 그대로 적용되지 않는다.
2. 결정 — 저장소 정책
| 버킷 | 대상 (예시) | 저장소 | 근거 |
|---|---|---|---|
| 구조화 canonical/fact | intel_filings, intel_companies, intel_articles, intel_ohlcv_daily, intel_financials, intel_macro 등 | PostgreSQL | 워크스페이스 ABAC 재사용, FK·UNIQUE 무결성, OLTP read, 이중 적재 회피 |
| entity_resolver | intel_companies, intel_company_aliases | PostgreSQL | corp_code ↔ CIK 정규화(MERGE)의 ground-truth — FK·uniqueness 강제 필수 |
| Derived (생성형) | Briefing, RiskReport, IndustryReport | PostgreSQL | 짧은 lifecycle + OLTP read-heavy + workspace_id NOT NULL 격리 |
| 고카디널리티 시계열 | intel_ohlcv_minute, tick | Iceberg only | partition pruning(trade_date) · time-travel ROI 큼, PostgreSQL 이중적재 안 함, Trino 직결 백테스트/차트 |
| 문서 zone Silver | cleaned / PII-masked 문서 | Iceberg | Medallion 문서 파이프라인 표준 |
3. 근거
PostgreSQL 거주 (구조화 fact·entity·derived)
- 워크스페이스 ABAC 재사용 — 테넌트 격리(row scope)·컬럼 마스킹·SQL 화이트리스트가 SQLAlchemy ORM 위에 구축돼 있다. Iceberg 이전 시 이 전부를 Trino RowFilter 로 재구현해야 한다.
- 무결성 — entity_resolver 는 FK·UNIQUE·MERGE 가 필수이며, Iceberg 는 이를 강제하지 않는다.
- 이중 적재 회피 — 일봉·공시는 PostgreSQL 단일 적재로 충분하며, Iceberg 병행은 backfill·compaction·dual-write 가드 비용만 추가한다.
- OLTP 적합 — Derived(브리핑·리스크)는 소량·read-heavy·짧은 lifecycle 로 partition / time-travel ROI 가 낮다.
Iceberg 거주 (분봉·틱·문서 zone)
- 고카디널리티 시계열 — 분봉·틱은 일봉의 수백 배 row 로 partition pruning + small-file compaction + time-travel ROI 가 압도적 → Iceberg only(PostgreSQL 미적재).
- 문서 zone — cleaned / masked 문서는 Medallion 표준에 따라 Iceberg.
4. 비목표
- 구조화 fact 의 PostgreSQL → Iceberg 일괄 이전(sweep) — 위 근거로 기각.
- cross-store join(PostgreSQL fact ↔ Iceberg 분봉)을 위한 Trino federation 카탈로그 정비 — 현 분석가 워크로드의 80% 가 일봉이라 우선순위 낮음, 필요 시 별도 결정.
- 문서 zone Silver 의 Iceberg 표준 변경 — 본 ADR 범위 밖(Medallion 구조 가 단일 소스).