본문 바로가기
Cloud

[Kafka] CDC 도입기 (1)

by VENUSIM 2024. 11. 18.

Debezium 

 

Kafka Connector는 Apache Kafka의 확장 기능으로, 다양한 데이터 소스와 싱크 간의 데이터를 자동으로 연결하고 처리하는 데 사용됩니다. 

주요 구성 요소 

  1. 소스 커넥터 (Source Connector) 
  • 외부 시스템(예: 데이터베이스)에서 Kafka로 데이터를 읽어오는 역할을 합니다. 
  • 데이터베이스의 변경 사항을 실시간으로 감지하여 Kafka로 전송하는 Debezium이 있습니다. 
  1. 싱크 커넥터 (Sink Connector) 
  • Kafka에서 데이터를 외부 시스템으로 전송하는 역할을 합니다. 
  • 예를 들어, Kafka의 데이터를 관계형 데이터베이스나 NoSQL 데이터베이스에 저장하는 커넥터가 있습니다. 

CDC (Changed Data Capture) 

  • 변경 데이터 캡처는 데이터베이스의 변경 사항(삽입, 업데이트, 삭제)을 추적하고 이를 실시간으로 스트리밍하는 설계 패턴을 의미합니다. 
  • Debezium과 같은 소스 커넥터는 CDC를 구현하여 데이터를 Kafka로 전송합니다. 

 

 

아래와 같은 예상 구성으로 구축이 가능해 보임. 

 

Mysql 기준 log_bin이 활성화 되어 있고, binlog_format이 row level이면 적용 가능하다고 합니다.
현재 Cloud Mysql에는 위 조건을 충족하여 Kafka를 이용한 CDC 환경 구축기를 아래 글에서 다려고 합니다.

https://dev-junhee.tistory.com/92

 

[Kafka] CDC 인프라 구축 (feat. ksql)

kafka의 경우 cloud data streaming service를 이용하였다. Apache Kafka를 설치하고 설정하여 클러스터 형태로 제공해 주고, CMAK을 이용하여 클러스터 토픽 생성 및 변경 등 kafka 클러스터 관리 기능을 제공한

dev-junhee.tistory.com

 

'Cloud' 카테고리의 다른 글

[Tempo] Grafana Tempo 적용기 (2)  (0) 2024.11.19
[Tempo] Grafana Tempo 도입 (1)  (0) 2024.11.18
Kustomize, Helm Chart 시스템 구축  (0) 2024.02.09
[ArgoCD] K8S 환경에 ArgoCD 뿌리기!  (1) 2024.02.09
[ArgoCD] Teams 연동기  (0) 2024.02.09

댓글