Data Infrastructure Patterns

대규모 데이터 시스템의 반복되는 아키텍처 패턴과 트레이드오프


개요

데이터 인프라는 반복되는 아키텍처 패턴의 조합이다. 각 패턴은 특정 문제를 해결하지만 고유한 트레이드오프를 수반한다.

데이터 이동과 변환

패턴핵심 문제대표 사례
Change Data Capture풀 테이블 복사의 비효율성Debezium + Postgres WAL
Transactional Outbox PatternDB 트랜잭션과 메시지 발행의 원자성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 StoreML 피처의 일관된 계산과 서빙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 ProcessingS3 기반 Kafka 대체AutoMQ (무상태 브로커, 공유 스토리지)
Kafka 컨슈머 관리파티션 관리 복잡성Uber uForwarder (gRPC Push 프록시)
Kafka 리밸런스글로벌 동기화 장벽KIP-848 (서버 사이드 점진적 할당)
실시간 Upsertappend-only 스토리지 버전 누적Apache Pinot SegmentRefreshTask
Interval-Aware 캐싱롤링 윈도우 반복 쿼리Netflix Druid 프록시 (82% 캐시 히트)

데이터 품질

패턴핵심 문제대표 사례
Data Quality and Validation다계층 데이터 검증Netflix Data Canary, Halodoc 4계층
Data Contracts생산자-소비자 품질 합의50개 프로덕션 구현 분석

실행 엔진과 동시성

패턴핵심 문제대표 사례
Columnar Execution EngineJVM 오버헤드 우회Velox + Gluten, Microsoft Fabric
Database Concurrency Control고동시성 인덱스 운영PostgreSQL Blink-tree
Distributed Systems Reliability조용한 장애 방지ClickHouse 분산 큐, Pinterest 쿼터
Spot Instance Management비용-신뢰성 균형Karpenter, Spark on Spot

공통 교훈

  1. 단순한 것부터: 복잡한 아키텍처보다 경계와 운영 규율이 중요
  2. 비용 인지: S3 API 비용, 웨어하우스 컴퓨트 비용 등 숨겨진 비용 관리
  3. 통합 엔진 추세: 스트리밍/배치/서빙을 단일 엔진으로 통합하려는 움직임
  4. CDC 기반 인제스천: 풀 테이블 복사에서 변경분만 캡처하는 통합 프레임워크로 전환

관련 이슈: DEW #256, #257, #258, #261, #262, #263, #264, #265 | DE 시리즈