Distributed SQL Engine Operations

대규모 분산 SQL 엔진(Trino, Presto)의 멀티클러스터 라우팅, 워크로드 격리, 운영 관리 패턴


핵심 개념

대규모 조직에서 분석 SQL 엔진은 단일 클러스터로 운영할 수 없다. 워크로드 유형(Ad-hoc, ETL, BI)별 격리, 쿼리 라우팅, 무중단 업그레이드가 핵심 운영 과제이며, Gateway/Proxy 패턴이 표준 해법으로 자리잡았다.

Trino Gateway — Expedia 사례

Lyft의 Presto Gateway를 포크한 단일 엔드포인트 프록시:

워크로드 격리

  • Ad-hoc 클러스터: 탐색적 분석 (저복잡, 다양한 쿼리)
  • ETL 클러스터: 고복잡 대용량 변환 (장시간 실행)
  • BI 클러스터: 저복잡 고동시성 (Tableau/Looker 쿼리)

라우팅 룰

  • 대형 테이블 쿼리 → 전용 클러스터로 라우팅
  • 메타데이터 쿼리(select version(), show catalogs) → 경량 클러스터로 분리
  • BI 도구 쿼리 → BI 전용 클러스터로 격리

운영 기능

  • Blue/Green 또는 Canary 배포로 무중단 클러스터 업그레이드
  • 클러스터 헬스 상태(HEALTHY/UNHEALTHY/PENDING) 실시간 가시성
  • Expedia가 오픈소스에 기여한 UI: 라우팅 룰 편집, 쿼리 히스토리, 전체 쿼리 텍스트 보기

PostgreSQL Portable Statistics

분산 SQL 엔진의 쿼리 최적화를 지원하는 새 기법:

  • PostgreSQL 18의 pg_restore_relation_stats/pg_restore_attribute_stats로 프로덕션 통계를 테스트 환경에 주입
  • CI에서 프로덕션과 동일한 쿼리 플랜 생성 — Seq Scan → Index Scan 전환 사전 감지
  • 통계 덤프 크기: 수백 테이블/수천 컬럼에서도 1MB 미만

트레이드오프

접근장점비용
Gateway 프록시워크로드 격리, 무중단 배포프록시 레이어 복잡도, 라우팅 규칙 관리
단일 대형 클러스터운영 단순노이지 네이버, 장애 전파
클라우드 관리형 (Athena 등)인프라 관리 불필요비용 예측 어려움, 커스터마이징 제한

연관 개념


Source: Operating Trino at Scale With Trino Gateway, Production Query Plans Without Production Data