Debezium
Debezium
변경 데이터 캡처(CDC, Change Data Capture)를 위한 오픈소스 분산 플랫폼으로, 데이터베이스의 변경 사항(INSERT, UPDATE, DELETE)을 실시간으로 감지하여 Kafka로 스트리밍하고 이벤트 기반 아키텍처와 데이터 파이프라인 구축 지원
목적: 실시간 CDC, 데이터 동기화, 이벤트 기반 아키텍처, 데이터 파이프라인
특징: Kafka Connect 기반, 데이터베이스 로그 기반 CDC, 최소 지연, 정확한 순서 보장, 스키마 진화
지원 데이터베이스: MySQL(binlog), PostgreSQL(WAL), MongoDB(oplog), SQL Server(CDC), Oracle(LogMiner), Cassandra
구성요소: Source Connector(DB → Kafka), Kafka(이벤트 스트림), Schema Registry(스키마 관리), Consumer(이벤트 처리)
동작: ① DB 트랜잭션 로그 읽기 → ② 변경 이벤트 생성(INSERT/UPDATE/DELETE) → ③ Kafka 토픽 발행 → ④ 컨슈머가 이벤트 처리
이벤트 포맷: JSON, Avro, Protobuf, 스키마 포함, before/after 스냅샷
CDC 방식: 로그 기반(비침투적), 쿼리 기반(폴링), 트리거 기반(성능 영향)
장점: 실시간 데이터 동기화, 비침투적(DB 성능 영향 최소), 정확한 순서, 스키마 진화, 다양한 DB 지원
단점: Kafka 의존성, 초기 스냅샷 시간, 복잡한 설정, 데이터베이스별 제약
적용사례: 마이크로서비스 동기화, 데이터 웨어하우스 실시간 적재, 검색 인덱스 동기화, 캐시 무효화, 이벤트 소싱
비교: Debezium(CDC/Kafka) vs Maxwell(MySQL CDC) vs Databus(LinkedIn) vs Airbyte(ELT)
연관: CDC, Kafka Connect, 이벤트 기반 아키텍처, 데이터 파이프라인, 마이크로서비스