목록 보기
고객은 절대 기다려주지 않는다: 빠른 데이터 서빙으로 고객 만족도를 수직 상승 시키는 법
백엔드

고객은 절대 기다려주지 않는다: 빠른 데이터 서빙으로 고객 만족도를 수직 상승 시키는 법

토스
토스
2025년 12월 16일

두줄요약

대규모 거래 데이터를 빠르게 서빙하기 위해 Elasticsearch, Druid, StarRocks를 역할별로 조합한 사례를 다뤘습니다. 집계·조인·검색을 분리하고 최적화해 응답 속도와 운영 효율을 높였습니다.

문제 상황

  • 거래량 급증으로 수십억 건 규모 데이터를 안정적으로 빠르게 서빙해야 하는 과제
  • MSA 전환 이후 검색, 집계, 실시간 조회, 다중 도메인 결합 요구가 함께 증가
  • 원장 테이블 직접 조회 시 대량 스캔, 성능 저하, 쿼리 복잡도 증가

구조와 흐름

  • 검색 요구는 Elasticsearch 색인으로 처리
  • 시계열 집계와 저지연 조회는 Apache Druid로 분리
  • 조인과 통합 원장은 StarRocks로 재구성
  • 각 엔진의 강점을 조합한 하이브리드 데이터 서빙 구조

해결 방법

  • Druid에서 메시지 발행 기반 적재와 Rollup으로 조회 성능 개선
  • 파편화 탐지와 Compaction, Zookeeper 로그 보존 주기 조정으로 운영 안정성 보강
  • StarRocks 도입 후 Colocation Group과 Prefix Index로 조인 성능과 스캔 범위 최적화

성능/운영 포인트

  • Druid Rollup 적용으로 평균 응답 시간 수십 초에서 0.5~1초 수준으로 단축
  • 로컬 스토리지와 S3 분리로 비용 절감과 AZ 분산 유연성 확보
  • Prefix Index 적용으로 RawRowsRead 약 99.68% 감소
  • StarRocks 최적화 후 CPU 사용률 약 81.2% 감소

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...