Debezium은 오픈 소스 분산 플랫폼으로, 데이터베이스 변경 사항을 실시간으로 캡처하여 이벤트 스트림으로 변환하는 CDC(Change Data Capture) 기능을 제공합니다. 주로 Apache Kafka Connect 기반으로 사용되며, 다양한 데이터베이스의 변경 이벤트를 캡처하여 다른 시스템으로 전송할 수 있도록 합니다.
주요 특징:
- Change Data Capture (CDC):데이터베이스에서 발생하는 INSERT, UPDATE, DELETE와 같은 변경 사항을 실시간으로 캡처합니다.
- 오픈 소스 및 분산:오픈 소스 프로젝트로, 여러 노드에서 분산되어 실행될 수 있어 안정성과 확장성이 뛰어납니다.
- Kafka Connect 기반:Apache Kafka Connect 프레임워크를 기반으로 구축되어 카프카를 통해 데이터를 처리하고 전송합니다.
- 다양한 데이터베이스 지원:MongoDB, MySQL, PostgreSQL, SQL Server 등 다양한 데이터베이스를 지원합니다.
- 로그 기반 CDC:데이터베이스의 변경 로그를 기반으로 변경 사항을 캡처합니다.
- 유연한 데이터 동기화:CDC 기술을 활용하여 데이터 변경 사항만 동기화하므로, 전체 데이터 동기화 방식보다 비용과 속도 측면에서 효율적입니다.
- 미러링, 캐싱, 분석 등 다양한 활용:캡처된 변경 이벤트를 사용하여 데이터베이스 미러링, 캐싱, 분석 등 다양한 용도로 활용할 수 있습니다.
Debezium의 작동 방식 (간단히):
- Debezium 커넥터가 데이터베이스의 변경 로그를 읽습니다.
- 변경 사항을 캡처하여 이벤트 형태로 변환합니다.
- 변환된 이벤트를 Kafka 토픽에 발행합니다.
- 다른 시스템에서 Kafka 토픽을 구독하여 변경 이벤트를 처리합니다.
예시:
예를 들어, Debezium을 사용하여 MySQL 데이터베이스의 변경 사항을 캡처하여 Elasticsearch에 인덱싱할 수 있습니다. MySQL에서 데이터가 변경되면 Debezium이 이를 감지하고 Kafka를 통해 Elasticsearch 커넥터로 전달하여 Elasticsearch 인덱스를 업데이트합니다.
[K-Rater AM프로젝트의 EPDB의 천안(PRD)-탄방(GR)을 A-A로 구성, Data 동기화 방안]
Amdocs의 Bhaskar Reddy입니다.
Amdocs Charging은PostgreSQL(PG)를 Kubernetes에 resilient, automated, 및 self-healing을 갖춘 High Availability 방식의 아키텍처로 배포하여 최소한의 다운타임, automatic failover 및 데이터 정합성을 보장합니다. 이벤트 처리를 위해 고객 및 상품 가입자를 포함한 모든 데이터는 PG에서 IMDG로 푸시됩니다. PG에 장애가 발생하는 예외적인 이벤트가 발생하더라도 이벤트 처리에는 영향을 미치지 않습니다.
제안된 Active GR configuration에서는 PG instance가 GR site에서도 active 상태입니다. Debezium과 Kafka Mirror를 결합하여 애플리케이션 기반 복제(application-driven replication)를 사용하여 PRD에서 GR로 PG 데이터를 동기화합니다. Non-transparent PG Active-Active 복제 대신, Debezium과 Kafka Mirror 는 더 나은 모니터링 및 해결 방법을 제공하며 과금 애플리케이션에 의해 완전히 제어됩니다.
PRD의 PG에 장애가 발생하더라도 PRD의 이벤트 처리는 중단 없이 계속됩니다. PG 장애가 한동안 지속될 것으로 예상되는 경우, 장애 조치 시나리오(failover scenario)는 Charging이 GR site로 전환되는 것입니다. GR site 의 PG는 PRD와 동기화되어 있으므로 전환 후에도 정상적으로 작동할 수 있습니다.
Amdocs의 Bhaskar Reddy입니다.
Amdocs Charging은PostgreSQL(PG)를 Kubernetes에 resilient, automated, 및 self-healing을 갖춘 High Availability 방식의 아키텍처로 배포하여 최소한의 다운타임, automatic failover 및 데이터 정합성을 보장합니다. 이벤트 처리를 위해 고객 및 상품 가입자를 포함한 모든 데이터는 PG에서 IMDG로 푸시됩니다. PG에 장애가 발생하는 예외적인 이벤트가 발생하더라도 이벤트 처리에는 영향을 미치지 않습니다.
제안된 Active GR configuration에서는 PG instance가 GR site에서도 active 상태입니다. Debezium과 Kafka Mirror를 결합하여 애플리케이션 기반 복제(application-driven replication)를 사용하여 PRD에서 GR로 PG 데이터를 동기화합니다. Non-transparent PG Active-Active 복제 대신, Debezium과 Kafka Mirror 는 더 나은 모니터링 및 해결 방법을 제공하며 과금 애플리케이션에 의해 완전히 제어됩니다.
PRD의 PG에 장애가 발생하더라도 PRD의 이벤트 처리는 중단 없이 계속됩니다. PG 장애가 한동안 지속될 것으로 예상되는 경우, 장애 조치 시나리오(failover scenario)는 Charging이 GR site로 전환되는 것입니다. GR site 의 PG는 PRD와 동기화되어 있으므로 전환 후에도 정상적으로 작동할 수 있습니다.