본문으로 이동
ksqlDB를 활용한 증권사의 실시간 데이터 처리하기
문서

ksqlDB를 활용한 증권사의 실시간 데이터 처리하기

강병수 토스 · 토스 기술 블로그

원문 보기

AI 핵심 요약

실시간 데이터 처리 작업을 혼자 개발·운영해야 했던 토스증권은 생산성과 배포·모니터링의 단순성, Kafka 생태계와의 적합성을 고려해 ksqlDB를 도입했습니다. 이를 이용해 동시 접속자 수를 윈도우 집계하고, 환율 이상 징후를 감지하며, CDC로 만든 KTable을 주문 이벤트나 사용자 활동 로그와 조인해 계좌 상태 확인과 ML 특성 태깅을 처리했습니다. SQL만으로 다양한 실시간 Job을 운영할 수 있었지만, Kafka에 대한 이해와 쿼리·토픽 형상 관리, 관리 UI의 부족은 해결해야 할 과제로 남았습니다.

  • ksqlDB의 윈도우 집계는 GROUP BY와 함께 사용하며, 키를 나누면 병렬성을 높일 수 있습니다.
  • Hopping Window와 HAVING을 조합하면 최근 구간의 평균 대비 급격한 값 변화를 감지할 수 있습니다.
  • CDC 데이터를 KTable로 유지하면 원천 DB를 반복 조회하지 않고 스트림과 조인해 읽기 부하를 분산할 수 있습니다.
  • SQL 기반이라도 Kafka의 토픽·오프셋·상태 저장 구조를 이해해야 하며, 쿼리와 내부 토픽의 형상 관리도 고려해야 합니다.

소개

이번 글에서 토스증권 실시간 데이터 프로세싱에 활용 중인 ksqlDB에 대해서 소개하려고 합니다.

비슷한 학습 자료

문서 이세찬

토스페이먼츠 데이터 엔지니어링 팀이 50억 건의 데이터를 1초 이내로 조회하는 시스템을 구축한 이야기를 들려드려요.

백엔드 데이터베이스

문서 토스

Kafka Broker request log를 활용해서 서비스 간 의존성 파악하기

백엔드 데브옵스 · 인프라

문서 강병수

토스증권의 실시간 데이터 파이프라인을 대규모로 구성하고 운영해 온 경험을 소개합니다.

데브옵스 · 인프라

문서 송지수

토스증권은 현재 Active-Active 구성으로 Kafka를 운영하고 있는데요. 오늘은 Active-Active를 유지하기 위해 필요한 양방향 데이터 미러링에 대해 소개하려고 합니다.

백엔드 데이터베이스

문서 강병수

토스증권은 데이터센터 장애 상황에도 유저에게 정상적으로 서비스를 제공하기 위해 대부분의 시스템을 이중화했습니다. Kafka 이중화 구성에 대한 개요를 소개드려요.

백엔드 데이터베이스

문서 강병수

오늘은 ksqlDB의 강력한 Join 기능을 활용해서 토스증권의 다양한 로그를 실시간으로 조합하여 중요한 비즈니스 문제를 해결한 사례를 소개하려고 합니다.

백엔드 데이터베이스