Data Infrastructure Patterns
대규모 데이터 시스템의 반복되는 아키텍처 패턴과 트레이드오프
개요
데이터 인프라는 반복되는 아키텍처 패턴의 조합이다. 각 패턴은 특정 문제를 해결하지만 고유한 트레이드오프를 수반한다.
데이터 이동과 변환
| 패턴 | 핵심 문제 | 대표 사례 |
|---|---|---|
| Change Data Capture | 풀 테이블 복사의 비효율성 | Debezium + Postgres WAL |
| Transactional Outbox Pattern | DB 트랜잭션과 메시지 발행의 원자성 | Zapier SQLite 샤딩 |
| Medallion Architecture | 원시→정제→비즈니스 데이터의 계층화 | Bronze/Silver/Gold |
| Semantic Layer | 데이터와 비즈니스 의미의 연결 | Context Store, ECL 프레임워크, Context Architect |
쿼리 실행과 최적화
| 패턴 | 핵심 문제 | 대표 사례 |
|---|---|---|
| Query Optimization | 쿼리 비용 절감과 라우팅 | PostgreSQL Portable Stats, Trino Gateway |
| DuckDB | 개발 환경 웨어하우스 비용 절감 | SQL 트랜스파일링, DuckLake |
| Spark at Scale | 대규모 분산 처리 운영 | Informatica Spark++, S3 Shuffle |
실시간 처리
| 패턴 | 핵심 문제 | 대표 사례 |
|---|---|---|
| Real-Time Stream Processing | 저지연 이벤트 처리 | Spark Real-Time, Volga |
| Feature Store | ML 피처의 일관된 계산과 서빙 | Volga Request Mode, Tiling |
데이터 통합과 거버넌스
| 패턴 | 핵심 문제 | 대표 사례 |
|---|---|---|
| 통합 인테그레이션 | 이기종 파트너 시스템 간 데이터 동기화 | LinkedIn BuildIn/BuildOut + Temporal |
| LLM 기반 거버넌스 | 스키마 진화에 대응하는 PII 자동 분류 | Databricks LogSentinel |
| Knowledge Representation | 데이터에 구조적 의미 부여 | 온톨로지, 컨텍스트 그래프 |
스토리지 진화
| 패턴 | 핵심 문제 | 대표 사례 |
|---|---|---|
| Object Storage Evolution | 멀티모달 데이터 접근 | S3 Tables, S3 Vectors, S3 Files |
| Catalog-Managed Tables | 파일시스템 경로 의존성 | Delta Lake 4.1 + Unity Catalog |
메시지 큐 및 스트리밍
| 패턴 | 핵심 문제 | 대표 사례 |
|---|---|---|
| Real-Time Stream Processing | S3 기반 Kafka 대체 | AutoMQ (무상태 브로커, 공유 스토리지) |
| Kafka 컨슈머 관리 | 파티션 관리 복잡성 | Uber uForwarder (gRPC Push 프록시) |
| Kafka 리밸런스 | 글로벌 동기화 장벽 | KIP-848 (서버 사이드 점진적 할당) |
| 실시간 Upsert | append-only 스토리지 버전 누적 | Apache Pinot SegmentRefreshTask |
| Interval-Aware 캐싱 | 롤링 윈도우 반복 쿼리 | Netflix Druid 프록시 (82% 캐시 히트) |
데이터 품질
| 패턴 | 핵심 문제 | 대표 사례 |
|---|---|---|
| Data Quality and Validation | 다계층 데이터 검증 | Netflix Data Canary, Halodoc 4계층 |
| Data Contracts | 생산자-소비자 품질 합의 | 50개 프로덕션 구현 분석 |
실행 엔진과 동시성
| 패턴 | 핵심 문제 | 대표 사례 |
|---|---|---|
| Columnar Execution Engine | JVM 오버헤드 우회 | Velox + Gluten, Microsoft Fabric |
| Database Concurrency Control | 고동시성 인덱스 운영 | PostgreSQL Blink-tree |
| Distributed Systems Reliability | 조용한 장애 방지 | ClickHouse 분산 큐, Pinterest 쿼터 |
| Spot Instance Management | 비용-신뢰성 균형 | Karpenter, Spark on Spot |
공통 교훈
- 단순한 것부터: 복잡한 아키텍처보다 경계와 운영 규율이 중요
- 비용 인지: S3 API 비용, 웨어하우스 컴퓨트 비용 등 숨겨진 비용 관리
- 통합 엔진 추세: 스트리밍/배치/서빙을 단일 엔진으로 통합하려는 움직임
- CDC 기반 인제스천: 풀 테이블 복사에서 변경분만 캡처하는 통합 프레임워크로 전환
관련 이슈: DEW #256, #257, #258, #261, #262, #263, #264, #265 | DE 시리즈