반응형
앞으로 CDC 패턴에 대해서 공부해 볼것이다.
CDC(Change Data Capture)란 무엇인가?
**CDC(Change Data Capture)**는 말 그대로
“데이터베이스에서 일어나는 변경(Insert / Update / Delete) 을 실시간으로 감지하여, 이를 다른 시스템으로 전달하는 기술”
즉, 기존의 DB가 ‘변했다’는 사실을 캡처(Capture) 해서 이를 이벤트(Event) 로 만들어 보내주는 구조입니다.

왜 CDC가 필요한가?
오늘날 기업 시스템은 단일 DB에 머무르지 않습니다.
서비스가 분리되고, 분석·알림·검색·캐시 등 다양한 하위 시스템이 함께 움직입니다.
그런데 만약 주문 데이터 하나가 생성될 때마다,
- 검색엔진(Elasticsearch)에 반영해야 하고,
- 캐시(Redis)를 갱신해야 하고,
- 분석용 데이터 웨어하우스(BigQuery 등)에 전달해야 한다면?
- 이를 매번 배치(batch) 로 돌린다면 지연(latency)이 발생하고 DB 부하가 커지고 실시간성이 확보되지 않습니다.
즉 CDC 하나의 데이터로 파생되는 수많은 데이터를 서비스마다 독립적으로 유연하게 처리할 수 있다는 장점이 있습니다.

예시 흐름
- DB에서 주문이 생성됨 (INSERT)
- CDC 시스템이 트랜잭션 로그에서 해당 변경사항을 캡처
- 이를 이벤트(Event) 로 Kafka에 발행
- 다른 시스템(Elasticsearch, Redis, 알림 시스템 등)이 이 이벤트를 구독(consume) 하여 데이터 반영

반응형
'프로그래밍 > 대용량 시스템에 대한 이해' 카테고리의 다른 글
| Debezium의 Best Practive 아키텍처 (0) | 2025.11.13 |
|---|---|
| Temporal을 활용한 워커플로우 패턴 (0) | 2025.11.06 |
| 대용량 트래픽 아키텍쳐 정리 (0) | 2025.11.05 |
| 완화전략 - Backpressure, Throttling 이란? (0) | 2023.12.01 |
| kafka란? - 카프카 기초 다지기 1 (1) | 2023.02.19 |