Kafka Connect로 DB 데이터 쉽게 연동하기
김소라 컬리 · 컬리 기술 블로그
AI 핵심 요약
여러 데이터베이스의 데이터를 Kafka로 연동하기 위해 Kafka Connect와 JDBC Source Connector를 활용하는 방법을 소개합니다. JDBC 커넥터의 증분 쿼리 모드는 PK나 timestamp를 오프셋으로 삼아 새 데이터를 주기적으로 가져오며, 로그 기반 CDC보다 설정이 간단하고 다양한 DB에 적용하기 쉽습니다. 다만 삭제·갱신, 쿼리 주기 사이의 여러 변경, 늦은 트랜잭션 커밋은 데이터 누락을 일으킬 수 있어 모든 변경 이력을 보장하는 용도에는 적합하지 않습니다. 늦게 도착하는 이벤트에는 timestamp.delay.interval.ms로 여유 시간을 둘 수 있지만, 데이터 특성에 맞춰 누락 위험과 적재 지연 사이의 균형을 잡아야 합니다.
- JDBC 증분 모드는 증가하는 PK나 timestamp 컬럼을 오프셋으로 사용하므로, 추적 기준 컬럼의 특성과 테이블 변경 패턴을 먼저 확인해야 합니다.
- 삭제 이벤트는 증분 쿼리로 감지할 수 없고, Incrementing 모드는 기존 행의 갱신도 놓칠 수 있습니다.
- 쿼리 주기 사이에 여러 변경이 일어나면 중간 상태가 사라질 수 있으므로, 최신 상태만 필요하거나 삽입 위주인 로그성 테이블에 적합합니다.
- 늦게 커밋되는 데이터에는 timestamp.delay.interval.ms를 적용할 수 있지만, 값을 키우면 누락 가능성을 줄이는 대신 적재 지연이 늘어납니다.
소개
Kafka Connect와 JDBC 커넥터를 이용해 DB 데이터를 쉽게 Kafka로 전송하는 방법과 발생 가능한 문제를 해결하는 방법을 공유합니다.
비슷한 학습 자료
컨퍼런스 엔지니어링데이 2025
서비스 조직에서 Kafka를 사용할 때 알아 두어야 할 것들 (4)
컨퍼런스 엔지니어링데이 2025
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY에서 발표되었던 세션을 공개합니다. 1,2편의 경우 아쉽게도 사내용만 발표되어 3,4편 만 외부공개가 진행되는 점 양해 부탁드립니다. [발표 내용] Kafka 프로듀서 최적화하기 + 압축 기능 활용하기 [목차] 1. 배경: Kafka 자료 구조 - Kafka 자료 구조는 어떻게 생겼는가? 2. 프로듀서 동작 방식 및 최적화 방법 - 프로듀서와 브로커는 어떻게 메시지를 주고받는가? - linger.ms, batch.size, buffer.memory 사용법 3. 압축 동작 방식 및 최적화 방법 - (재)압축은 어떻게 이루어지는가? - compression.type, compression.{type}.level 사용법
백엔드 네트워크 로드맵 1개에 담김
컨퍼런스 엔지니어링데이 2025
서비스 조직에서 Kafka를 사용할 때 알아 두어야 할 것들 (3)
컨퍼런스 엔지니어링데이 2025
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY에서 발표되었던 세션을 공개합니다. 1,2편의 경우 아쉽게도 사내용만 발표되어 3,4편 만 외부공개가 진행되는 점 양해 부탁드립니다. [발표 내용] Kafka Client는 어떻게 클러스터의 전체 상태를 알 수 있는가? 서비스를 개발하는 입장에서 관련 옵션을 어떻게 잡아 주면 좋은가? 에 대해 설명합니다. [목차] * Kafka metadata란 무엇인가? * 동작 매커니즘 - 브로커 - 클라이언트 간 metadata 교환 - 브로커 간 metadata 교환 * 결론 - ... 그리고 하나 더
백엔드 네트워크