
백엔드
ksqlDB 실시간 Join으로 뉴스 추천 만들기
두줄요약
ksqlDB Join으로 뉴스탭 로그와 유저 클러스터 정보를 실시간 결합해 추천용 데이터를 만들었습니다. 외부 DB 조회를 줄이고 파티션과 조인 키를 맞춰 정확한 실시간 처리를 보장했습니다.
핵심 내용
- ksqlDB의 Join 기능으로 뉴스탭 로그와 MongoDB 기반 유저 클러스터 정보를 실시간 결합해 뉴스 추천용 데이터를 구성
- MAB 추천의 입력 재료인 impression, click 로그를 필터링하고 cluster_id를 붙여 개인화 추천 성능 개선
- KStream-KTable Join, CDC 기반 KTable 구성, PARTITION BY와 GROUP BY로 동일 파티셔닝 정렬
- 파티션 수와 조인 키 일치, LEFT JOIN 사용으로 실시간 유실 방지와 정확한 Join 보장
적용해볼 점
- 외부 DB 조회 대신 Kafka/ksqlDB 기반 스트림 조인으로 서비스 DB 읽기 부담 분산
- 실시간 처리량, 원천 테이블 크기, 파티션 수를 함께 고려한 설계 필요