피드로 돌아가기
Replacing Elasticsearch with ClickHouse : A 90% Cost-Reduction Migration
Dev.toDev.to
Database

Elasticsearch를 ClickHouse로 교체하여 비용 90% 절감 및 쿼리 성능 최대 6배 향상

Replacing Elasticsearch with ClickHouse : A 90% Cost-Reduction Migration

RAKESH THERANI2026년 5월 6일44advanced

Context

Full-text search 중심의 Elasticsearch 구조가 관찰성 데이터(Logs, Traces, Metrics)의 집계 쿼리 특성과 맞지 않아 과도한 비용 발생. 특히 Inverted Index 유지 비용과 낮은 압축률로 인해 연간 40만 달러의 인프라 비용 지출 및 스토리지 효율성 저하 발생.

Technical Solution

  • OpenTelemetry(OTEL) 표준을 유지하여 애플리케이션 수정 없이 Collector의 Exporter만 ClickHouse로 변경하는 구조 설계
  • Row-oriented 방식에서 Columnar Storage로 전환하여 대규모 시계열 데이터의 집계 연산 속도 최적화
  • Bloom Filter 기반의 인덱싱 전략을 통해 Full-text search 기능을 대체하면서도 빠른 TraceId 검색 성능 확보
  • ORDER BY(ServiceName, SeverityText, Timestamp) 및 전용 CODEC 적용을 통한 데이터 압축률 극대화
  • Grafana를 쿼리 인터페이스로 활용하고 AI Agent를 통한 Natural Language to SQL 변환 계층 구축으로 분석 접근성 향상
  • 데이터 유실 방지를 위해 Retry-on-failure 전략을 갖춘 Central Aggregator 구조 채택

Impact

  • 인프라 비용: 연간 $400K에서 ~$50K로 약 85~90% 감소
  • 스토리지 효율: 저장 공간 5배 감소 (1B rows 기준 245GB → 49GB)
  • 쿼리 성능: Cold Query 최대 6배, Hot Query 최대 2.6배 속도 향상

1. 워크로드의 90% 이상이 집계(Aggregation)라면 Full-text search 엔진보다 Columnar DB 검토

2. OTEL 표준 채택을 통해 백엔드 저장소 변경 시 애플리케이션 영향도를 제로화하는 유연한 설계 적용

3. Columnar DB 도입 시 정렬 키(ORDER BY)와 적절한 CODEC 선택으로 압축률과 조회 성능 최적화

4. 마이그레이션 시 4주 이상의 Dual-write 기간을 설정하여 대시보드 및 알람 정합성 검증

원문 읽기