외부 데이터베이스 및 카탈로그에 연결

Azure Databricks 데이터를 마이그레이션하지 않고 외부 데이터베이스 및 카탈로그의 데이터를 쿼리하고 액세스하기 위한 여러 옵션을 제공합니다. 액세스 패턴, 거버넌스 요구 사항, 쓰기 요구 사항 및 컴퓨팅 기본 설정에 따라 접근 방식을 선택합니다.

방법 선택

다음 표에서는 쿼리 페더레이션 및 카탈로그 페더레이션을 비교하여 올바른 방법을 선택하는 데 도움이 됩니다.

Description 쿼리 실행 쓰기 지원 Governance 적합한 대상
쿼리 페더레이션 외부 카탈로그를 통해 자동 쿼리 푸시다운 및 Unity 카탈로그 거버넌스를 사용하여 JDBC를 사용하여 외부 관계형 데이터베이스에 대해 페더레이션된 쿼리를 실행합니다. JDBC를 사용하여 외부 데이터베이스로 푸시다운되었습니다. 쿼리는 Azure Databricks 및 원격 컴퓨팅 모두에서 실행됩니다. 지원되지 않습니다(읽기 전용). 테이블 수준 액세스 제어가 적용된 Unity Catalog 외부 카탈로그 운영 데이터베이스에 대한 임시 보고, BI 및 개념 증명 액세스.
카탈로그 페더레이션 외부 카탈로그 플랫폼(예: Hive Metastore, AWS Glue 또는 Snowflake)을 연결하여 개체 스토리지에서 직접 데이터를 쿼리할 수 있습니다. Azure Databricks 컴퓨팅에서만 개체 스토리지에 대해 직접 실행됩니다. 쿼리 페더레이션보다 비용 효율적이고 성능 최적화가 더 효율적입니다. 지원되지 않습니다(읽기 전용). 테이블 수준 액세스 제어가 적용된 Unity Catalog 외부 카탈로그 Unity 카탈로그로 증분 마이그레이션하거나 외부 카탈로그의 데이터를 사용하여 장기 하이브리드 모델을 유지 관리합니다.

레이크하우스 연합

Lakehouse Federation은 Azure Databricks 쿼리 페더레이션 플랫폼입니다. 자동 쿼리 푸시다운 및 테이블 수준에서 세분화된 액세스 제어를 통해 Unity 카탈로그 외장 카탈로그를 통해 외부 데이터에 대한 관리되는 읽기 전용 액세스를 제공합니다.

Lakehouse 페더레이션에는 쿼리 페더레이션과 카탈로그 페더레이션의 두 가지 유형이 있습니다.

카탈로그 페더레이션과 비교한 쿼리 페더레이션

다음 표에서는 쿼리 페더레이션과 카탈로그 페더레이션 간의 주요 차이점을 설명합니다.

쿼리 경로 사용 사례 단계 개요
쿼리 페더레이션 Unity 카탈로그 쿼리는 JDBC를 사용하여 외부 데이터베이스로 푸시다운됩니다. 쿼리는 Azure Databricks 원격 컴퓨팅을 사용하여 모두 실행됩니다.
  • 외부 데이터베이스에 저장된 운영 데이터에 대한 임시 보고 또는 개념 증명 액세스가 필요합니다.
  • 데이터 이동을 최소화하고 외부 시스템에 대한 라이브 액세스를 유지하려고 합니다.

원본이 Lakehouse Federation 및 Lakeflow Connect를 모두 지원하는 경우 Azure Databricks 더 높은 데이터 볼륨과 낮은 대기 시간의 성능이 우선 순위인 경우 Lakeflow Connect를 권장합니다.
  • 액세스 자격 증명 및 JDBC URL을 사용하여 Unity 카탈로그에서 연결을 만듭니다.
  • 연결을 사용하여 외국 카탈로그를 만듭니다.
  • 외신 카탈로그의 테이블에 대한 권한을 사용자에게 부여합니다.
  • 쿼리를 실행합니다. 이러한 항목은 외부 데이터베이스로 푸시다운됩니다.
카탈로그 페더레이션 Unity 카탈로그 쿼리는 개체 스토리지의 외세 테이블에 직접 액세스합니다. 카탈로그 페더레이션은 카탈로그 및 스토리지 서비스에 대한 직접 액세스를 지원하는 플랫폼에 사용할 수 있습니다. 쿼리는 Azure Databricks 컴퓨팅에서만 실행되므로 카탈로그 페더레이션이 쿼리 페더레이션보다 비용 효율적이고 성능 최적화가 더 효율적입니다.
  • Unity 카탈로그로 마이그레이션하고 있지만, 외부 카탈로그에서 관리되는 데이터는 점진적으로 도입해야 합니다.
  • 일부 데이터가 외부 카탈로그에 유지되고 일부 데이터가 Unity 카탈로그에서 관리되는 장기 하이브리드 모델을 원합니다.
  • 외부 카탈로그에 액세스하기 위한 연결을 Unity 카탈로그에 만듭니다.
  • 테이블 경로에 대한 스토리지 자격 증명 및 외부 위치를 만듭니다.
  • 연결과 외부 위치를 사용하여 외부 카탈로그를 만듭니다.
  • 외신 카탈로그의 테이블에 대한 권한을 사용자에게 부여합니다.
  • 쿼리를 실행합니다. 오브젝트 스토리지를 대상으로 직접 실행됩니다.

지원되는 데이터 원본

쿼리 페더레이션을 사용하여 다음 원본에 연결합니다.

카탈로그 페더레이션을 사용하여 다음 원본에 연결합니다.

Spark 데이터 원본

Spark 데이터 원본 API를 사용하면 Azure Databricks 외부 데이터베이스에서 직접 읽고 쓸 수 있습니다. 레이크하우스 페더레이션이 원본을 지원하지 않거나, 쓰기 액세스가 필요하거나, 쿼리 실행 및 병렬 처리에 대한 더 많은 제어가 필요할 때 사용합니다.

Databricks Runtime에는 PostgreSQL, SQL Server, MySQL, Snowflake 및 Redshift와 같은 일반적인 데이터베이스에 대한 번들 커넥터가 포함되어 있습니다. JDBC 호환 데이터베이스의 경우 JDBC Unity 카탈로그 연결을 사용하여 중앙 집중식 자격 증명 관리를 통해 사용자 고유의 드라이버를 가져올 수 있습니다. PySpark DataSource API를 사용하여 전용 클러스터에 타사 커넥터를 설치하거나 Python 완전 사용자 지정 커넥터를 빌드할 수도 있습니다.

설치 지침 및 자세한 내용은 Spark 데이터 원본을 참조하세요.

추가 리소스