메인 콘텐츠로 건너뛰기
이 가이드는 커뮤니티 밋업에서 얻은 인사이트를 모아둔 콘텐츠의 일부입니다. 이 페이지에서는 ClickHouse 사용 시 비용을 최적화하는 데 관한 커뮤니티의 실전 지혜를 소개하며, 각자의 경험과 환경에서 효과가 있었던 방법을 다룹니다. 더 많은 실제 해결 방법과 인사이트는 특정 문제별로 찾아볼 수 있습니다. ClickHouse Cloud가 운영 비용 관리에 어떻게 도움이 되는지 알아보세요.

압축 전략: 운영 환경에서의 LZ4 vs ZSTD

Microsoft Clarity는 수백 테라바이트의 데이터를 처리해야 하면서, 압축 방식 선택이 비용에 큰 영향을 미친다는 사실을 확인했습니다. 이 정도 규모에서는 저장 공간을 조금이라도 절감하는 것이 중요하며, 성능과 스토리지 비용 사이의 전형적인 절충 관계에 직면하게 됩니다. Microsoft Clarity는 대규모 워크로드를 처리합니다. 전체 계정에서 월 2페타바이트의 압축되지 않은 데이터를 처리하고, 8개의 노드에서 시간당 약 60,000개의 쿼리를 수행하며, 수백만 개의 웹사이트에서 발생하는 수십억 건의 페이지 뷰를 지원합니다. 이러한 규모에서는 압축 전략이 핵심적인 비용 요인이 됩니다. 초기에는 ClickHouse의 기본 LZ4 압축을 사용했지만, ZSTD를 사용하면 상당한 비용 절감이 가능하다는 점을 확인했습니다. LZ4가 더 빠르지만, ZSTD는 성능이 약간 느려지는 대신 더 높은 압축률을 제공합니다. 두 방식을 모두 테스트한 뒤, 스토리지 절감을 우선하는 전략적 결정을 내렸습니다. 결과는 상당했습니다. 대규모 테이블에서 스토리지를 50% 절감했으며, 수집과 쿼리 성능에 미치는 영향도 관리 가능한 수준이었습니다. 주요 결과:
  • ZSTD 압축을 통해 대규모 테이블에서 스토리지 50% 절감
  • 월 2페타바이트 데이터 처리 용량
  • 수집과 쿼리 성능에 대한 영향이 관리 가능한 수준
  • 수백 TB 규모에서 상당한 비용 절감

컬럼 기반 보존 전략

가장 강력한 비용 최적화 기법 중 하나는 실제로 어떤 컬럼이 사용되는지 분석하는 것입니다. Microsoft Clarity는 ClickHouse에 내장된 텔레메트리 기능을 활용해 정교한 컬럼 기반 보존 전략을 구현합니다. ClickHouse는 컬럼별 스토리지 사용량에 대한 상세한 메트릭과 함께 포괄적인 쿼리 패턴, 즉 어떤 컬럼이 얼마나 자주 조회되는지, 쿼리 소요 시간, 전반적인 사용 통계를 제공합니다. 이러한 데이터 기반 접근 방식은 보존 정책과 컬럼 수명 주기 관리에 관한 전략적 의사결정을 가능하게 합니다. Microsoft는 이 텔레메트리 데이터를 분석해 스토리지 핫스팟, 즉 많은 공간을 차지하지만 쿼리는 거의 발생하지 않는 컬럼을 식별할 수 있습니다. 이렇게 사용량이 낮은 컬럼에는 공격적인 보존 정책을 적용해 저장 기간을 30개월에서 단 1개월로 줄이거나, 아예 쿼리되지 않는 경우 컬럼을 완전히 삭제할 수 있습니다. 이러한 선택적 보존 전략은 사용자 경험에 영향을 주지 않으면서 스토리지 비용을 절감합니다. 전략:
  • ClickHouse 텔레메트리를 사용해 컬럼 사용 패턴을 분석합니다
  • 스토리지 사용량은 높고 쿼리 수는 적은 컬럼을 식별합니다
  • 선택적 보존 정책을 구현합니다
  • 데이터 기반 의사결정을 위해 쿼리 패턴을 모니터링합니다
관련 문서

파티션 기반 데이터 관리

Microsoft Clarity는 파티셔닝 전략이 성능과 운영의 단순성에 모두 영향을 준다는 점을 확인했습니다. 이들의 접근 방식은 날짜로 파티셔닝하고 시간순으로 정렬하는 것입니다. 이 전략은 단순히 정리 효율성만 높이는 데 그치지 않고, 데이터 정리를 매우 쉽게 만들고, 고객 대상 서비스의 청구 계산을 단순화하며, 행 기반 삭제에 대한 GDPR 컴플라이언스 요구 사항도 지원합니다. 주요 이점:
  • 매우 간단한 데이터 정리(행별 삭제 대신 파티션 삭제)
  • 청구 계산 단순화
  • 파티션 프루닝을 통한 쿼리 성능 향상
  • 더 쉬운 운영 관리
관련 문서

문자열-정수 변환 전략

분석 플랫폼은 수백만 개의 행에 반복적으로 나타나는 범주형 데이터 때문에 저장 공간 문제에 자주 직면합니다. Microsoft 엔지니어링 팀은 검색 분석 데이터에서 이 문제를 겪었고, 영향을 받는 데이터셋의 저장 공간을 60% 줄이는 효과적인 해결책을 개발했습니다. Microsoft의 웹 분석 시스템에서는 검색 결과에 따라 날씨 카드, 스포츠 정보, 뉴스 기사, 사실 응답 등 다양한 유형의 응답이 표시됩니다. 각 쿼리 결과에는 “weather_answer”, “sports_answer”, “factual_answer”와 같은 설명용 문자열 태그가 붙었습니다. 수십억 건의 검색 쿼리를 처리하는 과정에서 이러한 문자열 값이 ClickHouse에 반복 저장되어 막대한 저장 공간을 차지했고, 쿼리 시에도 비용이 큰 문자열 비교가 필요했습니다. Microsoft는 별도의 MySQL 데이터베이스를 사용해 문자열-정수 매핑 시스템을 구현했습니다. 실제 문자열을 ClickHouse에 저장하는 대신 정수 ID만 저장합니다. UI에서 쿼리를 실행해 weather_answer에 대한 데이터를 요청하면, 쿼리 최적화기가 먼저 MySQL 매핑 테이블을 조회해 해당 정수 ID를 찾은 뒤, 그 정수를 사용하도록 쿼리를 변환하여 ClickHouse로 전송합니다. 이 아키텍처는 사용자 경험을 그대로 유지합니다. 즉, 사용자는 여전히 대시보드에서 weather_answer와 같은 의미 있는 레이블을 볼 수 있지만, 백엔드 저장소와 쿼리는 훨씬 더 효율적인 정수를 기준으로 동작합니다. 매핑 시스템이 모든 변환을 투명하게 처리하므로 사용자 인터페이스나 사용자 워크플로를 변경할 필요도 없습니다. 주요 이점:
  • 영향을 받는 데이터셋의 저장 공간 60% 절감
  • 정수 비교를 사용해 더 빠른 쿼리 성능 제공
  • 조인 및 집계 시 메모리 사용량 감소
  • 대규모 결과 집합의 네트워크 전송 비용 절감
이 예시는 Microsoft Clarity의 데이터 시나리오에 특화된 예시입니다. 모든 데이터가 ClickHouse에 있거나 데이터를 ClickHouse로 옮기는 데 제약이 없다면, 대신 Dictionaries를 사용해 보십시오.

영상 자료

이 커뮤니티의 비용 최적화 인사이트는 수백 테라바이트에서 페타바이트 규모의 데이터를 처리하는 기업들의 전략을 바탕으로, ClickHouse 운영 비용을 절감하는 실제 접근 방식을 보여줍니다.
마지막 수정일 2026년 6월 10일