7장. 변경 데이터 캡처로 캡처한 제품 변경 사항
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
AATD의 운영팀은 이제 주문 수와 비즈니스 수익에 대한 확실한 개요를 파악할 수 있게 되었습니다. 아쉬운 점은 제품 수준에서 어떤 일이 일어나고 있는지 알 수 없다는 것입니다. 비즈니스의 다른 부분에서 제기된 불만에 따르면 일부 제품의 주문이 급증하는 반면 다른 품목의 재고가 너무 많다는 것입니다.
개별 제품에 대한 데이터는 현재 MySQL 데이터베이스에 저장되어 있지만, 이 데이터를 꺼내 실시간 분석 아키텍처로 가져와야 합니다. 이 장에서는 변경 데이터 캡처 (CDC)라는 기술을 사용하여 이 작업을 수행하는 방법을 알아보겠습니다.
운영 데이터베이스에서 변경 사항 캡처하기
기업은 종종 운영 또는 OLTP, 데이터베이스에 트랜잭션을 기록합니다. 기업들은 종종 운영 데이터를 분석하고 싶어 하지만 어떻게 해야 할까요?
기존에는 운영 데이터베이스에서 데이터 웨어하우스와 같은 분석 데이터베이스로 데이터를 이동하는 데 ETL 파이프라인이 사용되었습니다. 이러한 파이프라인은 주기적으로 실행되어 소스 데이터베이스에서 데이터를 대량으로 추출하고, 그 후 분석 데이터베이스에 로드하기 전에 데이터를 변환했습니다.
이러한 기존 접근 방식의 문제점은 데이터 수집과 의사 결정 사이에 상당한 지연 시간이 발생한다는 점입니다. 예를 들어, 일반적인 배치 파이프라인은 운영 데이터에서 인사이트를 생성하는 데 몇 분, 몇 시간 또는 며칠이 걸립니다.
소스 데이터베이스의 변경 사항이 발생하는 즉시 실시간으로 캡처할 수 있는 메커니즘이 있다면 어떨까요? 바로 이 지점에서 CDC 기술이 등장합니다.
데이터 캡처 변경
이 섹션에서는 CDC를 정의하고 CDC가 필요한 이유를 설명한 다음 이를 달성하기 위한 기술을 설명합니다. CDC 도구의 사실상 표준으로 떠오른 Debezium에 대해 설명하는 것으로 마무리하겠습니다.
CDC가 필요한 이유는 무엇인가요?
애플리케이션을 구축하기 시작할 때는 모든 데이터 요구 사항에 대해 단일 데이터베이스를 사용하는 것으로 만족할 수 있습니다. 하지만 애플리케이션이 발전함에 따라 데이터 액세스 패턴이 달라지고 다양한 데이터 모델이 필요하게 됩니다.
따라서 직면하는 다양한 문제를 처리하기 위해 여러 데이터 도구를 사용해야 할 수도 있습니다. 예를 들어, 전체 텍스트 검색을 수행하려면 검색 엔진이, 읽기 속도를 높이려면 캐시가, 데이터에 대한 복잡한 기록 분석을 수행하려면 데이터 웨어하우스가 필요할 수 있습니다.
그림 7-1은 애플리케이션이 여러 데이터 시스템을 사용하는 방법을 보여줍니다.
그림 7-1. 여러 곳에 데이터가 있는 애플리케이션
여러 시스템에 데이터가 있으면 데이터의 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access