Apache Iceberg를 위한 가장 포괄적이고 개방적인 카탈로그
작성자: 제이슨 리드, Ryan Blue, Daniel Weeks , 미셸 레온
*Unity Catalog은 이제 관리형 Iceberg, Iceberg v3, 외부 Iceberg가 GA로 출시되면서 가장 포괄적이고 상호 운용 가능하며 프로덕션 준비가 된 Apache Iceberg 카탈로그입니다.
*다섯 가지 기능이 차별화됩니다. 개방형 API, 카탈로그 연합, 교차 엔진 액세스 제어, 제로 복사 보안 공유, AI 기반 최적화입니다.
*앞으로 Iceberg v4와 Delta 5.0은 통합된 메타데이터 구조로 수렴되어 상호 운용성과 프로덕션 준비 성능 간의 절충을 끝낼 것입니다.
오픈 레이크하우스의 다음 단계는 카탈로그에 의해 정의될 것입니다. 오픈 테이블 형식 덕분에 여러 엔진이 동일한 데이터에서 작동할 수 있게 되었지만, 카탈로그는 해당 데이터를 거버넌스, 최적화 및 시스템 간 일관되게 공유할 수 있는지 여부를 결정합니다. AI 및 에이전트 애플리케이션을 포함한 더 많은 워크로드가 여러 시스템에 걸쳐 데이터에 대한 거버넌스된 액세스에 의존함에 따라, 기업은 상호 운용성, 뛰어난 성능 및 엔터프라이즈급 거버넌스를 제공할 수 있는 Iceberg 카탈로그가 필요합니다.
이것이 오늘날 우리가 시장에서 가장 포괄적인 Iceberg 기능을 갖춘 레이크하우스 카탈로그를 발표하는 이유입니다. 이 블로그에서는 Unity Catalog의 Iceberg 지원에 대한 새로운 개선 사항을 논의하고 Unity Catalog를 오늘날 시장에서 가장 상호 운용성이 뛰어난 Iceberg 카탈로그로 만드는 5가지 사항을 자세히 설명합니다.
모든 엔진, 모든 카탈로그 및 모든 팀이 원활하게 협력할 수 있도록 Databricks 및 Unity Catalog 전반에 걸쳐 광범위한 Iceberg 기능을 일반 공급(GA) 및 미리 보기로 출시했습니다.

완전한 오픈 레이크하우스를 제공하려면 Iceberg 카탈로그는 기본 메타데이터 추적을 넘어서야 합니다. 다양한 엔진, 공급업체 및 거버넌스 모델 전반에 걸쳐 절대적인 유연성을 제공해야 합니다. 오픈 Iceberg 카탈로그를 평가하는 것은 다섯 가지 기본 운영 요구 사항을 얼마나 잘 해결하는지에 달려 있다고 생각합니다. 즉,개방형 API 제공,외부 에스테이트 전반에 걸친 페더레이션,엔진 간 거버넌스 시행,안전하고 개방적인 공유 활성화, 그리고지속적인 성능 및형식 혁신입니다.
Unity Catalog는 이 다섯 가지 요구 사항을 모두 충족하는 유일한 카탈로그입니다.

고객은 데이터를 복사하거나 모든 엔진에 광범위한 저장소 권한을 부여하지 않고도 Spark, Trino, Flink, Snowflake, DuckDB, pandas 또는 기타 Iceberg 호환 클라이언트 등 워크로드에 가장 적합한 엔진을 사용할 수 있어야 합니다.
Databricks에서 관리형 Iceberg가 일반 공급됨에 따라 고객은 UC의 Iceberg REST 카탈로그 API를 사용하여 모든 엔진에서 Unity Catalog의 Iceberg 테이블을 생성, 읽기 및 쓸 수 있습니다.
UC의 Iceberg REST 카탈로그 API는 이제 관리형 Iceberg 테이블을 넘어 확장됩니다. UC는 또한 외부 카탈로그에서 관리되는 테이블에 대해서도 개방형 API를 통해 안전한 액세스를 제공하는 페더 레이션 Iceberg 테이블에 대한 자격 증명을 발급합니다. 현재 Gated Public Preview에서는 고객이 Databricks에서 구체화된 뷰를 생성하고 이를 다운스트림 소비자에게 Iceberg 테이블로 노출할 수 있습니다. 향후 몇 주 안에 더 광범위하게 사용할 수 있게 되면 고객은 CREATE MATERIALIZED VIEW my_mv USING ICEBERG를 사용하여 Iceberg 호환 구체화된 뷰를 직접 생성할 수 있습니다.

많은 대기업에는 레이크하우스에 여러 카탈로그가 있습니다. 예를 들어 Unity Catalog, AWS Glue, Snowflake Horizon 및 Hive Metastore에 걸쳐 데이터가 분산되어 있을 수 있습니다. 외부 Iceberg가 일반 공급됨에 따라 Unity Catalog는 다른 카탈로그에서 관리되는 Iceberg 테이블을 거버넌스할 수 있습니다. 고객은 데이터와 소스 카탈로그를 그대로 유지하면서 Databricks를 통해 외부 Iceberg 테이블을 검색, 보호, 쿼리 및 공유할 수 있습니다.
Unity Catalog는 이제 AWS Glue, Google Cloud Lakehouse Runtime Catalog, Snowflake Horizon, Palantir, Salesforce 및 Workday를 포함한 광범위하고 성장하는 Iceberg 카탈로그 통합 세트를 지원합니다. 이러한 통합을 통해 기업은 데이터가 다른 곳에서 생성되거나 관리되더라도 Unity Catalog를 Iceberg 에스테이트의 단일 통합 뷰로 취급할 수 있습니다.
과거에 는 행 및 열 수준 제어가 단일 엔진 내에서 시행되었습니다. 오픈 레이크하우스에서는 동일한 테이블에 여러 엔진에서 액세스할 수 있습니다. 이는 어려운 문제를 야기했습니다. 즉, 거버넌스는 데이터에 액세스할 수 있는 모든 곳에서 작동해야 합니다.
이제 교차 엔진 속성 기반 액세스 제어(ABAC)가 베타 버전으로 출시됨에 따라 Unity Catalog는 Iceberg REST Catalog Scan API를 사용하는 Iceberg 클라이언트로 속성 기반 액세스 제어를 확장합니다.
작동 방식: 관리자는 열 마스크, 행 필터 및 태그 기반 정책을 포함하여 UC에서 정책을 한 번 정의합니다. 외부 Iceberg 엔진이 액세스를 요청하면 UC는 서버 측 스캔 계획 중에 적용 가능한 정책을 평가합니다. 그런 다음 UC는 필터링된 스캔 계획을 반환하여 엔진이 쿼리를 처리할 때 승인된 데이터만 읽도록 합니다.
이는 개방형 표준을 사용하여 외부 Iceberg 엔진에 대한 세분화된 거버넌스를 제공합니다. Iceberg 1.11 릴리스에 추가된 Iceberg REST 카탈로그 스캔 계획 클라이언트를 구현하는 Apache Spark 또는 DuckDB와 같은 모든 엔진은 ABAC가 적용된 상태로 데이터에 액세스할 수 있습니다. 고객은 레이크하우스 전체에서 하나의 거버넌스 모델을 유지하면서 각 워크로드에 가장 적합한 엔진을 사용할 수 있습니다.
Unity Catalog와 관리형 Iceberg는 AI 및 ML 파이프라인의 네이티브 성능과 모든 다운스트림 소비자를 위한 개방형 상호 운용성이라는 두 가지 장점을 모두 제공합니다. 하나의 쓰기 경로, 중복 없음, 모든 엔진이 존중하는 거버넌스 계층은 우리가 Rippling의 Data Cloud를 위해 구축하는 AI 기반 제품을 포함합니다.— Tae Lee, Staff Engineer, Data Platform at Rippling
교차 도메인 공유는 종종 데이터 제공업체에게 어려운 선택을 강요합니다. 다른 플랫폼으로 데이터를 복사하거나, 복잡한 외부 인증 메커니즘을 구축하거나, 모든 수신자가 동일한 공급업체 생태계를 사용하도록 요구하는 것입니다. Databricks는 데이터 및 AI 공유를 위한 가장 널리 채택된 오픈 소스 프로토콜인 Delta Sharing을 통해 안전한 개방형 데이터 공유를 개척했습니다. Delta Sharing은 Databricks-to-Databricks 및 Databricks-to-Open 공유를 모두 지원합니다.
Databricks DeltaSharing에서 Iceberg가 소스 형식 및 대상 형식으로 모두 첫 번째 클래스 시민이 되었음을 발표하게 되어 기쁩니다. 이제 일반적으로 사용 가능한 Iceberg 클라이언트로 공유를 통해 Databricks 고객은 Iceberg REST Catalog API를 지원하는 모든 수신자와 외부에서 실시간 데이터를 공유할 수 있습니다. 수신자는 수동 수집 또는 복사 없이 Snowflake, Trino, Flink 및 Spark와 같은 Iceberg 호환 클라이언트에서 공유 데이터에 액세스할 수 있습니다. 제공업체는 Unity Catalog를 통해 액세스, 감사 및 거버넌스를 계속 관리합니다.
또한 Databricks 외부에서 관리되거나 카탈로그화되었지만 Unity Catalog에 등록되고 관리되는 Iceberg 테이블을 공유할 수 있는 외부 Iceberg 공유의 공개 미리 보기를 발표합니다. 이는 UC가 데이터를 제자리에 유지하고 거버넌스를 중앙 집중화하면서 관리형 및 외부 Iceberg 테이블 모두에 대한 공유 계층 역할을 할 수 있음을 의미합니다.

개방형 상호 운용성은 테이블이 프로덕션 규모에서 성능을 유지할 때만 작동합니다. Unity Catalog는 AI를 사용하여 테이블을 최적화하여 쿼리 속도를 높이고 운영 오버헤드를 줄이는 유일한 카탈로그입니다. Predictive Optimization은 어떤 테이블에 유지 관리가 필요한지, 어떤 최적화를 실행할지, 얼마나 자주 실행할지를 결정하고 워크로드 패턴에 따라 테이블의 데이터 레이아웃을 조정합니다. 이를 통해 사용량이 변경됨에 따라 Iceberg 테이블을 빠르고 비용 효율적으로 유지하는 데 필요한 운영 작업이 줄어들고 이러한 최적화는 모든 엔진에 혜택을 줍니다. 예를 들어 데이터 레이아웃 최적화 기술은 Apache Spark와 같은 Databricks 외부에서 실행되는 쿼리의 데이터 건너뛰기를 개선합니다. 우리는 고객 경험을 지속적으로 혁신하고 있으며, 최적의 성능을 위해 클러스터링 키를 지능적으로 선택하거나 이전 액세스 패턴을 기반으로 최신 혁신으로 개방형 테이블을 자동으로 업그레이드할 수 있는 유일한 카탈로그입니다.
Databricks는 또한 Iceberg 표준 자체를 발전시키고 있습니다. Databricks에서 이제 일반적으로 사용 가능한 Iceberg v3을 통해 고객은 관리형 Iceberg 테이블, 외부 Iceberg 테이블 및 UniForm 지원 관리형 테 이블 전반에 걸쳐 삭제 벡터, 행 추적 및 VARIANT에 대한 지원을 받을 수 있습니다. 이러한 기능은 성능과 상호 운용성 간의 중요한 격차를 해소합니다. 삭제 벡터는 업데이트, 병합 및 삭제를 가속화하고, 행 추적은 보다 효율적인 증분 처리를 지원하며, VARIANT는 반구조화된 데이터에 대한 표준 표현을 제공합니다. 이러한 기능은 Delta 및 Iceberg 테이블 모두에서 원활하게 작동하여 데이터를 다시 작성하지 않고도 상호 운용성을 지원합니다.
이러한 투자는 모두 동일한 목표를 가리킵니다. 즉, 고객이 생태계 상호 운용성 또는 프로덕션 워크로드에 필요한 성능 기능 중에서 선택하도록 강요하지 않는 개방형 테이블입니다.
Unity Catalog는 팀과 시스템 전반의 데이터를 관리할 수 있는 한 곳을 제공하며, 관리형 Iceberg는 당사 규모에서 필요한 성능을 제공합니다.— Kayvon Raphael, Head of Data Engineering, Magnite
이러한 다섯 가지 기능을 종합하면 Unity Catalog는 Apache Iceberg에 가장 적합한 카탈로그가 됩니다. UC는 고객에게 Iceberg 테이블에 대한 개방형 액세스, 카탈로그 간의 통합된 보기, 엔진 전반의 세분화된 거버넌스, 도메인 간의 안전한 공유 및 프로덕션 워크로드를 위한 자동 최적화를 제공합니다.
Iceberg v4를 통해 성능, 확장성 및 상호 운용성을 개선하기 위해 핵심 메타데이터 구조를 처음부터 재고하고 있습니다. 당사의 목표는 성능 및 기능 혁신의 기준을 지속적으로 높이고 Iceberg와 Delta Lake를 더 가깝게 만드는 방식으로 이를 수행하는 것입니다. 이것이 바로 Delta 5.0의 다음 버전이 적응형 메타데이터 트리 구조를 채택하도록 제안하는 이유입니다.
결과는 간단합니다. 모든 관리형 테이블은 Unity Catalog에서 자동으로 최적화되고, 개방형 API를 통해 관리되며, 모든 엔진에서 사용할 수 있습니다. 다른 플랫폼은 상호 운용성과 고급 성능 및 기능 중에서 선택하도록 합니다. Unity Catalog를 사용하면 둘 다 얻을 수 있습니다.
Data + AI Summit에 참여하여 Apache Iceberg, Unity Catalog, 개방형 공유, 연합 및 Delta 및 Iceberg 형식 통합의 다음 단계에 대해 자세히 알아보십시오.
(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)
블로그를 구독하고 최신 게시물을 이메일로 받아보세요.