주요 컨텐츠로 이동
플랫폼

Unity Catalog 관리형 테이블이 레이크하우스에 상호 운용성, 성능 및 통합 거버넌스를 제공하는 방법

외부 엔진은 중앙 집중식 거버넌스 및 자동 최적화가 적용된 Unity Catalog 관리형 Delta 테이블을 생성, 읽기, 쓰기할 수 있습니다.

작성자: Alex Jiang , Tathagata “TD” Das

  • Apache Spark, Apache Flink, DuckDB를 포함한 외부 엔진이 이제 Unity Catalog에서 중앙 집중식으로 거버넌스가 적용되는 UC 관리형 Delta 테이블을 생성하고 쓸 수 있습니다.
  • UC 관리형 테이블은 Predictive Optimization을 사용하여 쿼리 성능을 향상시키고 스토리지 비용을 절감하는 동시에 외부 엔진 간의 완전한 상호 운용성을 유지합니다. 기존 외부 테이블은 데이터 재작성 없이 ALTER TABLE SET MANAGED를 통해 즉시 업그레이드할 수 있으며 상호 운용성도 그대로 유지됩니다.
  • 외부 액세스는 오픈 소스 Unity Catalog(UC OSS) 프로젝트의 오픈 UC Delta API를 기반으로 구축되었으므로, 지원되는 엔진은 Databricks UC 및 UC OSS 모두와 호환됩니다.

Unity Catalog는 대규모 상호 운용성을 위해 설계되었습니다. 기업은 중앙에서 거버넌스를 적용하면서 단일 데이터 복사본에서 어떤 엔진이든 유연하게 실행할 수 있습니다.

오늘, 저희는 상호 운용성을 한 단계 더 발전시키고자 합니다. Unity Catalog(UC) 관리형 Delta 테이블에 대한 외부 액세스가 이제 퍼블릭 프리뷰(Public Preview)로 제공된다는 기쁜 소식을 전해드립니다.

지난 한 해 동안 Apache Spark 및 Flink부터 이제 Starburst 및 DuckDB에 이르기까지 점점 더 많은 엔진이 UC 관리형 Delta 테이블과 통합되었으며, 생태계는 계속해서 성장하고 있습니다. 기업은 UC 관리형 테이블의 가격 대비 성능 이점과 각 워크로드에 맞는 엔진을 사용할 수 있는 유연성이라는 두 마리 토끼를 모두 잡을 수 있습니다. Unity Catalog는 중앙 거버넌스 계층으로 유지되어 여러 엔진에서 액세스 정책이 일관되게 적용되도록 보장합니다.

지금까지 멀티 엔진 액세스가 필요한 팀은 성능 최적화와 거버넌스 보장이 부족한 외부 테이블을 사용해 왔습니다. 이제 외부 액세스가 퍼블릭 프리뷰로 제공됨에 따라 이러한 절충안은 더 이상 필요하지 않습니다. UC 관리형 테이블은 가격, 성능, 상호 운용성 전반에서 레이크하우스를 위한 확실한 선택입니다.

팀들이 Unity Catalog 관리형 테이블을 선택하는 이유

UC 관리형 테이블은 Delta Lake 및 Apache Iceberg의 상호 운용성과 쿼리 성능을 향상시키고, 스토리지 비용을 절감하며, 시간이 지나도 테이블을 정상 상태로 유지하는 자동 빌트인 기능을 결합합니다. 또한 재해 복구(disaster recovery)Zerobus 수집(ingestion)과 같은 플랫폼 기능의 기반이 됩니다.

Databricks는 예측 최적화(Predictive Optimization)를 통해 관리형 테이블을 자동으로 튜닝합니다. 예측 최적화는 스토리지를 정리하고, 쿼리 통계를 수집하며, 쿼리 패턴이 변경됨에 따라 테이블 레이아웃을 발전시키기 위해 Liquid 클러스터링 열을 자동으로 선택합니다. 이러한 이점들이 결합되어 데이터 팀이 수동으로 테이블을 튜닝할 필요를 없애는 동시에, 최대 50%의 스토리지 비용 절감과 20배 더 빠른 쿼리 속도를 제공할 수 있습니다.

예측 최적화

저희는 최근 Unity Catalog를 UC 관리형 테이블의 커밋 코디네이터로 만드는 카탈로그 커밋의 정식 출시(General Availability)를 발표했습니다. 외부 클라이언트가 클라우드 스토리지에 직접 커밋하도록 하는 대신, UC 관리형 Delta 테이블에 대한 쓰기는 카탈로그를 통해 조정됩니다. 이를 통해 Unity Catalog는 테이블 상태에 대한 신뢰할 수 있는 단일 원천(source of truth)이 되며, 안전한 외부 쓰기, 다중 문 트랜잭션(multi-statement transactions), 외부 작업 감사와 같은 주요 이점을 제공합니다.

외부 엔진에서 생성, 읽기 및 쓰기

이제 퍼블릭 프리뷰를 통해 외부 엔진에서 다음을 수행할 수 있습니다.

  • Apache Spark(배치 및 스트리밍), Apache Flink, Starburst, DuckDB, Streamnative에서 카탈로그 커밋을 사용하여 UC 관리형 Delta 테이블을 생성, 읽기 및 쓸 수 있습니다.
  • 모든 엔진에 걸쳐 Unity Catalog에서 거버넌스를 중앙 집중식으로 유지합니다.
  • 모든 엔진에서 비용을 절감하고 성능을 향상시키는 예측 최적화(Predictive Optimization)의 이점을 누릴 수 있습니다.

외부 액세스는 메타데이터, 자격 증명 벤딩(credential vending), 커밋 조정을 위한 Open API를 기반으로 구축되었습니다. 자격 증명 벤딩은 UC 권한을 기반으로 수명이 짧고 범위가 지정된 자격 증명을 발급하며, Unity Catalog Delta API는 Delta 엔진에 생성, 읽기 및 쓰기 작업을 위한 버전이 지정된 계약을 제공합니다. 이러한 API는 개방되어 있고 Unity Catalog OSS 프로젝트에 구현되어 있으므로, 어떤 엔진이든 생성, 읽기 및 쓰기 지원과 통합할 수 있습니다. 그 결과 Databricks UC 및 UC OSS에서 거버넌스가 적용된 동일한 데이터 복사본에서 작동하는 엔진 생태계가 계속 성장하고 있습니다.

파트너들은 이미 다양한 방식으로 이러한 API를 중심으로 구축하고 있습니다. Starburst는 예를 들어, Unity Catalog 및 Delta Lake와 통합되어 UC 관리형 Delta 테이블의 생성, 읽기 및 쓰기를 지원합니다.

"Starburst는 데이터 생태계 전반의 개방성과 상호 운용성에 대한 Databricks의 비전을 공유합니다. Unity Catalog 관리형 테이블과의 통합을 통해 고객이 중앙 집중식 거버넌스와 원하는 도구를 활용할 수 있는 유연성을 바탕으로 모든 데이터에 대한 단일 신뢰 원천을 구축할 수 있도록 지원하고 있습니다." —Justin Borgman, CEO, Starburst Data

Delta Kernel을 통한 생태계 확장

UC 관리형 테이블에 대한 외부 액세스는 Delta Lake 및 Unity Catalog OSS 생태계에 대한 광범위한 투자의 일부입니다. 목표는 Delta를 Iceberg가 개척한 카탈로그 관리형(catalog-managed) 모델과 정렬하여, 기업이 모든 엔진과의 상호 운용성을 유지하면서 카탈로그의 성능 및 일관성 보장 이점을 누릴 수 있도록 하는 것입니다.

저희는 프로토콜을 처음부터 다시 구현하지 않고도 Delta 테이블을 읽고, 쓰고, 커밋할 수 있는 라이브러리를 제공하는 Delta Kernel로 Delta 생태계를 확장하고 있습니다. UC OSS의 UC Delta API와 결합된 Delta Kernel을 사용하면 엔진이 Databricks 관리형 카탈로그 또는 자체 호스팅 UC OSS 배포와 원활하게 통합될 수 있습니다.

예를 들어, DuckDB는 Delta Kernel을 기반으로 Delta 및 Unity Catalog OSS 확장을 구축했습니다. DuckDB v1.5.1부터 UC 관리형 Delta 테이블을 직접 읽고 쓸 수 있습니다. 이는 개방적이고 상호 운용 가능한 생태계에 대한 저희의 약속을 반영합니다. Delta 프로토콜이 발전함에 따라 Kernel을 기반으로 구축된 엔진은 최신 기능을 자동으로 상속하므로, 고객은 어떤 엔진을 선택하든 항상 최신의 가장 뛰어난 기능을 사용할 수 있습니다.

"DuckDB 사용자는 경량 분석 엔진에서 개방형 레이크하우스 데이터로 직접 작업할 수 있는 가치를 높이 평가합니다. Delta Lake 및 Unity Catalog 통합은 한 엔진을 통해 작성된 데이터를 다른 엔진에서 일관되게 읽을 수 있는 워크로드를 포함하여, 거버넌스가 적용된 엔터프라이즈 테이블에 이러한 경험을 제공하는 데 도움이 됩니다." —Hannes Mühleisen, CEO, DuckDB Labs

저희는 UC 관리형 Delta 테이블과의 더 많은 Kernel 기반 통합을 개발하기 위해 커뮤니티와 계속 협력하고 있습니다. 예를 들어, 새로운 Kernel 기반 Flink 커넥터를 통해 Flink 스트리밍 워크로드를 UC 관리형 테이블로 가져오는 데 큰 진전을 이루고 있습니다.

중앙 집중식 거버넌스

중앙 집중식 거버넌스는 멀티 엔진 파이프라인에 매우 중요합니다. 스트리밍 애플리케이션이 관리형 테이블에 데이터를 쓰고, Spark가 이를 변환하고, Starburst 또는 DuckDB가 이를 쿼리할 수 있습니다. 엔진이나 쿼리 뒤에 있는 ID에 관계없이 액세스 제어가 준수되어야 합니다.

Unity Catalog는 모든 엔진에 걸친 단일 거버넌스 계층입니다. 플랫폼 팀은 어떤 주체(principal)가 외부에서 테이블에 액세스할 수 있는지, 그리고 UC 권한을 통해 무엇을 할 수 있는지 제어합니다. 엔진 간 ABAC(Cross-engine ABAC)는 이를 더욱 확장하여 Unity Catalog가 외부 엔진의 읽기 작업에서 행을 필터링하거나 열을 마스킹할 수 있도록 합니다. 세분화된 액세스 제어는 맞춤형 해결 방법(workaround) 없이도 UC 관리형 테이블에 대해 중앙에서 강제 적용됩니다.

지금 바로 UC 관리형 테이블 사용 시작하기

개방형 레이크하우스를 구축하는 팀에게 UC 관리형 테이블은 가장 강력한 기반입니다. 예측 최적화(Predictive Optimization)는 데이터 레이아웃을 자동으로 튜닝하고 테이블 유지 관리를 수행하여 수동 작업 없이도 최고의 가격 대비 성능을 제공합니다. 상호 운용성도 기본적으로 제공됩니다. 관리형 테이블은 Delta 또는 Iceberg 형식으로 저장되며 모든 엔진에서 액세스할 수 있으므로, 팀은 성능과 유연성 사이에서 고민할 필요가 없습니다.

외부 테이블을 사용하는 팀은 ALTER TABLE SET MANAGED을 사용하여 기존 테이블을 제자리에서 업그레이드할 수 있으므로, 이미 의존하고 있는 개방형 멀티 엔진 액세스를 유지하면서 예측 최적화(Predictive Optimization) 및 카탈로그 커밋의 이점을 누릴 수 있습니다.

저희의 비전은 명확합니다. 고객은 최고의 가격 대비 성능과 통합된 거버넌스를 갖춘 Unity Catalog의 단일 데이터 복사본을 유지하면서 각 워크로드에 가장 적합한 엔진을 사용할 수 있어야 합니다.

시작하는 방법

외부 클라이언트의 생성, 읽기 및 쓰기 작업 지원을 포함하여 UC 관리형 Delta 테이블에 대한 외부 액세스가 퍼블릭 프리뷰로 제공됩니다.

시작하려면 다음 단계를 따르세요:

  1. Unity Catalog 메타스토어에서 외부 데이터 액세스를 활성화합니다.
  2. 외부 엔진이 액세스하려는 UC 관리형 Delta 테이블이 포함된 스키마에 EXTERNAL USE SCHEMA 권한을 부여합니다.
  3. Unity Catalog 0.5.1 클라이언트와 함께 Delta 4.3을 사용하여 엔진을 연결합니다. 외부 액세스 설명서를 참조하세요.
  4. 외부 엔진에서 카탈로그 커밋이 활성화된 UC 관리형 Delta 테이블에 대한 생성, 읽기 및 쓰기를 테스트합니다(또는 기존 외부 테이블을 관리형으로 변환합니다).

Delta 커넥터 관련 정보는 아래에서 확인할 수 있습니다:

(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)

최신 게시물을 이메일로 받아보세요

블로그를 구독하고 최신 게시물을 이메일로 받아보세요.