전문가의 인사이트를 바탕으로 한 최신 기술 뉴스
Think 뉴스레터를 통해 AI, 자동화, 데이터 등 가장 중요하고 흥미로운 업계 동향에 대한 최신 소식을 받아보세요. IBM 개인정보 보호정책을 참조하세요.
변경 데이터 캡처는 조직 전반에서 사일로화되거나 일관되지 않은 상태로 남아 있을 수 있는 데이터를 결합하고 조화시키는 실시간 데이터 통합 방식입니다. 그 밖의 데이터 통합 방식에는 스트림 데이터 통합, 데이터 가상화 및 애플리케이션 통합이 있습니다.
낮은 지연 시간으로 다운스트림 프로세스와 시스템을 거의 실시간 또는 실시간으로 최신 상태로 유지하는 CDC의 기능은 실시간 데이터 분석, 클라우드 마이그레이션 및 인공지능(AI) 모델의 성공에 핵심적인 역할을 합니다. CDC는 소매, 금융 및 헬스케어와 같은 산업 전반에서 사기 탐지, 공급망 관리 및 규제 준수 등 다양한 활용 사례를 지원합니다.
변경 데이터 캡처에는 여러 접근 방식이 있으며, 그중 로그 기반 CDC, 타임스탬프 기반 CDC 및 트리거 기반 CDC가 가장 일반적으로 사용됩니다. 기업은 데이터베이스 네이티브 툴, 오픈 소스 플랫폼 및 타사 솔루션을 통해 변경 데이터 캡처를 구현할 수 있습니다.
Think 뉴스레터를 통해 AI, 자동화, 데이터 등 가장 중요하고 흥미로운 업계 동향에 대한 최신 소식을 받아보세요. IBM 개인정보 보호정책을 참조하세요.
현대적인 데이터 관리에서 변경 데이터 캡처는 중요한 데이터 엔지니어링 메커니즘으로 부상했습니다. 오늘날의 기업 데이터 환경은 점점 더 대규모화되고 복잡해지고 있습니다. 여기에는 사물인터넷(IoT) 장치, 분산 데이터베이스, 애플리케이션 및 기타 다양한 소스의 데이터가 포함될 수 있습니다. 이처럼 확장되는 데이터 에코시스템 전반에서 일관되고 품질이 높은 데이터를 유지보수하는 일은 지속적인 과제입니다.
동시에 기업에서는 실시간 의사 결정에 활용할 수 있는 최신의 정확한 정보가 필요합니다. 변경 데이터 캡처는 조직이 이러한 요구 사항을 충족하는 데 도움이 되는 여러 방법 중 하나입니다.
변경 데이터 캡처는 다른 데이터 통합 방식보다 더 효율적이고 리소스 사용량이 적은 방식으로 최신 데이터를 제공하는 저지연 데이터 파이프라인을 가능하게 합니다. 예를 들어 데이터 복제는 전체 데이터 세트를 복사하는 작업을 의미합니다. 반면 CDC는 변경된 데이터만 전송하므로 소스 시스템 부하, 네트워크 트래픽 및 컴퓨팅 성능 요구 사항을 줄일 수 있습니다.
이를 통해 최신의 가장 정확한 정보에 빠르고 효율적으로 액세스할 수 있어 다음과 같은 여러 가지 이점을 얻을 수 있습니다.
CDC는 조직이 운영 데이터를 실시간 데이터 분석 플랫폼 및 대시보드로 스트리밍할 수 있도록 지원하여 더욱 정확하고 최신의 보고, 비즈니스 분석 정보 및 의사결정을 가능하게 합니다. 이러한 기능을 통해 기업은 오늘날의 시간 민감형 24시간 비즈니스 환경의 요구 사항을 지원할 수 있습니다.
데이터 소스와 대상 시스템 간 지속적인 동기화는 최소한의 다운타임 또는 중단으로 데이터베이스, 클라우드 환경 또는 애플리케이션 간 데이터 마이그레이션을 지원합니다. 예를 들어 클라우드 마이그레이션 중 CDC는 온프레미스에서 발생한 데이터 변경 사항을 관련 클라우드 기반 데이터 테이블에 신속하게 전달하여 두 환경 간 일관성을 보장합니다.
변경 데이터 캡처는 소스 데이터 시스템에서 발생하는 삽입, 업데이트 및 삭제를 식별하고 기록합니다. 이러한 소스에는 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 모델에서는 소스 시스템이 변경 사항을 감지하고 이를 즉시 대상 시스템으로 “푸시”하거나 전송합니다. 이 접근 방식은 일반적으로 데이터베이스 트랜잭션 로그, 이벤트 스트림 또는 Apache Kafka와 같은 메시지 브로커를 사용해 구현됩니다.
변경 사항이 발생하는 즉시 전송되므로 푸시 기반 CDC는 일반적으로 스트리밍 분석, 이벤트 기반 아키텍처 및 AI/ML 시스템과 같이 실시간 또는 거의 실시간 데이터 이동이 필요한 활용 사례를 지원합니다.
풀 기반 CDC에서는 대상 시스템이 소스 시스템을 정기적으로 폴링하고 변경 사항이 발견되면 이를 “풀”합니다. 폴링은 고정된 일정에 따라 수행될 수 있으므로 풀 기반 CDC는 배치 중심 워크로드 또는 즉각적인 업데이트가 필요하지 않은 시스템에 적합합니다.
이 접근 방식은 푸시 기반 CDC보다 단순하고 덜 복잡한 인프라를 필요로 하지만, 더 높은 지연 시간을 초래하고 소스 데이터베이스의 쿼리 부하를 증가시켜 데이터베이스 성능에 영향을 줄 수 있습니다. 많은 최신 데이터 플랫폼은 데이터 요구 사항 및 운영 요구 사항에 따라 두 접근 방식을 모두 지원합니다.
변경 데이터 캡처를 실행하는 방법에는 여러 가지가 있습니다. 일반적인 CDC 유형은 다음과 같습니다.
데이터베이스 트랜잭션 로그는 데이터베이스의 표준 기능이며 모든 데이터베이스 트랜잭션을 기록하는 데 사용됩니다. (트랜잭션 로그 파일은 시스템 장애 시 데이터베이스를 복구하는 데 사용할 수 있습니다.)
로그 기반 CDC에서는 CDC 애플리케이션이 로그에 기록된 데이터베이스 변경 사항(데이터 및 메타데이터 모두)을 처리하고 해당 업데이트를 다른 시스템과 공유합니다. 로그 기반 CDC는 효율성 덕분에 점점 더 널리 사용되고 있습니다. 이 방식은 쿼리 대신 로그에 의존하므로 소스 시스템에 상당한 부하를 줄 수 있는 쿼리 실행을 줄일 수 있습니다. 그러나 트랜잭션 로그 형식의 차이로 인해 서로 다른 데이터베이스 간 로그 기반 CDC 실행이 복잡해질 수 있습니다.
타임스탬프 기반 변경 데이터 캡처(쿼리 기반 CDC라고도 함)를 사용하려면 데이터베이스 테이블 스키마에 기록 변경 날짜와 시간을 나타내는 타임스탬프 열과 같은 열이 있어야 합니다. CDC 툴을 사용하면 소스 테이블의 타임스탬프 열을 통해 변경된 기록을 식별하고 대상 시스템에 업데이트를 제공할 수 있습니다.
타임스탬프 기반 CDC는 구현이 간단할 수 있지만, 타임스탬프 데이터를 자주 폴링할 경우 시스템에 추가적이고 부담이 큰 부하를 줄 수 있습니다. 또한 타임스탬프 기반 CDC는 행 전체와 함께 타임스탬프가 삭제되면 삭제 작업을 캡처하지 못합니다.
트리거 기반 변경 데이터 캡처에서 데이터베이스 트리거라고 불리는 저장 프로시저 또는 함수는 데이터베이스에서 특정 변경 사항(예: 삽입, 삭제, 업데이트)이 발생할 때마다 실행됩니다. 변경된 데이터는 일반적으로 변경 테이블 또는 그림자 테이블이라고 불리는 테이블에 저장됩니다.
타임스탬프 기반 CDC와 마찬가지로 트리거 기반 CDC도 간단하게 구현할 수 있습니다. 그러나 소스 테이블에서 트랜잭션이 발생할 때마다 트리거가 '실행'되어 소스 시스템에 부담을 줄 수도 있습니다.
CDC를 보다 완전하게 이해하기 위해 일반적인 CDC 소스와 대상 시스템을 살펴보겠습니다.
CDC 소스는 데이터가 생성되는 시스템으로, 예를 들면 다음과 같습니다.
CDC 대상 시스템은 데이터가 스트리밍되거나 복제되는 시스템으로, 예를 들면 다음과 같습니다.
소스와 대상 시스템을 연결하려면 일반적으로 CDC 툴, 커넥터 및 데이터 통합 플랫폼이 필요합니다.
ETL(추출, 변환, 적재)과 변경 데이터 캡처는 모두 널리 사용되는 데이터 통합 방식이지만, 서로 다른 목적을 위해 설계되었습니다.
다음은 ETL과 CDC의 주요 차이점입니다.
오늘날 조직은 ETL과 CDC를 모두 사용하는 경우가 많으며, 종종 함께 활용합니다. 예를 들어 CDC는 초기 데이터 적재 이후 증분 업데이트를 전송함으로써 ETL 파이프라인을 보완합니다. 이를 통해 다음 ETL 작업이 실행될 때까지 기다리지 않고도 소스 시스템에서 변경이 발생하는 즉시 데이터 세트를 실시간으로 최신 상태로 유지할 수 있습니다.
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 툴을 평가할 때 일반적으로 다음 요소를 고려합니다.
기업은 다음과 같이 다양한 용도로 변경 데이터 캡처를 배포할 수 있습니다.
변경 데이터 캡처를 통해 재무 기록의 변경 사항을 지속적으로 추적하면 상당한 손실이 발생하기 전에 사기 행위를 탐지할 수 있습니다.
CDC는 IoT 디바이스에서 생성된 방대한 양의 실시간 데이터를 효율적으로 통합하여 예측 유지보수 및 실시간 모니터링을 가능하게 합니다.
변경 데이터 캡처를 통해 실시간 판매, 재고 및 공급망 정보에 액세스하면 기업은 재고 부족을 방지하고 수익성 있는 가격 결정을 내릴 수 있습니다.
변경 데이터 캡처는 규제가 엄격한 기업이 GDPR, 사베인스-옥슬리(SOX)법 및 미국 HIPAA와 같은 규정과 법률을 준수하고 보고하는 데 필요한 정확한 기록을 보관하는 데 도움이 될 수 있습니다.
직관적인 그래픽 인터페이스를 통해 스트리밍 데이터 파이프라인을 생성하여 하이브리드 및 멀티클라우드 환경 전반에서 완벽한 데이터 통합을 촉진합니다.
watsonx.data를 사용하면 오픈, 하이브리드 및 관리형 데이터 저장소를 통해 데이터의 위치와 관계없이 모든 데이터로 분석과 AI를 확장할 수 있습니다.
IBM Consulting을 통해 엔터프라이즈 데이터의 가치를 실현하여 비즈니스 이점을 제공하는 인사이트 중심의 조직을 구축하세요.