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를 권장합니다. |
|
| 카탈로그 페더레이션 | Unity 카탈로그 쿼리는 개체 스토리지의 외세 테이블에 직접 액세스합니다. 카탈로그 페더레이션은 카탈로그 및 스토리지 서비스에 대한 직접 액세스를 지원하는 플랫폼에 사용할 수 있습니다. 쿼리는 Azure Databricks 컴퓨팅에서만 실행되므로 카탈로그 페더레이션이 쿼리 페더레이션보다 비용 효율적이고 성능 최적화가 더 효율적입니다. |
|
|
지원되는 데이터 원본
쿼리 페더레이션을 사용하여 다음 원본에 연결합니다.
- MySQL
- PostgreSQL
- Teradata
- Oracle
- Amazon Redshift
- Salesforce Data 360
- Snowflake
- 마이크로소프트 SQL 서버
- Azure Synapse(SQL Data Warehouse)
- 구글 빅쿼리
- Databricks
카탈로그 페더레이션을 사용하여 다음 원본에 연결합니다.
Spark 데이터 원본
Spark 데이터 원본 API를 사용하면 Azure Databricks 외부 데이터베이스에서 직접 읽고 쓸 수 있습니다. 레이크하우스 페더레이션이 원본을 지원하지 않거나, 쓰기 액세스가 필요하거나, 쿼리 실행 및 병렬 처리에 대한 더 많은 제어가 필요할 때 사용합니다.
Databricks Runtime에는 PostgreSQL, SQL Server, MySQL, Snowflake 및 Redshift와 같은 일반적인 데이터베이스에 대한 번들 커넥터가 포함되어 있습니다. JDBC 호환 데이터베이스의 경우 JDBC Unity 카탈로그 연결을 사용하여 중앙 집중식 자격 증명 관리를 통해 사용자 고유의 드라이버를 가져올 수 있습니다. PySpark DataSource API를 사용하여 전용 클러스터에 타사 커넥터를 설치하거나 Python 완전 사용자 지정 커넥터를 빌드할 수도 있습니다.
설치 지침 및 자세한 내용은 Spark 데이터 원본을 참조하세요.