변경 데이터 캡처란 무엇인가요?

변경 데이터 캡처(CDC) 정의

변경 데이터 캡처(CDC)는 데이터베이스의 데이터 변경 사항을 감지 및 캡처하고, 해당 변경 사항을 다운스트림 시스템으로 전송하는 기술입니다. CDC는 데이터베이스 변경이 발생한 후 시스템 간 거의 실시간 또는 실시간 데이터 동기화, 복제 및 이벤트 기반 처리를 가능하게 합니다.

변경 데이터 캡처는 조직 전반에서 사일로화되거나 일관되지 않은 상태로 남아 있을 수 있는 데이터를 결합하고 조화시키는 실시간 데이터 통합 방식입니다. 그 밖의 데이터 통합 방식에는 스트림 데이터 통합, 데이터 가상화애플리케이션 통합이 있습니다.

낮은 지연 시간으로 다운스트림 프로세스와 시스템을 거의 실시간 또는 실시간으로 최신 상태로 유지하는 CDC의 기능은 실시간 데이터 분석, 클라우드 마이그레이션 및 인공지능(AI) 모델의 성공에 핵심적인 역할을 합니다. CDC는 소매, 금융 및 헬스케어와 같은 산업 전반에서 사기 탐지, 공급망 관리 및 규제 준수 등 다양한 활용 사례를 지원합니다.

변경 데이터 캡처에는 여러 접근 방식이 있으며, 그중 로그 기반 CDC, 타임스탬프 기반 CDC 및 트리거 기반 CDC가 가장 일반적으로 사용됩니다. 기업은 데이터베이스 네이티브 툴, 오픈 소스 플랫폼 및 타사 솔루션을 통해 변경 데이터 캡처를 구현할 수 있습니다.

변경 데이터 캡처의 이점은 무엇인가요?

현대적인 데이터 관리에서 변경 데이터 캡처는 중요한 데이터 엔지니어링 메커니즘으로 부상했습니다. 오늘날의 기업 데이터 환경은 점점 더 대규모화되고 복잡해지고 있습니다. 여기에는 사물인터넷(IoT) 장치, 분산 데이터베이스, 애플리케이션 및 기타 다양한 소스의 데이터가 포함될 수 있습니다. 이처럼 확장되는 데이터 에코시스템 전반에서 일관되고 품질이 높은 데이터를 유지보수하는 일은 지속적인 과제입니다.

동시에 기업에서는 실시간 의사 결정에 활용할 수 있는 최신의 정확한 정보가 필요합니다. 변경 데이터 캡처는 조직이 이러한 요구 사항을 충족하는 데 도움이 되는 여러 방법 중 하나입니다.

변경 데이터 캡처는 다른 데이터 통합 방식보다 더 효율적이고 리소스 사용량이 적은 방식으로 최신 데이터를 제공하는 저지연 데이터 파이프라인을 가능하게 합니다. 예를 들어 데이터 복제는 전체 데이터 세트를 복사하는 작업을 의미합니다. 반면 CDC는 변경된 데이터만 전송하므로 소스 시스템 부하, 네트워크 트래픽 및 컴퓨팅 성능 요구 사항을 줄일 수 있습니다.

이를 통해 최신의 가장 정확한 정보에 빠르고 효율적으로 액세스할 수 있어 다음과 같은 여러 가지 이점을 얻을 수 있습니다.

  • 더 빠른 의사결정
  • 무중단 마이그레이션
  • ETL 프로세스 개선
  • 향상된 AI 성능

더 빠른 의사결정

CDC는 조직이 운영 데이터를 실시간 데이터 분석 플랫폼 및 대시보드로 스트리밍할 수 있도록 지원하여 더욱 정확하고 최신의 보고, 비즈니스 분석 정보 및 의사결정을 가능하게 합니다. 이러한 기능을 통해 기업은 오늘날의 시간 민감형 24시간 비즈니스 환경의 요구 사항을 지원할 수 있습니다.

다운타임 없는 마이그레이션

데이터 소스와 대상 시스템 간 지속적인 동기화는 최소한의 다운타임 또는 중단으로 데이터베이스, 클라우드 환경 또는 애플리케이션 간 데이터 마이그레이션을 지원합니다. 예를 들어 클라우드 마이그레이션 중 CDC는 온프레미스에서 발생한 데이터 변경 사항을 관련 클라우드 기반 데이터 테이블에 신속하게 전달하여 두 환경 간 일관성을 보장합니다.

ETL 프로세스 개선

ETL(추출, 변환, 로드) 데이터 파이프라인은 데이터 분석 및 머신 러닝 워크스트림에 필수적입니다. 그러나 ETL 실행은 일괄 처리에 의존하여 속도가 느리고 시스템 자원을 과도하게 소비하는 경향이 있습니다. CDC를 ETL에 통합하면 리소스 사용을 최적화하고 데이터 이동을 가속화할 수 있습니다.

더 나은 인공 지능(AI) 성능

변경 데이터 캡처를 구현하면 모델 소스 데이터를 최신 상태로 유지하여 대규모 언어 모델 (LLM)이 정확하고 시기적절한 아웃풋을 제공할 수 있습니다. 예를 들어 검색 증강 생성 (RAG) 사용 사례에서 AI 모델은 더 관련성 높은 응답을 제공하기 위해 외부 지식 기반과 연결됩니다.

AI 아카데미

데이터 관리가 생성형 AI 구현의 비결일까요?

생성형 AI를 성공적으로 사용하기 위해 고품질 데이터가 필수적인 이유를 알아보세요.

변경 데이터 캡처는 어떻게 작동하나요?

변경 데이터 캡처는 소스 데이터 시스템에서 발생하는 삽입, 업데이트 및 삭제를 식별하고 기록합니다. 이러한 소스에는 Oracle Database, PostgreSQL, MySQL, Microsoft SQL Server 및 Azure SQL Database와 같은 관계형 데이터베이스뿐 아니라 Apache Cassandra 및 MongoDB와 같은 비관계형(NoSQL) 데이터베이스도 포함될 수 있습니다.

최신 CDC 시스템은 일반적으로 로그 기반 CDC를 사용하며, 이 방식에서는 툴이 데이터베이스 트랜잭션 로그(데이터베이스의 데이터 변경 사항을 기록하는 파일)를 읽어 변경 사항을 식별합니다. 트랜잭션 로그 내 각 변경 이벤트는 로그 시퀀스 번호(LSN)와 같은 순서가 지정된 로그 위치와 연결됩니다. 이를 통해 CDC 시스템은 변경이 정확히 언제 발생했는지 확인할 수 있습니다.

변경 사항이 캡처되면 데이터 레이크, 데이터 웨어하우스, 스트리밍 데이터 플랫폼인 Apache Kafka, 스트림 처리 엔진인 Apache Spark, 그리고 ETL/ELT 파이프라인과 같은 다운스트림 시스템으로 실시간 또는 거의 실시간 방식으로 스트리밍됩니다.

CDC 방식: 푸시 방식과 풀 방식 비교

변경 데이터 캡처는 소스 시스템(푸시 기반 접근 방식) 또는 대상 시스템(풀 기반 접근 방식) 중 하나에 의해 시작될 수 있습니다. 핵심 차이는 어떤 시스템이 변경 사항을 캡처하고 전송하는 책임을 갖는지에 있습니다.

푸시 기반 CDC

푸시 기반 CDC 모델에서는 소스 시스템이 변경 사항을 감지하고 이를 즉시 대상 시스템으로 “푸시”하거나 전송합니다. 이 접근 방식은 일반적으로 데이터베이스 트랜잭션 로그, 이벤트 스트림 또는 Apache Kafka와 같은 메시지 브로커를 사용해 구현됩니다.

변경 사항이 발생하는 즉시 전송되므로 푸시 기반 CDC는 일반적으로 스트리밍 분석, 이벤트 기반 아키텍처 및 AI/ML 시스템과 같이 실시간 또는 거의 실시간 데이터 이동이 필요한 활용 사례를 지원합니다.

풀 기반 CDC

풀 기반 CDC에서는 대상 시스템이 소스 시스템을 정기적으로 폴링하고 변경 사항이 발견되면 이를 “풀”합니다. 폴링은 고정된 일정에 따라 수행될 수 있으므로 풀 기반 CDC는 배치 중심 워크로드 또는 즉각적인 업데이트가 필요하지 않은 시스템에 적합합니다.

이 접근 방식은 푸시 기반 CDC보다 단순하고 덜 복잡한 인프라를 필요로 하지만, 더 높은 지연 시간을 초래하고 소스 데이터베이스의 쿼리 부하를 증가시켜 데이터베이스 성능에 영향을 줄 수 있습니다. 많은 최신 데이터 플랫폼은 데이터 요구 사항 및 운영 요구 사항에 따라 두 접근 방식을 모두 지원합니다.

변경 데이터 캡처를 실행하는 일반적인 방법

변경 데이터 캡처를 실행하는 방법에는 여러 가지가 있습니다. 일반적인 CDC 유형은 다음과 같습니다. 

  • 로그 기반 CDC
  • 타임스탬프 기반 CDC
  • 트리거 기반 CDC

로그 기반 CDC

데이터베이스 트랜잭션 로그는 데이터베이스의 표준 기능이며 모든 데이터베이스 트랜잭션을 기록하는 데 사용됩니다. (트랜잭션 로그 파일은 시스템 장애 시 데이터베이스를 복구하는 데 사용할 수 있습니다.)

로그 기반 CDC에서는 CDC 애플리케이션이 로그에 기록된 데이터베이스 변경 사항(데이터 및 메타데이터 모두)을 처리하고 해당 업데이트를 다른 시스템과 공유합니다. 로그 기반 CDC는 효율성 덕분에 점점 더 널리 사용되고 있습니다. 이 방식은 쿼리 대신 로그에 의존하므로 소스 시스템에 상당한 부하를 줄 수 있는 쿼리 실행을 줄일 수 있습니다. 그러나 트랜잭션 로그 형식의 차이로 인해 서로 다른 데이터베이스 간 로그 기반 CDC 실행이 복잡해질 수 있습니다.

타임스탬프 기반 CDC

타임스탬프 기반 변경 데이터 캡처(쿼리 기반 CDC라고도 함)를 사용하려면 데이터베이스 테이블 스키마에 기록 변경 날짜와 시간을 나타내는 타임스탬프 열과 같은 열이 있어야 합니다. CDC 툴을 사용하면 소스 테이블의 타임스탬프 열을 통해 변경된 기록을 식별하고 대상 시스템에 업데이트를 제공할 수 있습니다.

타임스탬프 기반 CDC는 구현이 간단할 수 있지만, 타임스탬프 데이터를 자주 폴링할 경우 시스템에 추가적이고 부담이 큰 부하를 줄 수 있습니다. 또한 타임스탬프 기반 CDC는 행 전체와 함께 타임스탬프가 삭제되면 삭제 작업을 캡처하지 못합니다.

트리거 기반 CDC

트리거 기반 변경 데이터 캡처에서 데이터베이스 트리거라고 불리는 저장 프로시저 또는 함수는 데이터베이스에서 특정 변경 사항(예: 삽입, 삭제, 업데이트)이 발생할 때마다 실행됩니다. 변경된 데이터는 일반적으로 변경 테이블 또는 그림자 테이블이라고 불리는 테이블에 저장됩니다.

타임스탬프 기반 CDC와 마찬가지로 트리거 기반 CDC도 간단하게 구현할 수 있습니다. 그러나 소스 테이블에서 트랜잭션이 발생할 때마다 트리거가 '실행'되어 소스 시스템에 부담을 줄 수도 있습니다.

일반적인 CDC 소스 및 대상 시스템

CDC를 보다 완전하게 이해하기 위해 일반적인 CDC 소스와 대상 시스템을 살펴보겠습니다.

CDC 소스는 데이터가 생성되는 시스템으로, 예를 들면 다음과 같습니다.

CDC 대상 시스템은 데이터가 스트리밍되거나 복제되는 시스템으로, 예를 들면 다음과 같습니다.

  • 데이터 스트리밍 플랫폼(Apache Kafka, Amazon Kinesis, Google Cloud Pub/Sub)

  • 데이터 웨어하우스 및 레이크하우스(Snowflake, Amazon Redshift, Google BigQuery)

  • 클라우드 객체 스토리지(AWS S3, Azure Blob Storage, Google Cloud Storage)

소스와 대상 시스템을 연결하려면 일반적으로 CDC 툴, 커넥터 및 데이터 통합 플랫폼이 필요합니다.

ETL과 CDC의 주요 차이점

ETL(추출, 변환, 적재)과 변경 데이터 캡처는 모두 널리 사용되는 데이터 통합 방식이지만, 서로 다른 목적을 위해 설계되었습니다.

다음은 ETL과 CDC의 주요 차이점입니다.

  • 데이터 이동: ETL 파이프라인은 일반적으로 전체 데이터 세트 또는 대규모 데이터 배치를 수집합니다. CDC는 변경 사항만 캡처하고 전송합니다.

  • 처리 속도 및 지연 시간: ETL은 일반적으로 예약된 간격에 따라 배치 방식으로 수행됩니다. CDC는 저지연 데이터 이동 및 지속적인 동기화를 위해 설계되었습니다.

  • 주요 활용 사례: ETL은 비즈니스 인텔리전스, 과거 데이터 보고 및 머신 러닝에 자주 사용됩니다. CDC는 일반적으로 실시간 분석, 사기 탐지 및 이벤트 기반 아키텍처에 사용됩니다.

  • 데이터 변환: ETL 파이프라인은 적재 전에 데이터를 정제하고 변환합니다. CDC 시스템은 추가 처리 없이 변경 사항만 식별하고 복제합니다.

  • 시스템 영향: 기존 ETL 프로세스는 반복적인 배치 워크로드로 인해 소스 시스템에 더 큰 부담을 줍니다. CDC는 변경 사항만 전송함으로써 오버헤드를 최소화합니다.

오늘날 조직은 ETL과 CDC를 모두 사용하는 경우가 많으며, 종종 함께 활용합니다. 예를 들어 CDC는 초기 데이터 적재 이후 증분 업데이트를 전송함으로써 ETL 파이프라인을 보완합니다. 이를 통해 다음 ETL 작업이 실행될 때까지 기다리지 않고도 소스 시스템에서 변경이 발생하는 즉시 데이터 세트를 실시간으로 최신 상태로 유지할 수 있습니다.

SCD와 CDC의 차이점은 무엇인가요?

CDC와 서서히 변경되는 차원(SCD)은 함께 작동하여 대상 시스템의 정확성과 최신 상태를 유지합니다.

CDC가 소스 시스템의 변경 사항을 캡처하고 전송하는 반면, SCD는 데이터 웨어하우스 내 차원 테이블에서 이러한 변경 사항을 어떻게 관리하고 저장할지를 정의합니다.

(이 컨텍스트에서 차원 데이터는 일반적으로 고객 주소나 전화번호와 같은 설명 속성을 저장하는 데이터 웨어하우스의 차원 테이블을 의미합니다.)

일반적으로 사용되는 SCD 유형에는 Type 1과 Type 2가 있습니다.

SCD Type 1: 이력을 유지하지 않고 차원 테이블의 기존 데이터를 새 데이터로 덮어씁니다.

SCD Type 2: 차원 테이블에 새 행을 추가하여 시간에 따른 전체 변경 이력을 유지합니다.

변경 데이터 캡처 툴

변경 데이터 캡처(CDC) 툴은 데이터베이스 변경 사항을 실시간으로 캡처하고 스트리밍하여 조직이 최신 데이터 통합, 분석 및 이벤트 기반 아키텍처를 지원할 수 있도록 돕습니다.

CDC 기능은 AWS Database Migration Service(DMS)와 같은 특정 데이터베이스 환경에 기본적으로 포함될 수도 있고, 더 광범위하게 구현될 수도 있습니다. 일반적인 CDC 솔루션에는 Debezium과 같은 오픈 소스 툴과 IBM® StreamSets 및 Oracle GoldenGate와 같은 상용 플랫폼이 포함됩니다.

많은 조직은 CDC 파이프라인의 기반으로 Apache Kafka를 사용합니다. Kafka 기반 CDC 아키텍처는 데이터베이스 변경 사항을 캡처하고 Kafka 토픽을 통해 스트리밍한 뒤 다운스트림 애플리케이션, 데이터 웨어하우스, 분석 플랫폼 및 AI 시스템으로 전달할 수 있습니다.

조직은 CDC 툴을 평가할 때 일반적으로 다음 요소를 고려합니다.

  • 확장성
  • 가격
  • 지연 시간
  • 커넥터 지원
  • Kafka 통합
  • 신뢰성
  • 배포 유연성
  • API 지원

변경 데이터 캡처 사용 사례

기업은 다음과 같이 다양한 용도로 변경 데이터 캡처를 배포할 수 있습니다.

사기 탐지

변경 데이터 캡처를 통해 재무 기록의 변경 사항을 지속적으로 추적하면 상당한 손실이 발생하기 전에 사기 행위를 탐지할 수 있습니다.

사물인터넷(IoT) 활성화

CDC는 IoT 디바이스에서 생성된 방대한 양의 실시간 데이터를 효율적으로 통합하여 예측 유지보수 및 실시간 모니터링을 가능하게 합니다.

재고 및 공급망 관리

변경 데이터 캡처를 통해 실시간 판매, 재고 및 공급망 정보에 액세스하면 기업은 재고 부족을 방지하고 수익성 있는 가격 결정을 내릴 수 있습니다.

규정 준수

변경 데이터 캡처는 규제가 엄격한 기업이 GDPR, 사베인스-옥슬리(SOX)법 및 미국 HIPAA와 같은 규정과 법률을 준수하고 보고하는 데 필요한 정확한 기록을 보관하는 데 도움이 될 수 있습니다.

작성자

Alice Gomstyn

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

관련 솔루션
IBM StreamSets

직관적인 그래픽 인터페이스를 통해 스트리밍 데이터 파이프라인을 생성하여 하이브리드 및 멀티클라우드 환경 전반에서 완벽한 데이터 통합을 촉진합니다.

StreamSets 살펴보기
IBM watsonx.data™

watsonx.data를 사용하면 오픈, 하이브리드 및 관리형 데이터 저장소를 통해 데이터의 위치와 관계없이 모든 데이터로 분석과 AI를 확장할 수 있습니다.

watsonx.data 알아보기
데이터 및 분석 컨설팅 서비스

IBM Consulting을 통해 엔터프라이즈 데이터의 가치를 실현하여 비즈니스 이점을 제공하는 인사이트 중심의 조직을 구축하세요.

분석 서비스 알아보기
다음 단계 안내

탁월한 고객 및 직원 경험을 제공하기 위해 데이터 사일로를 제거하고, 복잡성을 줄이며, 데이터 품질을 개선하는 데이터 전략을 구축하세요.

  1. 데이터 관리 솔루션 살펴보기
  2. watsonx.data 알아보기