JDBC Source Connector VS Debezium

Dev.Dana·2023년 12월 1일
0

Amazon

목록 보기
3/3

요약

데이터 처리 방식:

  • JDBC Source Connector: 설정된 간격으로 데이터베이스를 폴링하여 새로운 데이터를 검색하는 방식의 데이터 추출 메커니즘.
  • Debezium: 데이터베이스의 변경 로그를 실시간으로 모니터링하고 Kafka로 스트리밍하는 실시간 데이터 추적 시스템.

실시간 처리 능력:

  • JDBC Source Connector: 폴링 간격에 의존하는 제한된 실시간 데이터 처리 능력.
  • Debezium: 거의 즉각적인 데이터 변경 감지 및 전송을 가능하게 하는 높은 실시간 처리 성능.

적용 데이터베이스:

  • JDBC Source Connector: SQL 표준을 준수하는 다양한 데이터베이스와의 높은 호환성.
  • Debezium: MySQL, PostgreSQL 등 특정 데이터베이스 시스템의 변경 로그 기능에 대한 의존성.

리소스 사용과 오버헤드:

  • JDBC Source Connector: 주기적인 데이터베이스 폴링에 따른 데이터 전송과 처리의 오버헤드.
  • Debezium: 데이터베이스 내부 로그 사용으로 인한 추가적인 폴링 오버헤드 없는 최소화된 리소스 사용.

Debezium을 이용한 DB replication

Debezium을 사용하면 데이터베이스 데이터를 다른 데이터베이스로 복제하고 자동으로 입력하는 과정을 코드 작성 없이 구현할 수 있다.
위 프로세스는 Kafka Connect, Debezium 소스 커넥터(예: MySQL 용 Debezium 커넥터), Confluent JDBC 싱크 커넥터 및 몇 가지 단일 메시지 변환(SMT)을 활용한다.

Debezium MySQL 커넥터는 데이터베이스의 변경 사항을 구체적으로 포착하고, Confluent JDBC 싱크 커넥터는 각 메시지를 데이터베이스의 삽입 또는 업데이트 작업으로 변환한다.
이 두 커넥터는 메시지 구조와 삭제된 레코드를 표현하는 방식에서 차이가 있지만, Kafka Connect의 유연성을 통해 쉽게 처리할 수 있다.

결과적으로, Debezium과 Kafka Connect를 사용하여 MySQL 데이터베이스에서 PostgreSQL 데이터베이스로 데이터를 거의 실시간에 가깝게 복제하는 것이 가능하며, 이 과정은 모든 변경 사항을 지속적으로 포착하고 실시간에 가깝게 복제한다.
이러한 구현은 추가적인 소스 코드 작성이나 기존 코드의 변경 없이 수행될 수 있다.

profile
어제의 나보단 나은 오늘의 내가 되기를

0개의 댓글