Azure Databricks의 데이터베이스 개체
Azure Databricks는 두 개의 기본 보안 개체를 사용하여 데이터를 저장하고 액세스합니다.
- 테이블은 테이블 형식 데이터에 대한 액세스를 제어합니다.
- 볼륨은 테이블 형식이 아닌 데이터에 대한 액세스를 제어합니다.
이 문서에서는 이러한 데이터베이스 개체가 Azure Databricks의 카탈로그, 스키마, 뷰 및 기타 데이터베이스 개체와 어떻게 관련되는지 설명합니다. 또한 이 문서에서는 전체 플랫폼 아키텍처의 컨텍스트에서 데이터베이스 개체가 작동하는 방식을 개략적으로 소개합니다.
Azure Databricks의 데이터베이스 개체란?
데이터베이스 개체는 데이터를 구성, 액세스 및 관리하는 데 도움이 되는 엔터티입니다. Azure Databricks는 3계층 계층 구조를 사용하여 데이터베이스 개체를 구성합니다.
- 카탈로그: 최상위 컨테이너에는 스키마가 포함되어 있습니다. Azure Databricks의 카탈로그란?을 참조하세요.
- 스키마 또는 데이터베이스: 데이터 개체를 포함합니다. Azure Databricks의 스키마란?을 참조하세요.
- 스키마에 포함할 수 있는 데이터 개체:
- 볼륨: 클라우드 개체 스토리지의 테이블 형식이 아닌 데이터의 논리적 볼륨입니다. Unity 카탈로그 볼륨이란?을 참조하세요.
- 테이블: 행과 열로 구성된 데이터 컬렉션입니다. 테이블 및 뷰란?을 참조하세요.
- 보기: 하나 이상의 테이블에 대해 저장된 쿼리입니다. 보기란?을 참조하세요.
- 함수: 스칼라 값 또는 행 집합을 반환하는 저장된 논리입니다. Unity Catalog의 UDF(사용자 정의 함수)를 참조하세요.
- 모델: MLflow로 패키지된 기계 학습 모델입니다. Unity 카탈로그에서 모델 수명 주기 관리를 참조하세요.
카탈로그는 계정 수준에서 관리되는 메타스토어에 등록됩니다. 관리자만 metastore와 직접 상호 작용합니다. 메타스토어를 참조하세요.
Azure Databricks는 데이터 작업을 위한 추가 자산을 제공하며, 모두 작업 영역 수준 액세스 제어 또는 Databricks 데이터 거버넌스 솔루션인 Unity Catalog를 사용하여 제어할 수 있습니다.
- Notebook, 작업 및 쿼리와 같은 작업 영역 수준 데이터 자산입니다.
- 스토리지 자격 증명 및 델타 공유 공유와 같은 Unity 카탈로그 보안 개체는 주로 스토리지 또는 보안 공유에 대한 액세스를 제어합니다.
자세한 내용은 데이터베이스 개체와 작업 영역 보안 데이터 자산 및 Unity 카탈로그 보안 자격 증명 및 인프라를 참조하세요.
Unity 카탈로그를 사용하여 데이터베이스 개체에 대한 액세스 관리
메타스토어 자체를 포함하여 계층 구조의 모든 수준에서 데이터베이스 개체에 대한 액세스 권한을 부여하고 취소할 수 있습니다. 액세스 권한이 취소되지 않는 한 개체에 대한 액세스는 암시적으로 해당 개체의 모든 자식에 동일한 액세스 권한을 부여합니다.
일반적인 ANSI SQL 명령을 사용하여 Unity 카탈로그의 개체에 대한 액세스 권한을 부여하고 취소할 수 있습니다. 데이터 개체 권한의 UI 기반 관리에 카탈로그 탐색기를 사용할 수도 있습니다.
Unity 카탈로그에서 개체를 보호하는 방법에 대한 자세한 내용은 Unity 카탈로그의 보안 개체를 참조 하세요.
Unity 카탈로그의 기본 개체 권한
Unity 카탈로그에 대해 작업 영역을 만들고 사용하도록 설정한 방법에 따라 사용자는 카탈로그 또는 작업 영역 카탈로그(<workspace-name>
)를 포함하여 main
자동으로 프로비전된 카탈로그에 대한 기본 권한을 가질 수 있습니다. 자세한 내용은 기본 사용자 권한을 참조 하세요.
작업 영역이 Unity 카탈로그에 대해 수동으로 사용하도록 설정된 경우 작업 영역의 모든 사용자가 액세스할 수 있는 카탈로그에 main
명명된 default
기본 스키마가 포함됩니다. 작업 영역이 Unity 카탈로그에 대해 자동으로 사용하도록 설정되고 카탈로그가 포함된 경우 해당 카탈로그에는 작업 영역의 모든 사용자가 액세스할 수 있는 스키 default
마가 포함 <workspace-name>
됩니다.
데이터베이스 개체와 작업 영역 보안 가능 데이터 자산 비교
Azure Databricks를 사용하면 데이터베이스 개체와 함께 여러 데이터 엔지니어링, 분석, ML 및 AI 자산을 관리할 수 있습니다. 이러한 데이터 자산은 Unity 카탈로그에 등록하지 않습니다. 대신 이러한 자산은 제어 목록을 사용하여 사용 권한을 제어하는 작업 영역 수준에서 관리됩니다. 이러한 데이터 자산에는 다음이 포함됩니다.
- Notebooks
- 대시보드
- 작업
- Pipelines
- 작업 영역 파일
- SQL 쿼리
- 실험
대부분의 데이터 자산에는 데이터베이스 개체와 상호 작용하여 데이터를 쿼리하거나, 함수를 사용하거나, 모델을 등록하거나, 기타 일반적인 작업을 수행하는 논리가 포함됩니다. 작업 영역 데이터 자산 보안에 대한 자세한 내용은 액세스 제어 목록을 참조하세요.
참고 항목
컴퓨팅에 대한 액세스는 액세스 제어 목록에 의해 제어됩니다. 액세스 모드를 사용하여 컴퓨팅을 구성하고 사용자가 데이터에 액세스하는 방법을 제어하는 추가 클라우드 권한을 추가할 수 있습니다. Databricks는 컴퓨팅 정책을 사용하고 클러스터 만들기 권한을 데이터 거버넌스 모범 사례로 제한하는 것이 좋습니다. 액세스 모드를 참조하세요.
Unity 카탈로그 보안 자격 증명 및 인프라
Unity 카탈로그는 메타스토어 수준에서 등록된 보안 개체를 사용하여 클라우드 개체 스토리지, 데이터 공유 및 쿼리 페더레이션에 대한 액세스를 관리합니다. 다음은 이러한 비데이터 보안 개체에 대한 간략한 설명입니다.
Unity 카탈로그를 클라우드 개체 스토리지에 연결
새 관리되는 스토리지 위치를 만들거나 외부 테이블 또는 외부 볼륨을 등록하려면 스토리지 자격 증명 및 외부 위치를 정의해야 합니다. 이러한 보안 개체는 Unity 카탈로그에 등록됩니다.
- 스토리지 자격 증명: 클라우드 스토리지에 대한 액세스를 제공하는 장기 클라우드 자격 증명입니다.
- 외부 위치: 쌍을 이루는 스토리지 자격 증명을 사용하여 액세스할 수 있는 클라우드 개체 스토리지 경로에 대한 참조입니다.
Unity 카탈로그를 사용하여 클라우드 개체 스토리지 및 서비스에 연결을 참조 하세요.
Delta Sharing
Azure Databricks는 Unity 카탈로그에 다음과 같은 델타 공유 보안 개체를 등록합니다.
- 공유: 테이블, 볼륨 및 기타 데이터 자산의 읽기 전용 컬렉션입니다.
- 공급자: 데이터를 공유하는 조직 또는 엔터티입니다. Databricks-Databricks 공유 모델에서 공급자는 받는 사람의 Unity 카탈로그 메타스토어에 메타스토어 ID로 식별되는 고유한 엔터티로 등록됩니다.
- 받는 사람: 공급자로부터 공유를 받는 엔터티입니다. Databricks-Databricks 공유 모델에서 받는 사람은 고유한 메타스토어 ID로 공급자로 식별됩니다.
Delta Sharing이란?을 참조하세요.
Lakehouse 운영
Lakehouse Federation을 사용하면 PostgreSQL, MySQL 및 Snowflake와 같은 다른 시스템에 있는 데이터에 대한 읽기 전용 액세스를 제공하기 위해 외국 카탈로그를 만들 수 있습니다. 외부 카탈로그를 만들려면 외부 시스템에 대한 연결을 정의해야 합니다.
연결: Unity 카탈로그 보안 개체는 Lakehouse 페더레이션 시나리오에서 외부 데이터베이스 시스템에 액세스하기 위한 경로 및 자격 증명을 지정합니다.
레이크하우스 페더레이션이란?을 참조하세요.
관리되는 볼륨 및 테이블에 대한 관리되는 스토리지 위치
Azure Databricks 테이블 및 볼륨을 만들 때 관리 또는 외부로 만들 수 있습니다. Unity 카탈로그는 Azure Databricks에서 외부 테이블 및 볼륨에 대한 액세스를 관리하지만 기본 파일을 제어하거나 해당 파일의 스토리지 위치를 완전히 관리하지는 않습니다. 반면에 관리되는 테이블 및 볼륨은 Unity 카탈로그에서 완전히 관리되며 포함된 스키마와 연결된 관리되는 스토리지 위치에 저장됩니다. Unity 카탈로그에서 관리되는 스토리지 위치 지정을 참조하세요.
Databricks는 구성, 최적화 및 거버넌스를 간소화하기 때문에 대부분의 워크로드에 대해 관리되는 볼륨 및 관리 테이블을 권장합니다.
Unity 카탈로그와 레거시 Hive 메타스토어 비교
Databricks는 모든 데이터베이스 개체를 등록하고 관리하는 데 Unity 카탈로그를 사용하는 것이 좋지만 스키마, 테이블, 뷰 및 함수를 관리하기 위한 Hive 메타스토어에 대한 레거시 지원도 제공합니다.
Hive 메타스토어를 사용하여 등록된 데이터베이스 개체와 상호 작용하는 경우 레거시 Hive 메타스토어의 데이터베이스 개체를 참조하세요.