변경 데이터 캡처(CDC)를 위한 오픈 소스 분산 플랫폼이다. 구동하고 데이터베이스를 가리키면 다른 app 이 데이터베이스에 커밋하는 모든 insert · update · delete 에 응답한다.
Debezium 은 데이터베이스에서 로우 레벨의 변경 사항을 캡처하여 애플리케이션이 변경 내용을 보고 응답할 수 있게 하는 분산 서비스 집합이다. 각 데이터베이스 테이블에 커밋된 모든 로우 레벨 변경 내용을 Kafka 토픽에 기록하며, 각 애플리케이션은 관심 있는 토픽을 읽기만 하면 모든 이벤트가 발생한 순서를 알 수 있다.
다른 소프트웨어가 데이터 변경 사항에 응답할 수 있도록 데이터의 변경 사항을 모니터링하고 캡처하는 것을 말한다. Debezium 은 데이터베이스의 트랜잭션 로그(MySQL binlog · PostgreSQL WAL · Oracle redo log 등)를 읽으므로 원본 테이블에 부하를 주지 않고 폴링 없이 변경을 잡는다.
주요 용도는 데이터베이스의 데이터가 변경될 때마다 애플리케이션이 거의 즉시 응답할 수 있게 하는 것이다. 애플리케이션은 추가 · 업데이트 · 삭제 이벤트를 전달받아 캐시 무효화, 검색 색인 갱신, 데이터 웨어하우스 적재, 마이크로서비스 사이의 데이터 동기화에 쓴다.
현행은 3.6 계열, 최신 3.6.3.Final[1] 이다. 커넥터는 Kafka Connect 플러그인으로 배포된다.
| 항목 | 지원 (3.6 기준)[1:1] |
|---|---|
| Java | 커넥터 17 이상. Debezium Server · Operator 는 21 이상 |
| Kafka Connect | 3.1 이상 |
| MySQL | 8.0.x · 8.4.x · 9.0 · 9.1 |
| MariaDB | 11.4.x · 11.7.x (전용 MariaDB 커넥터) |
| PostgreSQL | 14 · 15 · 16 · 17 · 18 |
| MongoDB | 6.0 · 7.0 · 8.0 |
| Oracle | 19c · 21c · 23ai · 26ai |
| SQL Server | 2017 · 2019 · 2022 |
2.0 에서 바뀐 설정 이름 — database.server.name 은 topic.prefix 로, database.history.kafka.* 는 schema.history.internal.kafka.* 로 바뀌었다. 1.x 시절 properties 를 그대로 쓰면 커넥터가 뜨지 않는다. PostgreSQL 의 wal2json 플러그인은 지원 목록에서 빠졌다 — pgoutput(기본 내장) 또는 decoderbufs 를 쓴다.
create database encore — topic.prefix 로 지정한 이름의 토픽에 스키마 변경 이벤트가 간다.create table encore.table — <topic.prefix>.<DB명>.<table명> 형태로 토픽이 만들어진다.insert into encore.table values ('VAL') — 그 토픽에 insert 내역이 전송된다.토픽은 테이블 단위로 만들어진다. 테이블을 만드는 시점에 커넥터가 구동 중이 아니면 토픽은 생기지 않고, 이후 커넥터가 뜨면 스냅샷 · binlog 를 따라잡으며 만든다.
최신 버전 3.6.3.Final (2026-09-18) — 2026-09-20 확인. https://debezium.io/releases/3.6/ ↩︎ ↩︎