ksqlDB 실시간 Join으로 뉴스 추천 만들기

ksqlDB 실시간 Join으로 뉴스 추천 만들기

3
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

ksqlDB를 활용한 실시간 뉴스 추천 시스템 구축

이 게시물은 토스증권에서 ksqlDB의 강력한 Join 기능을 이용해 실시간으로 뉴스 탭 활동 로그와 유저 클러스터링 데이터를 결합하여 MAB 기반 뉴스 추천 시스템을 구현한 사례를 소개합니다.

핵심 내용

  • ksqlDB에서 Stream과 Table을 생성하고 Stream-Table Join을 통해 실시간으로 유저 클러스터 번호를 뉴스 로그에 결합
  • MongoDB의 유저 클러스터링 데이터를 CDC로 Kafka Topic에 반영하고 이를 KTable로 변환하여 Join에 활용
  • Kafka 파티션 수와 파티셔닝 키를 맞춰 Join 연산의 정확성과 성능을 확보하는 방법론 설명

기술적 상세

  • PARTITION BY, GROUP BY를 통해 동일한 파티션 분배 정책을 적용
  • LEFT JOIN으로 유저별 클러스터 정보가 없어도 로그 데이터 유실 방지
  • KTable은 Kafka compact topic과 로컬 RocksDB를 활용하여 영구 저장 및 빠른 조회 지원