변경 데이터 캡처(CDC)
데이터 정확성을 희생하지 않고도 데이터를 더 빠르고 효율적으로 사용할 수 있습니다.
Siddharth Pal DevOps 팀, Hike 작성
데이터에서 얻은 인사이트는 모든 제품에서 가장 중요한 부분 중 하나이지만 게임 앱을 만들 때는 소스 데이터베이스에서 데이터 변경 사항을 가져와 거의 실시간으로 데이터 웨어하우스에 넣는 것이 훨씬 더 중요합니다.
CDC는 배치 데이터 수집보다 더 효율적이고 빠르므로 데이터를 시스템으로 가져오고 신속하게 분석해야 하는 데이터 및 BI 팀을 위한 솔루션입니다.
우리는 21년 8월에 모든 기본 데이터 세트에 대해 CDC를 생각하기 시작하고 구현한 흥미로운 사용 사례를 가졌습니다. 우리는 모든 최신 소프트웨어 변경 사항 및 소스 데이터 마이그레이션과 함께 1년 이상 CDC 파이프라인에서 작업해 왔으며 이 블로그에서 공유하게 되어 기쁩니다. 이 기간 동안 우리는 더 중요한 비즈니스 애플리케이션을 위해 여러 데이터베이스를 추가하고 데이터베이스 샤딩으로 전환했습니다.
CDC를 채택하기로 결정한 이유는 무엇입니까?
예치금 또는 출금 상태, 특정 게임의 게임 세션 상태, 이상 징후 발견, 실시간 캠페인, 머신 러닝 모델, 운영 분석 등과 같은 사용 사례는 거의 실시간으로 데이터를 필요로 합니다. 데이터의 모든 변경 사항을 기록합니다.
CDC 파이프라인 설정
그렇다면 CDC 파이프라인을 설정하려면 어디서부터 시작해야 할까요?
- 최소 3노드 kafka 클러스터를 시작합니다.
- 데이터베이스 버전과 호환되는 안정적인 debezium 커넥터를 다운로드 하고 브로커 서버 또는 전용 노드에 설치하십시오.
- 프로비저닝된 인프라 간에 네트워크 연결을 설정합니다.
- 원본 데이터베이스에서 읽기 전용 사용자를 만듭니다.
- 몽고DB:
- MySQL:
- MySQL:
- 주기적인 로드 급증 : 대규모 쿼리는 대기 시간과 궁극적으로 사용자 경험에 영향을 미치므로 배치 작업을 예약하기 위해 추가 보조 서버를 설정합니다.
- 지연된 비즈니스 의사 결정 : 데이터를 기반으로 한 비즈니스 의사 결정은 폴링 빈도로 인해 지연됩니다.
- CDC는 손실을 방지하기 위해 데이터를 백업하는 도구 역할을 할 수 있습니다.
- BI 도구를 사용하거나 AI/머신 러닝 파이프라인에 대한 입력 프로세스로 추가 조사.
우리는 무엇을 성취했습니까?
기존 ETL에서 스트리밍으로 이동하면 다음과 같은 두 가지 큰 문제가 해결됩니다.
컬 호출을 실행하여 모니터링 도구에서 커넥터 상태를 모니터링합니다.
다음 단계
CDC는 우리에게 효과적인 플랫폼임을 입증했으며 우리는 이를 통해 더 많은 일을 할 수 있다는 것을 알았습니다.
다음 단계로 다음과 같은 더 많은 방법을 모색하고 있습니다.

![연결된 목록이란 무엇입니까? [1 부]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































