>  기사  >  컴퓨터 튜토리얼  >  변경 데이터 캡처: 개요, 이유 및 모범 사례

변경 데이터 캡처: 개요, 이유 및 모범 사례

WBOY
WBOY앞으로
2024-02-19 15:42:18501검색

변경 데이터 캡처: 개요, 이유 및 모범 사례

오늘날의 비즈니스, 특히 디지털 혁신을 우선시하는 비즈니스에는 실시간 데이터가 절실히 필요합니다. 기존의 주간 및 월간 일괄 처리는 더 이상 수요를 충족할 수 없습니다. 그러나 여러 소스에서 실시간 데이터를 얻고 이를 사용하여 프로세스를 자동화하고 의사결정을 동적으로 최적화하는 것은 쉽지 않습니다.

최근 우리는 고객의 레거시 시스템을 재설계하고 모놀리식 아키텍처를 마이크로서비스로 분할할 때 문제에 직면했습니다. 우리는 데이터베이스를 변경하고 모듈별로 시스템을 현대화하기 시작했습니다. 이 단계에서는 서로 다른 모듈에 동일한 데이터가 필요할 수 있으므로 두 데이터베이스가 동기화 상태를 유지하는지 확인해야 합니다. 즉, 이전 시스템에는 새 데이터베이스의 새 시스템에서 생성된 데이터가 필요하고 그 반대의 경우도 마찬가지입니다.

우리는 변경 데이터 캡처(CDC) 기술을 조사하여 그것이 우리의 요구 사항에 맞는지 판단했습니다. 이 기사에서는 CDC의 정의, 테스트한 도구, 작동 방식 및 장점에 대해 자세히 설명합니다. 동시에 다른 기술자가 특정 상황에서 적절한 CDC 도구를 선택하는 데 도움이 되는 몇 가지 사례와 제안을 공유했습니다.

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

데이터 캡처는 소스 시스템의 변경 사항을 감지하고 캡처한 다음 이러한 변경 사항을 거의 실시간으로 대상 시스템에 전달하는 프로세스를 의미합니다. 이러한 변경 사항에는 삽입, 삭제, 업데이트 작업 및 데이터베이스 구조에 대한 DDL 변경 사항이 포함될 수 있습니다.

변경 데이터 캡처 도구의 작동 방식

CDC 도구는 소스 시스템의 데이터 변경을 모니터링하여 기능을 구현합니다. 변경 사항이 발견되면 CDC 도구는 이를 캡처하여 데이터베이스나 로그 파일과 같은 지정된 위치에 기록합니다. 처리되고 변환된 데이터는 데이터 웨어하우스나 분석 플랫폼과 같은 대상 시스템에 로드됩니다.

데이터베이스 변경 사항을 캡처하는 방법에는 여러 가지가 있습니다. 그 중 일부를 살펴보겠습니다:

1. 타임스탬프/쿼리 기반

이 방법에서는 소스에서 CREATED_AT, LAST_UPDATED 또는 DATE_MODIFIED와 유사한 일부 감사 열을 유지하고 소스의 데이터를 쿼리하여 데이터 변경 사항을 캡처하여 이러한 열의 변경 사항을 감지합니다. 이 방법은 삭제 작업을 기록하지 않는다는 점에 유의해야 합니다.

2. 트리거 기반

트리거는 특정 이벤트를 기반으로 작업을 수행하는 데이터베이스의 기능입니다. 삭제 작업을 포함한 모든 변경 사항을 캡처하는 데 유용하지만 각 이벤트에 여러 번 쓰기가 필요하므로 데이터베이스 성능이 저하됩니다.

3. 로그 기반

데이터베이스에는 충돌 발생 시 복구를 위한 트랜잭션 로그가 포함되어 있으며 모든 이벤트를 저장합니다. 로그 기반 CDC를 사용하면 새 데이터베이스 트랜잭션을 기본 로그에서 직접 읽을 수 있으므로 소스 테이블을 스캔하지 않고도 변경 사항을 캡처할 수 있으므로 더 효율적입니다.

이 접근 방식은 이벤트 기반 아키텍처의 이벤트 소싱과 유사합니다. 시스템 상태가 변경될 때마다 이를 이벤트로 기록합니다. 기록된 이벤트는 언제든지 동일한 순서로 재생되어 시스템 상태를 재구성할 수 있습니다.

CDC를 사용해야 하는 이유는 무엇인가요?

CDC는 상황, 애플리케이션, 아키텍처, 비즈니스 요구 사항에 따른 다양한 시나리오에서 매우 중요합니다. CDC가 엔지니어링 프로세스에 도움을 주는 몇 가지 방법은 다음과 같습니다.

  • 실시간 데이터 가용성: CDC 도구는 거의 실시간으로 변경 사항을 캡처하여 최신 데이터를 분석, 보고 또는 추가 처리에 사용할 수 있도록 합니다.
  • 더 빠른 의사 결정: CDC는 캡처와 데이터 가용성 사이의 지연을 줄여 더 빠른 분석과 의사 결정을 가능하게 합니다.
  • 효율적인 데이터 통합: CDC 도구는 여러 운영 소스에서 데이터를 캡처하고 단일 대상 데이터베이스 또는 데이터 레이크에서 공통 형식으로 변환하는 데 도움이 됩니다.
  • 대상 데이터베이스의 맞춤형 설계: CDC는 CQRS 시스템에서 읽기 전용 검색 또는 쿼리 데이터베이스 생성, 감사 데이터베이스 생성 또는 데이터 웨어하우스에서 데이터 캡처와 같은 다기능적 이점을 제공합니다. 이를 통해 기본 데이터 저장소에서 비기능적 및 아키텍처적 요구 사항을 분리할 수 있습니다.
  • 간소화된 데이터 마이그레이션: 우리의 경우 CDC는 현대화 단계에서 레거시 데이터베이스와 새 데이터베이스 간의 데이터 일관성을 유지하는 데 도움을 줍니다. 이는 다양한 다른 데이터 마이그레이션 시나리오에도 적용됩니다.

올바른 CDC 도구를 선택하는 방법은 무엇인가요?

시장에는 Oracle Golden Gate, Debezium, IBM Infosphere, Striim, StreamSets 및 Qlik Replicate와 같은 여러 CDC 도구가 있습니다. 이러한 도구는 오픈 소스이거나 유료일 수 있습니다. 일반적으로 온프레미스 및 클라우드 환경을 지원하며 다양한 데이터 소스를 처리할 수 있습니다. 선택할 때 다음 사항을 고려하세요:

  • 데이터 소스와의 호환성: 최소한 선택한 도구는 변경 사항을 캡처하려는 모든 데이터 소스와 호환되어야 합니다.
  • 실시간 데이터 캡처: 도구는 최신 데이터로 작업할 수 있도록 거의 실시간으로 변경 사항을 캡처해야 합니다.
  • 데이터 변환 및 통합: CDC 도구는 소스 데이터 유형에서 대상 데이터 유형으로의 데이터 변환을 처리할 수 있어야 합니다.
  • 가격: CDC 도구는 사용 사례에 따라 비용 효율적이어야 합니다. 오픈 소스, 유료 및 라이센스 제품이 있습니다.
  • 사용 용이성 및 지원: 도구는 팀이 사용하기 쉬워야 하며 포괄적인 문서 및 기술 지원을 포함하여 적절한 지원을 제공해야 합니다.
  • 기타 기능: 필요에 따라 원본과 대상 간의 양방향 동기화 및 클라우드 지원과 같은 다른 특정 기능을 확인하고 싶을 수도 있습니다.

비즈니스가 기술 중심으로 변하면서 과거 및 현재 데이터가 중요한 차별화 요소가 될 것입니다. 정확하고 시의적절하며 효율적이고 비용 효율적인 변경 데이터 캡처를 달성하는 것은 모든 기술 혁신 프로그램에서 중요한 부분이 될 것입니다. 이런 상황에 직면했을 때, 이 글이 도움이 되기를 바랍니다.

위 내용은 변경 데이터 캡처: 개요, 이유 및 모범 사례의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 mryunwei.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제