Data Infrastructure Patterns
대규모 데이터 시스템의 반복되는 아키텍처 패턴과 트레이드오프
개요
데이터 인프라는 반복되는 아키텍처 패턴의 조합이다. 각 패턴은 특정 문제를 해결하지만 고유한 트레이드오프를 수반한다.
데이터 이동과 변환
쿼리 실행과 최적화
실시간 처리
데이터 통합과 거버넌스
| 패턴 | 핵심 문제 | 대표 사례 |
|---|
| 통합 인테그레이션 | 이기종 파트너 시스템 간 데이터 동기화 | LinkedIn BuildIn/BuildOut + Temporal |
| LLM 기반 거버넌스 | 스키마 진화에 대응하는 PII 자동 분류 | Databricks LogSentinel |
| Knowledge Representation | 데이터에 구조적 의미 부여 | 온톨로지, 컨텍스트 그래프 |
스토리지 진화
메시지 큐 및 스트리밍
| 패턴 | 핵심 문제 | 대표 사례 |
|---|
| 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 Pipeline Fundamentals | 파이프라인 유형·로딩 전략·백필 | SeattleDataGuy 시리즈 |
| Full Refresh vs Incremental | 비용-구현 난이도 트레이드오프 | WAP 패턴, dbt materialization |
| 소스 표준화 | 이기종 데이터 통합 | SFTP/API 멀티소스 매핑 |
| 데이터 스택 복잡성 | 레이어·도구 스프롤 | 37+ 도구 스택, 프랙탈 시스템 |
공통 교훈
- 단순한 것부터: 복잡한 아키텍처보다 경계와 운영 규율이 중요
- 비용 인지: S3 API 비용, 웨어하우스 컴퓨트 비용 등 숨겨진 비용 관리
- 통합 엔진 추세: 스트리밍/배치/서빙을 단일 엔진으로 통합하려는 움직임
- CDC 기반 인제스천: 풀 테이블 복사에서 변경분만 캡처하는 통합 프레임워크로 전환
- 레이어 추가 전 검증: 문제 정의, 미추가 시 영향, 6개월 후 소유권의 3가지 질문
관련 이슈: DEW #256, #257, #258, #261, #262, #263, #264, #265 | SeattleDataGuy 시리즈