티스토리 뷰

[개발] Info/용어

CDC(Change Data Capture)

Devsong26 2023. 11. 29. 20:40

CDC (Change Data Capture)는 데이터베이스의 변경사항을 실시간으로 추적하고, 이러한 변경사항을 다른 시스템, 데이터베이스, 애플리케이션으로 전송하는 기술입니다. CDC는 데이터베이스에서 발생하는 모든 삽입(insert), 갱신(update), 삭제(delete) 작업을 감지하고, 이 정보를 실시간으로 다른 시스템에 제공하여 데이터 동기화 및 분석을 지원합니다.

 


CDC의 작동 원리

  • 변경사항 감지
    • CDC는 데이터베이스의 변경사항을 실시간으로 감지합니다. 이는 데이터베이스의 트랜잭션 로그, 트리거, 또는 다른 메커니즘을 통해 수행될 수 있습니다.
  • 이벤트 캡처 및 전송
    • 감지된 변경사항은 이벤트 형태로 캡처되며, 이 이벤트들은 메시징 시스템(예: Apache Kafka)을 통해 다른 시스템으로 전송됩니다.
  • 데이터 동기화 및 처리
    • 다른 시스템이나 애플리케이션은 이 이벤트들을 받아 추가적인 처리를 수행합니다. 예를 들어, 데이터 웨어하우스 동기화, 실시간 분석, 또는 다른 데이터베이스로의 데이터 복제 등이 이에 해당합니다.

 


CDC의 주요 이점

  • 데이터 동기화
    • 여러 시스템 간 데이터 일관성을 유지할 수 있습니다.
  • 실시간 분석
    • 변경사항을 실시간으로 감지하여 빠른 데이터 분석과 의사결정을 가능하게 합니다.
  • 효율성
    • 데이터베이스의 부하를 줄이면서 데이터를 다른 시스템으로 효율적으로 전송할 수 있습니다.
  • 복구 및 감사
    • 데이터 변경 이력을 추적하여 시스템의 오류 복구 및 감사에 활용할 수 있습니다.

 


CDC 도구

  • Debezium
    • Apache Kafka와 함께 사용되며, 여러 데이터베이스의 변경사항을 실시간으로 Kafka 토픽으로 전송합니다.
  • Apache Kafka Connect
    • 다양한 소스와 싱크(Sink)를 연결하여 데이터 변경사항을 스트리밍하는 플랫폼입니다.

 


주의사항

  • 성능 고려
    • 대규모 데이터베이스에서 CDC를 사용할 때 성능 및 네트워크 부하를 고려해야 합니다.
  • 데이터 일관성
    • 데이터 소스와 목적지 사이의 일관성을 유지하기 위한 전략이 필요합니다.
  • 복잡성 관리
    • CDC 구현은 시스템의 복잡성을 증가시킬 수 있으므로, 적절한 관리 및 모니터링이 필요합니다.

 


CDC는 데이터 통합, 실시간 데이터 처리, 데이터 동기화 등 다양한 시나리오에서 유용한 솔루션을 제공합니다.

'[개발] Info > 용어' 카테고리의 다른 글

Debezium  (0) 2023.11.30
CQRS(Command Query Responsibility Segregation)  (0) 2023.11.30
OAuth  (0) 2023.11.17
SSL  (0) 2023.11.17
OSI 7 Layer  (0) 2023.10.24