다음을 통해 공유


Unity 카탈로그란?

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

참고 항목

Unity 카탈로그는 오픈 소스 구현으로도 사용할 수 있습니다. 공지 블로그 및 공용 Unity 카탈로그 GitHub 리포지토리를 참조하세요.

Unity 카탈로그 개요

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

Unity 카탈로그 다이어그램

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

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

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

Unity 카탈로그에서 모든 메타데이터는 메타스토어에 등록됩니다. Unity 카탈로그 메타스토어의 데이터베이스 개체 계층 구조는 테이블, 뷰, 볼륨, 모델 및 함수를 참조할 때 3개 수준 네임스페이스(catalog.schema.table-etc)로 표현되는 세 가지 수준으로 나뉩니다.

Unity Catalog 개체 모델 다이어그램

메타스토어

메타스토어는 Unity 카탈로그의 메타데이터에 대한 최상위 컨테이너입니다. 데이터 및 AI 자산 및 액세스 권한을 제어하는 권한에 대한 메타데이터를 등록합니다. 작업 영역에서 Unity 카탈로그를 사용하려면 Unity 카탈로그 메타스토어가 연결되어 있어야 합니다.

작업 영역이 있는 각 지역에 대해 하나의 메타스토어가 있어야 합니다. 일반적으로 메타스토어는 지역에 처음으로 Azure Databricks 작업 영역을 만들 때 자동으로 만들어집니다. 일부 이전 계정의 경우 계정 관리자는 metastore를 만들고 해당 지역의 작업 영역을 metastore에 할당해야 합니다.

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

메타스토어의 개체 계층 구조

Unity 카탈로그 메타스토어에서 3단계 데이터베이스 개체 계층 구조는 스키마가 포함된 카탈로그로 구성되며, 이 카탈로그에는 테이블 및 모델과 같은 데이터 및 AI 개체가 포함됩니다.

수준 1:

  • 카탈로그는 데이터 자산을 구성하는 데 사용되며 일반적으로 데이터 격리 체계에서 최상위 수준으로 사용됩니다. 카탈로그는 종종 조직 단위 또는 소프트웨어 개발 수명 주기 범위를 미러링합니다. Azure Databricks의 카탈로그란?을 참조하세요.
  • 스토리지 자격 증명 및 외부 위치와 같은 비 데이터 보안 개체는 Unity 카탈로그에서 데이터 거버넌스 모델을 관리하는 데 사용됩니다. 이들은 또한 메타스토어 바로 아래에 살고 있습니다. 다른 보안 개체에 자세히 설명되어 있습니다.

수준 2:

  • 스키마 (데이터베이스라고도 함)에는 테이블, 뷰, 볼륨, AI 모델 및 함수가 포함됩니다. 스키마는 데이터 및 AI 자산을 카탈로그보다 세분화된 논리적 범주로 구성합니다. 일반적으로 스키마는 단일 사용 사례, 프로젝트 또는 팀 샌드박스를 나타냅니다. Azure Databricks의 스키마란?을 참조하세요.

수준 3:

  • 볼륨은 클라우드 개체 스토리지에서 구조화되지 않은 테이블 형식이 아닌 데이터의 논리적 볼륨입니다. 볼륨은 Unity 카탈로그가 스토리지에 있는 데이터의 전체 수명 주기 및 레이아웃을 관리하거나 외부로 관리할 수 있으며, Unity 카탈로그는 Azure Databricks 내에서 데이터에 대한 액세스를 관리하지만 다른 클라이언트의 클라우드 스토리지에 있는 데이터에 대한 액세스는 관리하지 않습니다. Unity 카탈로그 볼륨이란? 및 관리되는 볼륨과 외부 테이블 및 볼륨을 참조하세요.
  • 테이블 은 행과 열로 구성된 데이터의 컬렉션입니다. 테이블은 Unity 카탈로그가 테이블의 전체 수명 주기를 관리하거나 외부에서 관리할 수 있으며, Unity 카탈로그는 Azure Databricks 내에서 데이터에 대한 액세스를 관리하지만 다른 클라이언트의 클라우드 스토리지에 있는 데이터에 대한 액세스는 관리하지 않습니다. 테이블이란? 및 관리 테이블과 외부 테이블 및 볼륨을 참조하세요.
  • 는 하나 이상의 테이블에 대해 저장된 쿼리입니다. 보기란?을 참조하세요.
  • 함수는 스칼라 값 또는 행 집합을 반환하는 저장된 논리 단위입니다. Unity Catalog의 UDF(사용자 정의 함수)를 참조하세요.
  • 모델은 MLflow를 사용하여 패키지되고 Unity 카탈로그에 함수로 등록된 AI 모델입니다. Unity 카탈로그에서 모델 수명 주기 관리를 참조하세요.

Unity 카탈로그에서 데이터베이스 개체 작업

Unity 카탈로그에서 데이터베이스 개체를 사용하는 작업은 Hive 메타스토어에 등록된 데이터베이스 개체를 사용하는 것과 매우 유사하며, Hive 메타스토어에는 개체 네임스페이스에 카탈로그가 포함되지 않습니다. 친숙한 ANSI 구문을 사용하여 데이터베이스 개체를 만들고, 데이터베이스 개체를 관리하고, 사용 권한을 관리하고, Unity 카탈로그에서 데이터를 사용할 수 있습니다. 카탈로그 탐색기 UI를 사용하여 데이터베이스 개체를 만들고, 데이터베이스 개체를 관리하고, 데이터베이스 개체에 대한 권한을 관리할 수도 있습니다.

자세한 내용은 Azure Databricks 및 Unity 카탈로그 작업 및 레거시 Hive 메타스토어의 데이터베이스 개체를 참조하세요.

기타 보안 개체

Unity 카탈로그는 스키마에 포함된 데이터베이스 개체 및 AI 자산 외에도 다음 보안 개체를 사용하여 데이터에 대한 액세스를 제어합니다.

  • 스토리지 자격 증명- 클라우드 스토리지에 대한 액세스를 제공하는 장기 클라우드 자격 증명을 캡슐화합니다. Azure Data Lake Storage Gen2에 연결하기 위한 스토리지 자격 증명 만들기를 참조하세요.

  • 스토리지 자격 증명 및 클라우드 스토리지 경로에 대한 참조를 포함하는 외부 위치입니다. 외부 위치를 사용하여 외부 테이블을 만들거나 관리되는 테이블 및 볼륨에 대한 관리되는 스토리지 위치를 할당할 수 있습니다. 클라우드 스토리지를 Azure Databricks에 연결하는 외부 위치 만들기, 관리되는 스토리지를 사용한 데이터 격리 및 Unity 카탈로그에서 관리되는 스토리지 위치 지정을 참조하세요.

  • 연결- Lakehouse Federation을 사용하여 MySQL과 같은 데이터베이스 시스템의 외부 데이터베이스에 대한 읽기 전용 액세스를 제공하는 자격 증명을 나타냅니다. 레이크하우스 페더레이션 및 Unity 카탈로그와 레이크하우스 페더레이션이란?을 참조하세요.

  • 여러 참가자가 기본 데이터를 서로 공유하지 않고도 프로젝트에서 공동 작업할 수 있는 Databricks 관리 환경을 나타내는 클린룸. Azure Databricks Clean Rooms란?을 참조하세요.

  • 공유는 데이터 공급자가 하나 이상의 받는 사람과 공유하는 데이터 및 AI 자산의 읽기 전용 컬렉션을 나타내는 델타 공유 개체입니다.

  • 받는 사람- 데이터 공급자로부터 공유를 받는 엔터티를 나타내는 델타 공유 개체입니다.

  • 공급자- 받는 사람과 데이터를 공유하는 엔터티를 나타내는 델타 공유 개체입니다.

델타 공유 보안 개체에 대한 자세한 내용은 델타 공유란?을 참조하세요.

Unity 카탈로그에서 데이터베이스 개체 및 기타 보안 개체에 대한 액세스 권한 부여 및 취소

메타스토어 자체를 포함하여 계층 구조의 모든 수준에서 보안 개체에 대한 액세스 권한을 부여하고 취소할 수 있습니다. 액세스 권한이 취소되지 않는 한 개체에 대한 액세스는 암시적으로 해당 개체의 모든 자식에 동일한 액세스 권한을 부여합니다.

일반적인 ANSI SQL 명령을 사용하여 Unity 카탈로그의 개체에 대한 액세스 권한을 부여하고 취소할 수 있습니다. 예시:

GRANT CREATE TABLE ON SCHEMA mycatalog.myschema TO `finance-team`;

카탈로그 탐색기, Databricks CLI 및 REST API를 사용하여 개체 권한을 관리할 수도 있습니다.

카탈로그 탐색기를 사용하여 권한 부여

Unity 카탈로그에서 권한을 관리하는 방법을 알아보려면 Unity 카탈로그의 권한 관리를 참조하세요.

Unity 카탈로그의 데이터베이스 개체에 대한 기본 액세스

Unity 카탈로그는 사용자가 필요한 작업을 수행하는 데 필요한 최소 액세스 권한이 있는 최소 권한 원칙에 따라 작동합니다. 작업 영역을 만들 때 관리자가 아닌 사용자는 자동으로 프로비저닝된 작업 영역 카탈로그에만 액세스할 수 있으므로 이 카탈로그는 사용자가 Unity 카탈로그에서 데이터베이스 개체를 만들고 액세스하는 프로세스를 쉽게 시도할 수 있습니다. 작업 영역 카탈로그 권한을 참조 하세요.

관리자 역할

작업 영역 관리자 및 계정 관리자는 기본적으로 추가 권한을 갖습니다. Metastore 관리자는 선택적 역할로, 메타스토어 수준에서 테이블 및 볼륨 스토리지를 관리하려는 경우 필요하며, 한 지역의 여러 작업 영역에서 중앙에서 데이터를 관리하려는 경우 편리합니다. 자세한 내용은 Unity 카탈로그 의 관리자 권한 및 (선택 사항) 메타스토어 관리자 역할 할당을 참조하세요.

관리되는 테이블과 외부 테이블 및 볼륨 비교

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

  • 관리되는 테이블 은 Unity 카탈로그에서 완전히 관리되므로 Unity 카탈로그는 관리되는 각 테이블에 대한 거버넌스 및 기본 데이터 파일을 모두 관리합니다. 관리되는 테이블은 클라우드 스토리지의 Unity 카탈로그 관리 위치에 저장됩니다. 관리되는 테이블은 항상 Delta Lake 형식을 사용합니다. 메타스토어, 카탈로그 또는 스키마 수준에서 관리 테이블을 저장할 수 있습니다.
  • 외부 테이블 은 Azure Databricks에서 액세스가 Unity 카탈로그에서 관리되지만 데이터 수명 주기 및 파일 레이아웃이 클라우드 공급자 및 기타 데이터 플랫폼을 사용하여 관리되는 테이블입니다. 일반적으로 외부 테이블을 사용하여 Azure Databricks에서 많은 양의 기존 데이터를 등록하거나 Azure Databricks 외부의 도구를 사용하여 데이터에 대한 쓰기 액세스가 필요한 경우. 외부 테이블은 여러 데이터 형식으로 지원됩니다. 외부 테이블이 Unity 카탈로그 메타스토어에 등록되면 관리 테이블과 마찬가지로 Azure Databricks 액세스를 관리 및 감사하고 작업할 수 있습니다.
  • 관리되는 볼륨 은 Unity 카탈로그에 의해 완전히 관리됩니다. 즉, Unity 카탈로그는 클라우드 공급자 계정에서 볼륨의 스토리지 위치에 대한 액세스를 관리합니다. 관리되는 볼륨을 만들면 포함된 스키마에 할당된 관리되는 스토리지 위치에 자동으로 저장됩니다.
  • 외부 볼륨은 Azure Databricks 외부에서 관리되지만 Azure Databricks 내에서 액세스를 제어하고 감사하기 위해 Unity 카탈로그에 등록된 스토리지 위치의 기존 데이터를 나타냅니다. Azure Databricks에서 외부 볼륨을 만들 때 해당 위치를 지정합니다. 이 위치는 Unity 카탈로그 외부 위치에 정의된 경로에 있어야 합니다.

Databricks는 Unity 카탈로그 거버넌스 기능 및 성능 최적화를 최대한 활용할 수 있도록 관리되는 테이블 및 볼륨을 권장합니다.

관리되는 테이블 작업, 외부 테이블 작업 및 관리되는 볼륨과 외부 볼륨을 참조하세요.

관리되는 스토리지를 사용하여 데이터 격리

조직에서 특정 유형의 데이터를 클라우드 테넌트에 있는 특정 계정 또는 버킷 내에 저장하도록 요구할 수 있습니다.

Unity 카탈로그는 이러한 요구 사항을 충족하도록 메타스토어, 카탈로그 또는 스키마 수준에서 스토리지 위치를 구성하는 기능을 제공합니다. 시스템은 스키마에서 카탈로그, 메타스토어에 이르는 스토리지 위치의 계층 구조를 평가합니다.

예를 들어 조직에 인적 자원과 관련된 프로덕션 데이터가 컨테이너 abfss://mycompany-hr-prod@storage-account.dfs.core.windows.net 상주해야 하는 회사 규정 준수 정책이 있다고 가정해 보겠습니다. Unity 카탈로그에서는 카탈로그 수준에서 위치를 설정하고, 예를 들어 hr_prod호출된 카탈로그를 만들고, 위치 abfss://mycompany-hr-prod@storage-account.dfs.core.windows.net/unity-catalog를 할당하여 이 요구 사항을 달성할 수 있습니다. 즉, 카탈로그에서 hr_prod 만든 관리 테이블 또는 볼륨(예: 사용 CREATE TABLE hr_prod.default.table …)은 해당 데이터를 abfss://mycompany-hr-prod@storage-account.dfs.core.windows.net/unity-catalog에 저장합니다. 필요에 따라 스키마 수준 위치를 제공하여 보다 세분화된 수준에서 데이터를 hr_prod catalog 구성할 수 있습니다.

일부 카탈로그에 스토리지 격리가 필요하지 않은 경우 선택적으로 메타스토어 수준에서 스토리지 위치를 설정할 수 있습니다. 이 위치는 스토리지가 할당되지 않은 카탈로그 및 스키마의 관리 테이블 및 볼륨에 대한 기본 위치로 사용됩니다. 그러나 일반적으로 Databricks는 각 카탈로그에 대해 별도의 관리형 스토리지 위치를 할당하는 것이 좋습니다.

자세한 내용은 Unity 카탈로그에서 관리되는 스토리지 위치 지정을 참조하세요. 데이터는 스토리지에서 물리적으로 구분됩니다.

작업 영역 카탈로그 바인딩

기본적으로 카탈로그 소유자(및 메타스토어 관리자가 계정에 대해 정의된 경우)는 동일한 Unity 카탈로그 메타스토어에 연결된 여러 작업 영역의 사용자가 카탈로그에 액세스할 수 있도록 할 수 있습니다. 그러나 작업 영역을 사용하여 사용자 데이터 액세스를 격리하는 경우 계정의 특정 작업 영역에 대한 카탈로그 액세스를 제한하여 특정 종류의 데이터가 해당 작업 영역에서만 처리되도록 할 수 있습니다. 예를 들어 별도의 프로덕션 및 개발 작업 영역 또는 개인 데이터를 처리하기 위한 별도의 작업 영역을 원할 수 있습니다. 이를 작업 영역 카탈로그 바인딩이라고 합니다. 특정 작업 영역에 대한 카탈로그 액세스 제한을 참조하세요.

참고 항목

데이터 격리를 늘리려면 클라우드 스토리지 액세스를 특정 작업 영역에 바인딩할 수도 있습니다. (선택 사항) 특정 작업 영역에 스토리지 자격 증명 할당 및 (선택 사항) 특정 작업 영역에 외부 위치 할당을 참조하세요.

데이터 액세스 감사

Unity 카탈로그는 메타스토어에 대해 수행된 작업의 감사 로그를 캡처하여 관리자가 지정된 데이터 세트에 액세스한 사용자와 수행한 작업에 대한 세분화된 세부 정보에 액세스할 수 있도록 합니다.

Unity 카탈로그에서 관리하는 시스템 테이블을 사용하여 계정의 감사 로그에 액세스할 수 있습니다.

시스템 테이블을 사용하여 Unity 카탈로그 이벤트 감사, Unity 카탈로그 이벤트모니터 사용을 참조하세요.

데이터 계보 추적

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

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

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

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

레이크하우스 페더레이션이란?을 참조하세요.

델타 공유, Databricks Marketplace 및 Unity 카탈로그

델타 공유는 데이터 및 AI 자산을 해당 사용자가 Databricks를 사용하는지 여부에 관계없이 조직 외부의 사용자와 공유할 수 있는 안전한 데이터 공유 플랫폼입니다. 델타 공유는 오픈 소스 구현으로 사용할 수 있지만 Databricks에서는 Unity 카탈로그가 확장된 기능을 최대한 활용해야 합니다. Delta Sharing이란?을 참조하세요.

데이터 제품을 교환하기 위한 공개 포럼인 Databricks Marketplace는 델타 공유를 기반으로 하며, 따라서 Marketplace 공급자가 되려면 Unity 카탈로그 사용 작업 영역이 있어야 합니다. Databricks Marketplace란?을 참조하세요.

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

Unity 카탈로그를 사용하려면 Unity 카탈로그에 대해 Azure Databricks 작업 영역을 사용하도록 설정해야 합니다. 즉, 작업 영역이 Unity 카탈로그 메타스토어에 연결됩니다. 모든 새 작업 영역은 만들 때 자동으로 Unity 카탈로그에 대해 사용하도록 설정되지만 이전 작업 영역에서는 계정 관리자가 Unity 카탈로그를 수동으로 사용하도록 설정해야 할 수 있습니다. Unity 카탈로그에 대해 작업 영역을 자동으로 사용하도록 설정했는지 여부에 관계없이 Unity 카탈로그를 시작하려면 다음 단계도 필요합니다.

  • 테이블 및 볼륨과 같은 데이터베이스 개체를 포함하는 카탈로그 및 스키마를 만듭니다.
  • 관리되는 스토리지 위치를 만들어 이러한 카탈로그 및 스키마에 관리되는 테이블 및 볼륨을 저장합니다.
  • 카탈로그, 스키마 및 데이터베이스 개체에 대한 사용자 액세스 권한을 부여합니다.

Unity 카탈로그에 대해 자동으로 사용하도록 설정된 작업 영역은 모든 작업 영역 사용자에게 부여된 광범위한 권한으로 작업 영역 카탈로그를 프로비전합니다. 이 카탈로그는 Unity 카탈로그를 사용해 보기에 편리한 시작점입니다.

자세한 설정 지침은 Unity 카탈로그 설정 및 관리를 참조 하세요.

기존 작업 영역을 Unity 카탈로그로 마이그레이션

최근에 Unity 카탈로그에 대해 사용하도록 설정한 이전 작업 영역이 있는 경우 레거시 Hive 메타스토어에서 관리하는 데이터가 있을 수 있습니다. Unity 카탈로그에 등록된 데이터와 함께 해당 데이터를 사용할 수 있지만 레거시 Hive 메타스토어는 더 이상 사용되지 않으며, Unity 카탈로그의 뛰어난 거버넌스 기능과 성능을 활용하려면 최대한 빨리 Hive 메타스토어의 데이터를 Unity 카탈로그로 마이그레이션해야 합니다.

마이그레이션에는 다음이 포함됩니다.

  1. 작업 영역-로컬 그룹을 계정 수준 그룹으로 변환합니다. Unity 카탈로그는 계정 수준에서 ID 관리를 중앙 집중화합니다.
  2. Hive 메타스토어에서 관리되는 테이블 및 뷰를 Unity 카탈로그로 마이그레이션합니다.
  3. 이전 Hive 메타스토어 테이블 대신 새 Unity 카탈로그 테이블을 참조하도록 쿼리 및 작업을 업데이트합니다.

다음은 마이그레이션을 관리하는 데 도움이 될 수 있습니다.

  • Databricks Labs 프로젝트인 UCX는 Unity 카탈로그가 아닌 작업 영역을 Unity 카탈로그로 업그레이드하는 데 도움이 되는 도구를 제공합니다. UCX는 대규모 마이그레이션에 적합합니다. UCX 유틸리티를 사용하여 작업 영역을 Unity 카탈로그로 업그레이드하는 방법을 참조하세요.

  • 마이그레이션할 테이블 수가 적은 경우 Azure Databricks는 사용할 수 있는 UI 마법사 및 SQL 명령을 제공합니다. Hive 테이블 및 뷰를 Unity 카탈로그로 업그레이드를 참조 하세요.

  • 동일한 작업 영역의 Unity 카탈로그에 있는 데이터베이스 개체와 함께 Hive 메타스토어의 테이블을 사용하는 방법을 알아보려면 Unity 카탈로그 작업 및 레거시 Hive 메타스토어를 참조하세요.

Unity 카탈로그 요구 사항 및 제한 사항

Unity 카탈로그에는 아래에 설명된 특정 유형의 컴퓨팅 및 파일 형식이 필요합니다. 또한 아래에는 모든 Databricks 런타임 버전의 Unity 카탈로그에서 완전히 지원되지 않는 일부 Azure Databricks 기능이 나와 있습니다.

지역 지원

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

컴퓨팅 요구 사항

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

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

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

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

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

파일 형식 지원

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

제한 사항

Unity 카탈로그에는 다음과 같은 제한이 있습니다. 이들 중 일부는 이전 Databricks 런타임 버전 및 컴퓨팅 액세스 모드와 관련이 있습니다.

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

Databricks는 이 목록을 정기적으로 축소하는 새로운 기능을 릴리스합니다.

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

  • R의 워크로드는 Databricks Runtime 15.3 이하를 실행하는 컴퓨팅에서 행 수준 또는 열 수준 보안을 위해 동적 뷰를 사용할 수 없습니다.

    동적 보기를 쿼리하는 R의 워크로드에 Databricks Runtime 15.4 LTS 이상을 실행하는 단일 사용자 컴퓨팅 리소스를 사용합니다. 이러한 워크로드에는 서버리스 컴퓨팅에 사용하도록 설정된 작업 영역도 필요합니다. 자세한 내용은 단일 사용자 컴퓨팅에 대한 세분화된 액세스 제어를 참조 하세요.

  • 단순 클론은 Databricks Runtime 12.2 LTS 이하를 실행하는 컴퓨팅의 Unity 카탈로그에서 지원되지 않습니다. 단순 클론을 사용하여 Databricks Runtime 13.3 LTS 이상에서 관리되는 테이블을 만들 수 있습니다. Databricks 런타임 버전에 관계없이 외부 테이블을 만드는 데 사용할 수 없습니다. Unity 카탈로그 테이블의 단순 복제본을 참조 하세요.

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

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

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

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

  • Python UDF는 Databricks Runtime 12.2 LTS 이하에서 지원되지 않습니다. 여기에는 SPARK(및mapInPandas)의 UDAF, UDF 및 Pandas가applyInPandas 포함됩니다. Python 스칼라 UDF는 Databricks Runtime 13.3 LTS 이상에서 지원됩니다.

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

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

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

Unity 카탈로그에 등록된 모델에는 추가 제한 사항이 있습니다. 제한 사항 보기.

리소스 할당량

Unity 카탈로그는 모든 보안 개체에 리소스 할당량을 적용합니다. 이러한 할당량은 리소스 제한에 나열됩니다. 이러한 리소스 제한을 초과할 것으로 예상되는 경우, Azure Databricks 계정 팀에게 문의하세요.

Unity 카탈로그 리소스 할당량 API를 사용하여 할당량 사용량을 모니터링할 수 있습니다. Unity 카탈로그 리소스 할당량 사용량 모니터링을 참조 하세요.