ksqlDB를 활용한 증권사의 실시간 데이터 처리하기
강병수 · 토스 · 토스 기술 블로그
소개
이번 글에서 토스증권 실시간 데이터 프로세싱에 활용 중인 ksqlDB에 대해서 소개하려고 합니다.
AI 핵심 요약
실시간 데이터 처리 작업을 혼자 개발·운영해야 했던 토스증권은 생산성과 배포·모니터링의 단순성, Kafka 생태계와의 적합성을 고려해 ksqlDB를 도입했습니다. 이를 이용해 동시 접속자 수를 윈도우 집계하고, 환율 이상 징후를 감지하며, CDC로 만든 KTable을 주문 이벤트나 사용자 활동 로그와 조인해 계좌 상태 확인과 ML 특성 태깅을 처리했습니다. SQL만으로 다양한 실시간 Job을 운영할 수 있었지만, Kafka에 대한 이해와 쿼리·토픽 형상 관리, 관리 UI의 부족은 해결해야 할 과제로 남았습니다.
- ksqlDB의 윈도우 집계는 GROUP BY와 함께 사용하며, 키를 나누면 병렬성을 높일 수 있습니다.
- Hopping Window와 HAVING을 조합하면 최근 구간의 평균 대비 급격한 값 변화를 감지할 수 있습니다.
- CDC 데이터를 KTable로 유지하면 원천 DB를 반복 조회하지 않고 스트림과 조인해 읽기 부하를 분산할 수 있습니다.
- SQL 기반이라도 Kafka의 토픽·오프셋·상태 저장 구조를 이해해야 하며, 쿼리와 내부 토픽의 형상 관리도 고려해야 합니다.
비슷한 학습 자료
고객은 절대 기다려주지 않는다: 빠른 데이터 서빙으로 고객 만족도를 수직 상승 시키는 법
이세찬 · 토스 기술 블로그
토스증권의 수 천개 실시간 데이터 파이프라인 운영방법 #2: MSA 환경 Observability 높이기
· 토스 기술 블로그
토스증권의 수천 개 실시간 데이터 파이프라인 운영방법 #1: Visualize Lineage
강병수 · 토스 기술 블로그
토스증권 Apache Kafka 데이터센터 이중화 구성 #2: 데이터 미러링
송지수 · 토스 기술 블로그
토스증권 Apache Kafka 데이터센터 이중화 구성 #1
강병수 · 토스 기술 블로그
ksqlDB 실시간 Join으로 뉴스 추천 만들기
강병수 · 토스 기술 블로그