쿼리 기반 커넥터

중요합니다

이 기능은 공개 미리보기 단계에 있습니다.

Lakeflow Connect의 쿼리 기반 커넥터는 CDC(변경 데이터 캡처) 구성 없이 원본을 직접 쿼리하여 데이터베이스에서 데이터를 수집합니다. binlog 또는 CDC 인프라를 사용하는 대신 커서 열(단조적으로 증가하는 타임스탬프 또는 정수 열)을 사용하여 마지막 파이프라인 실행 이후 새 행 또는 업데이트된 행을 추적합니다.

쿼리 기반 커넥터는 Unity 카탈로그 연결 및 Lakehouse 페더레이션 을 사용하여 원본 데이터베이스에 연결하고 결과를 스트리밍 테이블에 씁니다.

작동 방식

각 파이프라인 실행에서 쿼리 기반 커넥터는 원본 데이터베이스를 쿼리하고 이전 실행에서 기록된 값보다 큰 커서 열 값으로 모든 행을 검색합니다. 커넥터는 실행이 성공할 때마다 커서 열의 최고 수위를 저장하고, 이 값을 다음 실행의 하한으로 사용합니다.

커넥터는 원본을 직접 쿼리하므로 수집 게이트웨이 또는 스테이징 볼륨이 필요하지 않습니다. 파이프라인은 지속적으로 실행되는 것이 아니라 정의한 일정에 따라 실행됩니다.

CDC 데이터베이스 커넥터와 비교한 쿼리 기반 커넥터

쿼리 기반 커넥터는 다음과 같은 방법으로 CDC 데이터베이스 커넥터와 다릅니다.

  • 수집 게이트웨이 없음: CDC 커넥터는 게이트웨이를 사용하여 binlog 이벤트를 캡처해야 합니다. 쿼리 기반 커넥터는 게이트웨이를 사용하지 않습니다.
  • 스테이징 볼륨 없음: CDC 커넥터는 스테이징 볼륨에서 추출된 데이터를 버퍼링합니다. 쿼리 기반 커넥터는 원본 쿼리에서 대상 테이블로 직접 씁니다.
  • 연속이 아닌 예약됨: 쿼리 기반 커넥터는 일정에 따라 실행됩니다. 실행 간에 모든 중간 행 상태를 캡처하지는 않습니다. 변경된 행의 최신 상태만 캡처합니다.
  • 광범위한 원본 호환성: CDC 또는 binlog 액세스를 지원하지 않더라도 적합한 커서 열이 있는 모든 데이터베이스는 유효한 원본입니다.

단점은 쿼리 성능이 느려질 수 있고 쿼리가 원본 테이블에서 직접 실행되므로 binlog를 쿼리하는 CDC 커넥터에 비해 원본 데이터베이스에 더 많은 부하를 배치할 수 있다는 것입니다. 소프트 삭제 추적은 deletion_condition를 사용하여 지원됩니다. 하드 삭제 추적은 베타에서도 지원됩니다. 둘 다 API 구성이 필요합니다.

지원되는 데이터 수집 방법

쿼리 기반 커넥터는 여러 수집 방법을 지원합니다. 사용하는 방법은 필요한 구성 매개 변수를 결정합니다.

접근법 연결 방법 필수 매개 변수
외부 연결 수집 원본 데이터베이스에 대한 인증 자격 증명을 저장하는 연결을 사용합니다. 커넥터는 연결을 사용하여 원본 데이터베이스를 직접 쿼리합니다. connection_name, source_catalog, source_schema, source_tablecursor_column
외부 카탈로그 통합 Lakehouse 페더레이션 데이터 원본을 기반으로 하는 외부 카탈로그를 사용합니다. 커넥터는 원본 데이터베이스에 직접 연결하는 대신 외부 카탈로그를 사용하여 원본 데이터를 읽습니다. ingest_from_uc_foreign_catalog: true, cursor_columns( primary_keys 모드를 사용하지 APPEND_ONLY 않는 한 필수)

지원되는 원본

지원되는 데이터베이스 원본은 다음과 같습니다.

외부 연결 수집 원본:

  • Oracle
  • Teradata
  • SQL Server
  • MySQL
  • MariaDB
  • PostgreSQL

해외 카탈로그 수집 소스:

모든 Lakehouse 페더레이션 데이터 원본은 외부 카탈로그 인제스트를 사용하여 지원됩니다. 전체 목록은 레이크하우스 페더레이션을 참조하세요.

지원되는 인터페이스

Azure Databricks UI 또는 선언적 자동화 번들을 사용하여 쿼리 기반 파이프라인을 만들 수 있습니다.

컴퓨팅 요구 사항

쿼리 기반 수집 파이프라인은 기본적으로 서버리스 컴퓨팅에서 실행됩니다. 클래식 컴퓨팅은 베타에서 지원되지만 API만 사용합니다. Databricks는 서버리스 컴퓨팅을 사용하는 것이 좋습니다.

서버리스 컴퓨팅에서 쿼리 기반 커넥터를 사용하려면 컴퓨팅 환경에서 원본 데이터베이스에 대한 네트워크 연결을 허용해야 합니다. Lakehouse 페더레이션에 대한 네트워킹 및 네트워킹 권장 사항을 참조하세요.

SCD(기록 추적) 모드

쿼리 기반 커넥터는 대상 테이블에 대해 SCD(느린 변경 차원) 모드라고도 하는 다음과 같은 기록 추적 모드를 지원합니다.

  • SCD_TYPE_1: 대상 테이블의 기존 행을 최신 원본 행으로 덮어씁니다. 역사는 보존되지 않습니다.
  • SCD_TYPE_2: 버전 메타데이터를 사용하여 새 행을 추가하여 행 변경 내용의 전체 기록을 유지합니다. 기록 추적 사용(SCD 유형 2)을 참조하세요.
  • APPEND_ONLY: 수집된 모든 행을 병합하거나 덮어쓰지 않고 대상 테이블에 추가합니다.

스키마 진화

쿼리 기반 커넥터는 Lakeflow Connect의 다른 관리형 커넥터와 동일한 방식으로 스키마 진화를 처리합니다. 관리형 커넥터가 스키마 진화를 어떻게 처리합니까?를 참조하세요.