Unity 카탈로그란?

이 문서에서는 Databricks Lakehouse의 데이터 및 AI 자산에 대한 통합 거버넌스 솔루션인 Unity 카탈로그를 소개합니다.

Unity 카탈로그 개요

Unity 카탈로그는 Azure Databricks 작업 영역에서 중앙 집중식 액세스 제어, 감사, 계보 및 데이터 검색 기능을 제공합니다.

Unity 카탈로그 다이어그램

Unity 카탈로그의 주요 기능은 다음과 같습니다.

  • 한 번 정의, 어디서나 보안: Unity 카탈로그는 모든 작업 영역에 적용되는 데이터 액세스 정책을 관리할 수 있는 단일 위치를 제공합니다.
  • 표준 규격 보안 모델: Unity 카탈로그의 보안 모델은 표준 ANSI SQL을 기반으로 하며, 관리자는 익숙한 구문을 사용하여 기존 데이터 레이크의 카탈로그, 데이터베이스(스키마라고도 함), 테이블 및 뷰 수준에서 권한을 부여할 수 있습니다.
  • 기본 제공 감사 및 계보: Unity 카탈로그는 데이터에 대한 액세스를 기록하는 사용자 수준 감사 로그를 자동으로 캡처합니다. 또한 Unity 카탈로그는 모든 언어에서 데이터 자산을 만들고 사용하는 방법을 추적하는 계보 데이터를 캡처합니다.
  • 데이터 검색: Unity 카탈로그를 사용하면 데이터 자산에 태그를 지정하고 문서화할 수 있으며 데이터 소비자가 데이터를 찾는 데 도움이 되는 검색 인터페이스를 제공합니다.
  • 시스템 테이블(공개 미리 보기): Unity 카탈로그를 사용하면 감사 로그, 청구 가능한 사용량 및 계보를 포함하여 계정의 운영 데이터에 쉽게 액세스하고 쿼리할 수 있습니다.

Unity 카탈로그는 클라우드 개체 스토리지의 데이터 및 AI 자산에 대한 액세스를 어떻게 제어하나요?

Databricks는 Unity 카탈로그를 사용하여 클라우드 개체 스토리지에 대한 모든 액세스를 구성하는 것이 좋습니다. Unity 카탈로그를 사용하여 클라우드 개체 스토리지에 대한 커넥트 참조하세요.

Unity 카탈로그는 Azure Databricks와 클라우드 개체 스토리지의 데이터 간 관계를 관리하는 다음과 같은 개념을 소개합니다.

  • 스토리지 자격 증명은 클라우드 스토리지에 대한 액세스를 제공하는 장기 클라우드 자격 증명을 캡슐화합니다. 예를 들어 Azure Data Lake Storage Gen2 컨테이너 또는 Cloudflare R2 API 토큰에 액세스할 수 있는 Azure 관리 ID 입니다. Azure Data Lake Storage Gen2에 연결하기 위한 스토리지 자격 증명 만들기 및 Cloudflare R2에 연결하기 위한 스토리지 자격 증명 만들기를 참조하세요.
  • 외부 위치에는 스토리지 자격 증명 및 클라우드 스토리지 경로에 대한 참조가 포함됩니다. 클라우드 스토리지를 Azure Databricks에 연결하는 외부 위치 만들기를 참조 하세요.
  • 관리되는 스토리지 위치 는 자체 클라우드 스토리지 계정의 Azure Data Lake Storage Gen2 컨테이너 또는 Cloudflare R2 버킷의 스토리지 위치를 메타스토어, 카탈로그 또는 스키마와 연결합니다. 관리되는 스토리지 위치는 관리되는 테이블 및 관리되는 볼륨에 대한 기본 스토리지 위치로 사용됩니다. Unity 카탈로그에서 관리되는 스토리지 위치 지정을 참조하세요.
  • 볼륨은 클라우드 개체 스토리지에 저장된 테이블 형식이 아닌 데이터에 대한 액세스를 제공합니다. 볼륨 만들기 및 작업을 참조 하세요.
  • 테이블 은 클라우드 개체 스토리지에 저장된 테이블 형식 데이터에 대한 액세스를 제공합니다.

참고 항목

Lakehouse Federation은 다른 외부 시스템의 데이터에 통합을 제공합니다. 이러한 개체는 클라우드 개체 스토리지에서 지원되지 않습니다.

Unity 카탈로그 개체 모델 다이어그램

Unity 카탈로그에서 기본 데이터 개체의 계층 구조는 메타스토어에서 테이블 또는 볼륨으로 흐릅니다.

  • 메타스토어: 메타데이터의 최상위 컨테이너입니다. 각 메타스토어는 데이터를 구성하는 3 수준 네임스페이스(catalog.schema.table)를 노출합니다.
  • 카탈로그: 데이터 자산을 구성하는 데 사용되는 개체 계층의 첫 번째 계층입니다.
  • 스키마: 데이터베이스라고도 하는 스키마는 개체 계층의 두 번째 계층이며 테이블과 뷰를 포함합니다.
  • 테이블, 뷰 및 볼륨: 데이터 개체 계층 구조에서 가장 낮은 수준에는 테이블, 뷰 및 볼륨이 있습니다. 볼륨은 테이블 형식이 아닌 데이터에 대한 거버넌스를 제공합니다.
  • 모델: 엄밀히 말해 데이터 자산은 아니지만 등록된 모델은 Unity 카탈로그에서 관리되고 개체 계층 구조에서 가장 낮은 수준에 상주할 수도 있습니다.

Unity Catalog 개체 모델 다이어그램

이는 보안 가능한 Unity 카탈로그 개체의 간소화된 보기입니다. 자세한 내용은 Unity 카탈로그의 보안 개체를 참조 하세요.

테이블, 뷰, 볼륨 또는 모델이 될 수 있는 세 가지 catalog.schema.asset수준 네임스페이 asset 스를 사용하여 Unity 카탈로그의 모든 데이터를 참조합니다.

메타스토어

메타스토어는 Unity 카탈로그에 있는 개체의 최상위 컨테이너입니다. 데이터 및 AI 자산 및 액세스 권한을 제어하는 권한에 대한 메타데이터를 등록합니다. Azure Databricks 계정 관리자는 작동하는 각 지역에 대해 하나의 메타스토어를 만들고 동일한 지역의 Azure Databricks 작업 영역에 할당해야 합니다. 작업 영역에서 Unity 카탈로그를 사용하려면 Unity 카탈로그 메타스토어가 연결되어 있어야 합니다.

선택적으로 메타스토어는 Azure Data Lake Storage Gen2 컨테이너의 관리되는 스토리지 위치 또는 사용자 고유의 클라우드 스토리지 계정의 Cloudflare R2 버킷으로 구성할 수 있습니다. 관리되는 스토리지를 참조하세요.

참고 항목

이 메타스토어는 Unity 카탈로그에 대해 사용하도록 설정되지 않은 Azure Databricks 작업 영역에 포함된 Hive 메타스토어와 다릅니다. 작업 영역에 레거시 Hive 메타스토어가 포함된 경우 해당 메타스토어의 데이터는 Unity 카탈로그에 정의된 데이터와 함께 이름이 지정된 hive_metastore카탈로그에서 계속 사용할 수 있습니다. 카탈로그는 hive_metastore Unity 카탈로그에서 관리되지 않으며 Unity 카탈로그에 정의된 카탈로그와 동일한 기능 집합의 이점을 활용하지 않습니다.

Unity 카탈로그 메타스토어 만들기를 참조하세요.

카탈로그

카탈로그는 Unity 카탈로그의 3 수준 네임스페이스의 첫 번째 계층입니다. 데이터 자산을 구성하는 데 사용됩니다. 사용자는 USE CATALOG데이터 사용 권한이 할당된 모든 카탈로그를 볼 수 있습니다.

Unity 카탈로그에 대해 작업 영역을 만들고 사용하도록 설정한 방법에 따라 사용자는 카탈로그 또는 작업 영역 카탈로그(<workspace-name>)를 포함하여 main 자동으로 프로비전된 카탈로그에 대한 기본 권한을 가질 수 있습니다. 자세한 내용은 기본 사용자 권한을 참조 하세요.

카탈로그 만들기 및 관리를 참조하세요.

스키마

스키마(데이터베이스라고도 함)는 Unity 카탈로그의 3 수준 네임스페이스의 두 번째 계층입니다. 스키마는 테이블과 뷰를 구성합니다. 사용자는 스키마의 부모 카탈로그에 대한 사용 권한과 함께 USE CATALOG 권한이 할당 USE SCHEMA 된 모든 스키마를 볼 수 있습니다. 스키마에서 테이블 또는 뷰에 액세스하거나 나열하려면 사용자에게 테이블 또는 뷰에 대한 권한도 있어야 SELECT 합니다.

작업 영역이 Unity 카탈로그에 대해 수동으로 사용하도록 설정된 경우 작업 영역의 모든 사용자가 액세스할 수 있는 카탈로그에 main 명명된 default 기본 스키마가 포함됩니다. 작업 영역이 Unity 카탈로그에 대해 자동으로 사용하도록 설정되고 카탈로그가 포함된 경우 해당 카탈로그에는 작업 영역의 모든 사용자가 액세스할 수 있는 스키 default 마가 포함 <workspace-name> 됩니다.

스키마(데이터베이스) 만들기 및 관리를 참조하세요.

테이블

테이블은 Unity 카탈로그의 3 수준 네임스페이스의 세 번째 계층에 있습니다. 여기에는 데이터 행이 포함됩니다. 테이블을 만들려면 사용자에게 스키마에 대한 CREATEUSE SCHEMA 권한과 해당 부모 카탈로그에 대한 USE CATALOG 권한이 있어야 합니다. 테이블을 쿼리하려면 테이블에 대한 사용 권한, USE SCHEMA 해당 부모 스키마에 대한 권한 및 USE CATALOG 부모 카탈로그에 대한 권한이 있어야 합니다SELECT.

테이블은 관리되거나 외부일 수 있습니다.

관리형 테이블

관리되는 테이블은 Unity 카탈로그에서 테이블을 만드는 기본 방법입니다. Unity 카탈로그는 이러한 테이블의 수명 주기 및 파일 레이아웃을 관리합니다. Azure Databricks 외부의 도구를 사용하여 이러한 테이블의 파일을 직접 조작해서는 안 됩니다. 관리되는 테이블은 항상 델타 테이블 형식을 사용합니다.

Unity 카탈로그에 대해 수동으로 사용하도록 설정된 작업 영역의 경우 관리 테이블은 메타스토어를 만들 때 구성하는 루트 스토리지 위치에 저장됩니다. 필요에 따라 카탈로그 또는 스키마 수준에서 관리되는 테이블 스토리지 위치를 지정하고 루트 스토리지 위치를 재정의할 수 있습니다.

Unity 카탈로그에 대해 자동으로 사용하도록 설정된 작업 영역의 경우 메타스토어 루트 스토리지 위치는 선택 사항이며 관리되는 테이블은 일반적으로 카탈로그 또는 스키마 수준에 저장됩니다.

관리되는 테이블이 삭제되면 30일 내에 클라우드 테넌트에서 기본 데이터가 삭제됩니다.

관리형 테이블을 참조하세요.

외부 테이블

외부 테이블은 Unity 카탈로그에서 데이터 수명 주기 및 파일 레이아웃을 관리하지 않는 테이블입니다. 외부 테이블을 사용하여 Unity 카탈로그에 많은 양의 기존 데이터를 등록하거나 Azure Databricks 클러스터 또는 Databricks SQL 웨어하우스 외부의 도구를 사용하여 데이터에 직접 액세스해야 하는 경우

외부 테이블을 삭제할 때 Unity 카탈로그는 기본 데이터를 삭제하지 않습니다. 외부 테이블에 대한 권한을 관리하고 관리되는 테이블과 동일한 방식으로 쿼리에서 사용할 수 있습니다.

외부 테이블은 다음 파일 형식을 사용할 수 있습니다.

  • DELTA
  • CSV
  • JSON
  • AVRO
  • PARQUET
  • ORC
  • TEXT

외부 테이블을 참조하세요.

뷰는 메타스토어에 있는 하나 이상의 테이블과 뷰에서 구성된 읽기 전용 개체입니다. Unity 카탈로그 세 수준 네임스페이스의 세 번째 계층에 있습니다. 여러 스키마 및 카탈로그의 테이블 및 기타 뷰에서 뷰를 작성할 수 있습니다. 동적 보기를 만들어 행 및 열 수준 권한을 사용하도록 설정할 수 있습니다.

동적 뷰 만들기를 참조하세요.

볼륨

볼륨은 Unity 카탈로그의 세 번째 수준 네임스페이스의 세 번째 계층에 있습니다. 볼륨은 Unity 카탈로그의 스키마로 구성된 테이블, 뷰 및 기타 개체의 형제입니다.

볼륨에는 모든 형식으로 저장된 데이터에 대한 디렉터리 및 파일이 포함됩니다. 볼륨은 데이터에 대한 테이블 형식이 아닌 액세스를 제공하므로 볼륨의 파일을 테이블로 등록할 수 없습니다.

  • 볼륨을 만들려면 사용자에게 스키마에 대한 사용 권한과 권한이 있어야 CREATE VOLUME 하며 부모 카탈로그에 대한 권한이 있어야 합니다USE CATALOG.USE SCHEMA
  • 볼륨 내에 저장된 파일 및 디렉터리를 읽으려면 사용자에게 사용 권한, USE SCHEMA 부모 스키마에 대한 권한 및 USE CATALOG 부모 카탈로그에 대한 권한이 있어야 합니다READ VOLUME.
  • 볼륨 내에 저장된 파일 및 디렉터리를 추가, 제거 또는 수정하려면 사용자에게 사용 권한, USE SCHEMA 부모 스키마에 대한 권한 및 USE CATALOG 부모 카탈로그에 대한 권한이 있어야 합니다WRITE VOLUME.

볼륨을 관리하거나 외부로 관리할 수 있습니다.

참고 항목

볼륨을 정의할 때 볼륨 경로 아래의 데이터에 대한 클라우드 URI 액세스는 볼륨의 권한에 의해 제어됩니다.

관리되는 볼륨

관리되는 볼륨은 테이블 형식이 아닌 파일을 사용하기 위해 관리되는 위치를 프로비전하려는 경우 편리한 솔루션입니다.

관리되는 볼륨은 파일이 포함된 스키마의 Unity 카탈로그 기본 스토리지 위치에 파일을 저장합니다. Unity 카탈로그에 대해 수동으로 사용하도록 설정된 작업 영역의 경우 관리되는 볼륨은 메타스토어를 만들 때 구성하는 루트 스토리지 위치에 저장됩니다. 필요에 따라 카탈로그 또는 스키마 수준에서 관리되는 볼륨 스토리지 위치를 지정하여 루트 스토리지 위치를 재정의할 수 있습니다. Unity 카탈로그에 대해 자동으로 사용하도록 설정된 작업 영역의 경우 메타스토어 루트 스토리지 위치는 선택 사항이며 관리되는 볼륨은 일반적으로 카탈로그 또는 스키마 수준에 저장됩니다.

다음 우선 순위는 관리되는 볼륨에 사용되는 위치를 제어합니다.

  • 스키마 위치
  • 카탈로그 위치
  • Unity 카탈로그 메타스토어 루트 스토리지 위치

관리되는 볼륨을 삭제하면 이 볼륨에 저장된 파일도 30일 이내에 클라우드 테넌트에서 삭제됩니다.

관리되는 볼륨이란?을 참조하세요.

외부 볼륨

외부 볼륨은 Unity 카탈로그 외부 위치에 등록되며 데이터 마이그레이션 없이 클라우드 스토리지의 기존 파일에 대한 액세스를 제공합니다. 외부 볼륨을 CREATE EXTERNAL VOLUME 만들려면 사용자에게 외부 위치에 대한 권한이 있어야 합니다.

외부 볼륨은 파일이 다른 시스템에서 생성되고 개체 스토리지를 사용하여 Azure Databricks 내에서 액세스하도록 준비되거나 Azure Databricks 외부의 도구에 직접 파일 액세스가 필요한 시나리오를 지원합니다.

Unity 카탈로그는 외부 볼륨에 있는 파일의 수명 주기 및 레이아웃을 관리하지 않습니다. 외부 볼륨을 삭제할 때 Unity 카탈로그는 기본 데이터를 삭제하지 않습니다.

외부 볼륨이란?을 참조하세요.

모델

모델은 Unity 카탈로그의 세 번째 수준 네임스페이스의 세 번째 계층에 상주합니다. 이 컨텍스트에서 "모델"은 MLflow 모델 레지스트리등록된 기계 학습 모델을 나타냅니다. Unity 카탈로그에서 모델을 만들려면 사용자에게 카탈로그 또는 스키마에 CREATE MODEL 대한 권한이 있어야 합니다. 또한 사용자는 부모 카탈로그 및 USE SCHEMA 부모 스키마에 대한 권한이 있어야 합니다USE CATALOG.

관리되는 스토리지

관리되는 테이블 및 관리되는 볼륨은 Unity 카탈로그 개체 계층 구조(메타스토어, 카탈로그 또는 스키마)의 모든 수준에서 저장할 수 있습니다. 계층 구조의 낮은 수준의 스토리지는 상위 수준에서 정의된 스토리지를 재정의합니다.

계정 관리자가 메타스토어를 수동으로 만들 때 관리되는 테이블 및 볼륨에 대한 메타스토어 수준 스토리지로 사용할 수 있도록 자체 클라우드 스토리지 계정의 Azure Data Lake Storage Gen2 컨테이너 또는 Cloudflare R2 버킷에 스토리지 위치를 할당하는 옵션이 있습니다. 메타스토어 수준 관리 스토리지 위치가 할당된 경우 카탈로그 및 스키마 수준에서 관리되는 스토리지 위치는 선택 사항입니다. 즉, 메타스토어 수준 스토리지는 선택 사항이며 Databricks는 논리 데이터 격리를 위해 카탈로그 수준에서 관리되는 스토리지를 할당하는 것이 좋습니다. 데이터 거버넌스 및 데이터 격리 구성 요소를 참조 하세요.

Important

Unity 카탈로그에 대해 작업 영역을 자동으로 사용하도록 설정한 경우 Unity 카탈로그 메타스토어는 메타스토어 수준 관리 스토리지 없이 만들어졌습니다. 메타스토어 수준 스토리지를 추가하도록 선택할 수 있지만 Databricks는 카탈로그 및 스키마 수준에서 관리되는 스토리지를 할당하는 것이 좋습니다. metastore 수준 스토리지가 필요한지 여부를 결정하는 데 도움이 필요한 경우 (선택 사항) 메타스토어 수준 스토리지 만들기 및 데이터가 스토리지에 물리적으로 분리되어 있는지를 참조하세요.

관리되는 스토리지에는 다음과 같은 속성이 있습니다.

  • 관리되는 테이블 및 관리되는 볼륨은 관리되는 스토리지에 데이터 및 메타데이터 파일을 저장합니다.
  • 관리되는 스토리지 위치는 외부 테이블 또는 외부 볼륨과 겹칠 수 없습니다.

다음 표에서는 관리되는 스토리지가 선언되고 Unity 카탈로그 개체와 연결되는 방법을 설명합니다.

연결된 Unity 카탈로그 개체 설정하는 방법 외부 위치와 관계
메타 저장소 메타스토어를 만드는 동안 계정 관리자가 구성하거나 만들 때 스토리지가 지정되지 않은 경우 metastore를 만든 후에 추가됩니다. 외부 위치와 겹칠 수 없습니다.
카탈로그 키워드(keyword) 사용하여 카탈로그를 MANAGED LOCATION 만드는 동안 지정됩니다. 외부 위치 내에 포함되어야 합니다.
스키마 키워드(keyword) 사용하여 스키마를 MANAGED LOCATION 만드는 동안 지정됩니다. 외부 위치 내에 포함되어야 합니다.

관리되는 테이블 및 관리되는 볼륨에 대한 데이터 및 메타데이터를 저장하는 데 사용되는 관리되는 스토리지 위치는 다음 규칙을 사용합니다.

  • 포함된 스키마에 관리되는 위치가 있는 경우 데이터는 스키마 관리 위치에 저장됩니다.
  • 포함된 스키마에 관리되는 위치가 없지만 카탈로그에 관리되는 위치가 있는 경우 데이터는 카탈로그 관리 위치에 저장됩니다.
  • 포함된 스키마나 포함된 카탈로그에 관리되는 위치가 없는 경우 데이터는 메타스토어 관리 위치에 저장됩니다.

스토리지 자격 증명 및 외부 위치

외부 테이블, 외부 볼륨 및 관리되는 스토리지에 대한 기본 클라우드 스토리지에 대한 액세스를 관리하기 위해 Unity 카탈로그는 다음 개체 유형을 사용합니다.

Unity 카탈로그를 사용하여 클라우드 개체 스토리지에 대한 커넥트 참조하세요.

Unity 카탈로그에 대한 ID 관리

Unity 카탈로그는 Azure Databricks 계정의 ID를 사용하여 사용자, 서비스 주체 및 그룹을 확인하고 권한을 적용합니다.

계정에서 ID를 구성하려면 사용자, 서비스 주체 및 그룹 관리의 지침을 따릅니다. Unity 카탈로그에서 액세스 제어 정책을 만들 때 해당 사용자, 서비스 주체 및 그룹을 참조하세요.

Notebook, Databricks SQL 쿼리, 카탈로그 탐색기 또는 REST API 명령의 Unity 카탈로그 데이터에 액세스하려면 작업 영역에 Unity 카탈로그 사용자, 서비스 주체 및 그룹을 추가해야 합니다. 사용자, 서비스 주체 및 그룹을 작업 영역에 할당하는 것을 ID 페더레이션이라고 합니다.

Unity 카탈로그 메타스토어가 연결된 모든 작업 영역은 ID 페더레이션에 사용됩니다.

그룹에 대한 특별 고려 사항

작업 영역에 이미 존재하는 모든 그룹은 계정 콘솔에서 작업 영역 로컬 레이블이 지정됩니다. Unity 카탈로그에서는 이러한 작업 영역-로컬 그룹을 사용하여 액세스 정책을 정의할 수 없습니다. 계정-수준 그룹을 사용해야 합니다. 작업 영역-로컬 그룹이 명령에서 참조되는 경우 해당 명령은 그룹을 찾을 수 없다는 오류를 반환합니다. 이전에 작업 영역-로컬 그룹을 사용하여 Notebook 및 기타 아티팩트 액세스를 관리한 경우 이러한 사용 권한은 계속 적용됩니다.

그룹 관리를 참조하세요.

Unity 카탈로그에 대한 관리 역할

계정 관리자, 메타스토어 관리자 및 작업 영역 관리자는 Unity 카탈로그 관리에 관여합니다.

Unity 카탈로그의 관리 권한을 참조하세요.

Unity 카탈로그에서 권한 관리

Unity 카탈로그에서 데이터는 기본적으로 안전합니다. 처음에는 사용자가 메타스토어의 데이터에 액세스할 수 없습니다. 메타스토어 관리자, 개체 소유자, 개체를 포함하는 카탈로그 또는 스키마 소유자가 액세스 권한을 부여할 수 있습니다. Unity 카탈로그의 보안 개체는 계층적이며 권한은 아래로 상속됩니다.

카탈로그 탐색기, SQL 명령 또는 REST API를 사용하여 권한을 할당하고 취소할 수 있습니다.

Unity Catalog에서 권한 관리를 참조하세요.

Unity 카탈로그에 지원되는 컴퓨팅 및 클러스터 액세스 모드

Unity 카탈로그는 Databricks Runtime 11.3 LTS 이상을 실행하는 클러스터에서 지원됩니다. Unity 카탈로그는 기본적으로 모든 SQL 웨어하우스 컴퓨팅 버전에서 지원됩니다.

이전 버전의 Databricks Runtime에서 실행되는 클러스터는 일부 Unity 카탈로그 GA 특징 및 기능을 지원하지 않습니다.

Unity 카탈로그의 데이터에 액세스하려면 올바른 액세스 모드로 클러스터를 구성해야 합니다. Unity 카탈로그에서 데이터는 기본적으로 안전합니다. 클러스터가 Unity 카탈로그 지원 액세스 모드(즉, 공유 또는 할당) 중 하나로 구성되지 않은 경우 클러스터는 Unity 카탈로그의 데이터에 액세스할 수 없습니다. 액세스 모드를 참조 하세요.

각 Databricks 런타임 버전의 Unity 카탈로그 기능 변경에 대한 자세한 내용은 릴리스 정보를 참조 하세요.

Unity 카탈로그에 대한 제한 사항은 액세스 모드 및 Databricks 런타임 버전에 따라 다릅니다. Unity 카탈로그에 대한 컴퓨팅 액세스 모드 제한을 참조 하세요.

Unity 카탈로그의 데이터 계보

Unity 카탈로그를 사용하여 Azure Databricks 클러스터 또는 SQL 웨어하우스에서 실행되는 모든 언어로 쿼리 간에 런타임 데이터 계보를 캡처할 수 있습니다. 계보는 열 수준까지 캡처되며 쿼리와 관련된 Notebook, 워크플로 및 대시보드를 포함합니다. 자세한 내용은 Unity 카탈로그를 사용하여 데이터 계보 캡처 및 보기를 참조하세요.

레이크하우스 페더레이션 및 Unity 카탈로그

Lakehouse Federation은 Azure Databricks에 대한 쿼리 페더레이션 플랫폼입니다. 쿼리 페더레이션이라는 용어는 모든 데이터를 통합 시스템으로 마이그레이션할 필요 없이 사용자와 시스템이 여러 사일로 데이터 원본에 대한 쿼리를 실행할 수 있는 기능 컬렉션을 설명합니다.

Azure Databricks는 Unity 카탈로그를 사용하여 쿼리 페더레이션을 관리합니다. Unity 카탈로그를 사용하여 인기 있는 외부 데이터베이스 시스템에 대한 읽기 전용 연결을 구성하고 외부 데이터베이스를 미러 외국 카탈로그를 만듭니다. Unity 카탈로그의 데이터 거버넌스 및 데이터 계보 도구는 Azure Databricks 작업 영역의 사용자가 수행한 모든 페더레이션된 쿼리에 대해 데이터 액세스가 관리 및 감사되도록 합니다.

레이크하우스 페더레이션이란?

조직에 Unity 카탈로그를 설정하려면 어떻게 해야 하나요?

Unity 카탈로그를 설정하는 방법을 알아보려면 Unity 카탈로그 설정 및 관리를 참조하세요.

지원되는 지역

모든 지역에서 Unity 카탈로그를 지원합니다. 자세한 내용은 Azure Databricks 지역을 참조 하세요.

지원되는 데이터 파일 형식

Unity 카탈로그는 다음과 같은 테이블 형식을 지원합니다.

Unity 카탈로그 제한 사항

Unity 카탈로그에는 다음과 같은 제한이 있습니다.

참고 항목

클러스터가 11.3 LTS 미만의 Databricks 런타임 버전에서 실행되는 경우 여기에 나열되지 않은 추가 제한 사항이 있을 수 있습니다. Unity 카탈로그는 Databricks Runtime 11.3 LTS 이상에서 지원됩니다.

Unity 카탈로그 제한 사항은 Databricks 런타임 및 액세스 모드에 따라 다릅니다. 구조적 스트리밍 워크로드에는 Databricks 런타임 및 액세스 모드에 따라 추가 제한 사항이 있습니다. Unity 카탈로그에 대한 컴퓨팅 액세스 모드 제한을 참조 하세요.

  • R의 워크로드는 행 수준 또는 열 수준 보안을 위해 동적 뷰를 사용할 수 없습니다.

  • Databricks Runtime 13.3 LTS 이상에서는 단순 클론이 지원되어 기존 Unity 카탈로그 관리 테이블에서 Unity 카탈로그 관리 테이블을 만듭니다. Databricks Runtime 12.2 LTS 이하에서는 Unity 카탈로그에서 단순 클론을 지원하지 않습니다. Unity 카탈로그 테이블의 단순 복제본을 참조 하세요.

  • 버킷팅은 Unity 카탈로그 테이블에 지원되지 않습니다. Unity 카탈로그에서 버킷 테이블을 만드는 명령을 실행하면 예외가 throw됩니다.

  • 일부 클러스터는 Unity 카탈로그에 액세스하고 일부는 그렇지 않은 경우 여러 지역의 작업 영역에서 동일한 경로 또는 Delta Lake 테이블에 데이터를 쓰면 성능이 불안정해질 수 있습니다.

  • 같은 ALTER TABLE ADD PARTITION 명령을 사용하여 만든 사용자 지정 파티션 구성표는 Unity 카탈로그의 테이블에 대해 지원되지 않습니다. Unity 카탈로그는 디렉터리 스타일 분할을 사용하는 테이블에 액세스할 수 있습니다.

  • Unity 카탈로그에 DataFrame 쓰기 작업에 대한 덮어쓰기 모드는 다른 파일 형식이 아닌 Delta 테이블에만 지원됩니다. 사용자는 부모 스키마에 대한 CREATE 권한이 있고 기존 개체의 소유자이거나 개체에 대한 MODIFY 권한이 있어야 합니다.

  • Databricks Runtime 13.3 LTS 이상에서는 Python 스칼라 UDF가 지원됩니다. Databricks Runtime 12.2 LTS 이하에서는 SPARKapplyInPandasmapInPandas의 UDAF, UDF 및 Pandas를 비롯한 Python UDF를 사용할 수 없습니다.

  • Databricks Runtime 14.2 이상에서는 공유 클러스터에서 Scala 스칼라 UDF가 지원됩니다. Databricks Runtime 14.1 이하에서는 공유 클러스터에서 모든 Scala UDF가 지원되지 않습니다.

  • 작업 영역(즉, 작업 영역 수준 그룹)에서 이전에 만든 그룹은 Unity 카탈로그 GRANT 문에서 사용할 수 없습니다. 이는 작업 영역에 걸쳐 확장할 수 있는 그룹의 일관된 보기를 보장하기 위한 것입니다. GRANT 문에서 그룹을 사용하려면 계정 수준에서 그룹을 만들고 보안 주체 또는 그룹 관리(예: SCIM, Okta 및 Microsoft Entra ID(이전의 Azure Active Directory) 커넥터 및 Terraform)에 대한 자동화를 업데이트하여 작업 영역 엔드포인트 대신 계정 엔드포인트를 참조합니다. 계정 그룹과 작업 영역 로컬 그룹의 차이점을 참조하세요.

  • 표준 Scala 스레드 풀은 지원되지 않습니다. 대신 , 예를 들어 org.apache.spark.util.ThreadUtils.newDaemonFixedThreadPool특수 스레드 풀을 org.apache.spark.util.ThreadUtils사용합니다. 그러나 다음 스레드 풀은 ThreadUtils 지원되지 않으며 스레드 풀도 ScheduledExecutorService 지원 ThreadUtils.newForkJoinPool 되지 않습니다.

  • 감사 로깅은 작업 영역 수준에서만 Unity 카탈로그 이벤트에 대해 지원됩니다. 메타스토어 만들기와 같은 작업 영역에 대한 참조 없이 계정 수준에서 발생하는 이벤트는 기록되지 않습니다.

Unity 카탈로그의 모든 개체 이름에는 다음과 같은 제한 사항이 적용됩니다.

  • 개체 이름은 255자를 초과할 수 없습니다.
  • 다음 특수 문자는 허용되지 않습니다.
    • 기간(.)
    • 공백( )
    • 슬래시(/)
    • 모든 ASCII 컨트롤 문자(00-1F 16진수)
    • DELETE 문자(7F 16진수)
  • Unity 카탈로그는 모든 개체 이름을 소문자로 저장합니다.
  • SQL에서 UC 이름을 참조하는 경우 백틱을 사용하여 하이픈(-)과 같은 특수 문자가 포함된 이름을 이스케이프해야 합니다.

참고 항목

열 이름은 특수 문자를 사용할 수 있지만 특수 문자를 사용하는 경우 모든 SQL 문에서 백틱을 사용하여 이름을 이스케이프해야 합니다. Unity 카탈로그는 열 이름 대/소문자를 유지하지만 Unity 카탈로그 테이블에 대한 쿼리는 대/소문자를 구분하지 않습니다.

Unity 카탈로그의 모델에 대한 추가 제한 사항이 있습니다. Unity 카탈로그 지원에 대한 제한 사항을 참조하세요.

리소스 할당량

Unity 카탈로그는 모든 보안 개체에 리소스 할당량을 적용합니다. 제한은 Unity 카탈로그 전체에서 동일한 계층적 조직을 준수합니다. 이러한 리소스 제한을 초과할 것으로 예상되는 경우 Azure Databricks 계정 팀에 문의하세요.

아래 할당량 값은 Unity 카탈로그의 부모(또는 조부모) 개체를 기준으로 표시됩니다.

Object 부모
table schema(스키마) 10000
table 메타스토어 100000
volume schema(스키마) 10000
function schema(스키마) 10000
등록된 모델 schema(스키마) 1000
등록된 모델 메타스토어 5000
모델 버전 등록된 모델 10000
모델 버전 메타스토어 100000
schema(스키마) 카탈로그 10000
카탈로그 메타스토어 1000
connection 메타스토어 1000
스토리지 자격 증명 메타스토어 200
외부 위치 메타스토어 500

Delta Sharing 제한은 리소스 할당량을 참조하세요.