3.5. 새로운 Debezium 기능
Debezium 2.1.3에는 다음 업데이트가 포함되어 있습니다.
3.5.1. 변경 사항 중단 링크 복사링크가 클립보드에 복사되었습니다!
Debezium 2.1.3에서 다음과 같은 변경 사항은 커넥터 동작의 큰 차이점을 나타내며 이전 Debezium 버전과 호환되지 않는 구성 변경이 필요합니다.
- 여러 커넥터에 적용되는 변경 사항
- 데이터베이스 기록 주제
- 이제 데이터베이스 스키마 기록 주제라고 합니다.
- 메모리 큐의 오브젝트 크기 제한
- 크기는 더 이상 리플렉션을 사용하여 계산되지 않습니다. 대신 큐 제한은 메시지 스키마를 기반으로 합니다. (DBZ-2766) (MongodB, MySQL, Oracle, PostgreSQL, SQL Server)
- 커넥터 메트릭 노출
- Debezium은 이전에 커넥터 메트릭을 스냅샷, 스트리밍 및 기록 기반 빈의 단일 10.0.0.1으로 노출했습니다. 이번 릴리스에서는 커넥터 지표가 다중 파티션 스키마로 노출됩니다. 그 결과 메트릭 이름과 노출되는 방식이 변경됩니다(DBZ-4726). 메트릭 수집을 위해 Grafana, Prometheus 또는 유사한 CloudEvent 프레임워크를 사용하는 경우 메트릭 수집 프로세스를 검토합니다.
database.server.name속성- 더 이상 커넥터 구성에 사용되지 않습니다. 자세한 내용은 표 3.1. “커넥터 구성 속성 업데이트”의 내용을 참조하십시오.
- 스키마 정의
- 이름 지정 및 버전 관리 일관성을 위해 Debezium 스키마는 이제 중앙 지점 (DBZ-4365,DBZ-5044)에 정의됩니다. 스키마 레지스트리를 사용하는 경우 스키마 호환성 문제가 발생할 수 있습니다.
- Debezium 스토리지 변경
-
이전 릴리스에서는 Integration에서 오프셋, 기록 및 기타 데이터를 debezium-core 모듈의 일부로 읽고 저장할 수 있도록 지원했습니다. 이번 릴리스에는 로컬 파일 시스템 또는 Kafka(DBZ-5229)에 데이터를 저장하기 위한 구현과 함께 새로운
debezium-storage모듈이 포함되어 있습니다. 이 접근 방식에 구현되는 확장 지점으로 향후 다른 스토리지 구현을 도입할 수 있습니다. 업그레이드의 일부로 코드에 필요한 스토리지 모듈 구현에 따라 애플리케이션의 종속성을 조정해야 할 수 있습니다. - 통신 예외 후 재시작
- 통신과 관련된 예외(SqlException, IOException)가 throw되면 기본적으로 Debezium MongoDB, MySQL, PostgreSQL 및 SQL Server 커넥터가 자동으로 다시 시작됩니다(DBZ-5244).
skipped.operations구성 옵션의 기본값-
기본값은 이제
truncate(DBZ-5497)입니다 (MongoDB, MySQL, Oracle, PostgreSQL, SQL Server) schema.name.adjustment.mode속성의 기본값-
기본값은 이제
none(DBZ-5541)입니다. 이전의 기본 옵션인avro는 Avro 변환기를 사용하는 고객에게는 좋은 선택 였지만 JSON 변환기를 사용하는 환경에서 혼동을 일으켰습니다. 이러한 변경의 일환으로sanitize.field.names속성을 더 이상 사용할 수 없습니다. - * 커넥터 구성 속성 제거
Debezium 1.x 버전에서 사용 가능한 여러 속성은 더 이상 유효하지 않으며 새 속성으로 대체되었습니다. 자세한 내용은 다음 표를 참조하십시오.
Expand 표 3.1. 커넥터 구성 속성 업데이트 1.x 속성 동등한 2.x 속성 database.*(pass-through 데이터베이스 드라이버 속성) (dBZ-5043)driver.*database.dbname(SQL Server)database.namesdatabase.history.consumer.*(BZ-5043)schema.history.internal.consumer.*database.history.kafka.bootstrap.servers(DBZ-5043)schema.history.internal.kafka.bootstrap.serversdatabase.history.kafka.topic(DBZ-5043)schema.history.internal.kafka.topicdatabase.history.producer.*(BZ-5043)schema.history.internal.producer.*database.server.name(DBZ-5043)topic.prefixMongoDB.name(MongoDB)topic.prefixschema_blacklist(BZ-5045)schema_exclude_listschema_whitelist(DBZ-5045)schema_include_list- MySQL 커넥터에 적용되는 변경 사항
- MySQL 커넥터는 더 이상 기존 JDBC 레거시 날짜/시간 속성을 지원하지 않습니다(DBZ-4965).
- MongoDB 커넥터에 적용되는 변경 사항
- MongoDB 커넥터는 더 이상 oplog에서 직접 스트리밍을 지원하지 않습니다. 변경 스트림은 MongoDB를 사용하여 변경 데이터 캡처를 수행하기 위한 우수한 메커니즘을 나타냅니다. 이제 커넥터에서 직접 oplog 데이터를 캡처하고 디코딩하는 작업을 MongoDB 변경 스트림에 위임하여 컬렉션 내에서 발생하는 변경 사항을 이벤트 스트림으로 노출합니다. Debezium 커넥터는 스트림을 구독한 다음 Kafka의 다운스트림을 제공합니다. 스트림 변경으로 전환하면 비기본 노드에서 변경 사항을 스트리밍할 수 있는 기능과 다운스트림 소비자에 대한 전체 문서 표현으로 업데이트 이벤트를 발송할 수 있는 다양한 이점이 있습니다.
-
구성 속성
mongodb.name이topic.prefix속성으로 교체됩니다.
- PostgreSQL 커넥터에 적용되는 변경 사항
- SQL Server 커넥터에 적용되는 변경 사항
-
SQL Server 데이터베이스에 대해 SSL을 사용하지 않거나 SSL을 사용하지 않고 데이터베이스에 연결하려는 경우 커넥터 구성에서
database.encrypt속성 값을false로 설정하여 SSL을 비활성화합니다. -
database.dbname속성은database.names속성으로 교체됩니다.
-
SQL Server 데이터베이스에 대해 SSL을 사용하지 않거나 SSL을 사용하지 않고 데이터베이스에 연결하려는 경우 커넥터 구성에서
3.5.2. 일반 가용성으로 승격된 기능 링크 복사링크가 클립보드에 복사되었습니다!
다음 기능은 Debezium 2.1.3 릴리스의 기술 프리뷰에서 일반 가용성으로 승격됩니다.
3.5.3. Debezium 기능 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
이 Debezium 2.1.3 릴리스는 다음 목록에 있는 항목을 포함하여 몇 가지 기능 업데이트 및 수정을 제공합니다.