주요 컨텐츠로 이동

Lakehouse 비전 완성하기: 개방형 스토리지, 개방형 액세스, 통합 거버넌스

Blog: Realizing the Lakehouse Vision: Open Storage, Open Access, Unified Governance

Published: December 2, 2025

공지사항1분 이내 소요

Summary

  • Unity Catalog는 이제 엔진 전반에서 속성 기반 액세스 제어를 통합하는 유일한 카탈로그로, 데이터가 액세스되는 모든 곳에 행 필터와 컬럼 마스크를 적용합니다.
  • Unity Catalog는 서버 측 필터링된 스캔 플랜을 적용하므로 외부 엔진은 커스텀 정책 로직이나 중복 없이 승인된 데이터만 자동으로 수신합니다.
    • 이제 팀은 Delta Lake와 Iceberg를 위한 단일하고 확장 가능한 보안 모델을 채택하여, 오픈 레이크하우스 전반에서 일관되고 세분화된 거버넌스를 달성하고 진정한 상호 운용성을 확보할 수 있습니다.

지금까지 조직은 lakehouse에서 사용하는 여러 query 엔진과 도구에 걸쳐 속성 기반 액세스 제어(ABAC) 정책을 통합할 방법이 없었습니다. 오늘, 외부 엔진에 대한 세분화된 액세스 제어 기능의 프리뷰를 발표하게 되어 기쁩니다. 이번 출시로 Unity Catalog는 크로스 엔진 ABAC을 지원하는 최초이자 유일한 카탈로그가 되어, 팀은 태그 기반 행 필터와 열 마스크를 한 번만 정의하면 데이터가 액세스되는 모든 곳에 적용시킬 수 있습니다.

Unity Catalog로 통합된 거버넌스는 레이크하우스의 가장 큰 과제 중 하나인 여러 엔진에 걸쳐 파편화된 거버넌스를 제거합니다. Apache Iceberg REST 카탈로그 API를 기반으로 구축된 Unity Catalog는 데이터를 외부 엔진에 개방하는 동시에 세분화된 정책으로 완벽하게 관리할 수 있습니다.

Lakehouse 비전 완성

조직이 lakehouse 아키텍처를 채택함에 따라 데이터는 독점적인 warehouse 시스템에서 개방형 스토리지 및 개방형 테이블 형식으로 이동하여 중복이나 종속 없이 Spark, Trino, DuckDB와 같은 여러 엔진에서 액세스할 수 있게 되었습니다.

하지만 이러한 새로운 수준의 개방성은 데이터에 액세스할 수 있는 모든 곳에서 거버넌스가 작동해야 한다는 어려운 문제를 야기했습니다. 전통적인 웨어하우스에서는 행 및 열 수준 제어가 단일 엔진 내에서 적용되었습니다. 오픈 lakehouse에서는 이제 여러 엔진에서 데이터에 액세스할 수 있게 되었으며, 모든 엔진에 걸쳐 일관된 정책 시행을 보장하는 것이 새로운 과제가 되었습니다.

보안팀은 다음과 같이 복잡하거나 위험한 접근 방식 중에서 하나를 선택해야 했습니다.

  • 여러 시스템에 걸쳐 액세스 제어 정책을 수동으로 복제하면 운영 부담이 증가하고 정책 drift의 위험이 발생합니다.
  • 다양한 엔진 또는 리전에 대해 필터링된 뷰 또는 테이블 사본을 별도로 유지하여 중복 및 불일치를 유발합니다.
  • 또는 다운스트림 도구에 대한 광범위한 테이블 수준 액세스 권한을 부여하여 세분화된 거버넌스를 완전히 우회할 수도 있습니다.

고객들은 오픈 포맷이 공유 데이터에 대한 유연한 compute라는 약속을 이행했지만, 거버넌스 역시 통합되어야만 그 비전이 완전히 실현될 수 있다고 꾸준히 말했습니다.

여러 엔진에 걸친 세분화된 거버넌스의 과제

Unity 카탈로그는 이미 크리덴셜 벤딩을 통해 여러 엔진에 걸쳐 범용 테이블 수준 액세스 제어 기능을 제공하며, 이는 레이크하우스의 거버넌스를 통합하는 데 중요한 진전입니다. 그러나 테이블 수준 액세스만으로는 사용자가 행 또는 열의 하위 집합만 보아야 하는 시나리오를 해결할 수 없습니다. 민감한 데이터에는 지역 제한이나 PII 마스킹과 같은 보다 세분화된 제어가 필요한 경우가 많습니다.

세분화된 적용은 일반적으로 compute 엔진 내부에서 이루어집니다. Databricks Runtime에서는 서버 측 필터링을 사용하여 이 문제를 해결합니다. 세분화된 적용이 필요한 query는 보안 필터링 플릿을 통해 투명하게 라우팅되어 허용된 데이터만 처리됩니다. 하지만 Databricks 외부에서 실행되는 DuckDB, Trino 또는 Spark와 같은 외부 엔진에는 이 로직이 기본 내장되어 있지 않고, 일관된 시맨틱으로 거버넌스 정책을 시행하지 않습니다.

이를 통해 조직은 세분화된 거버넌스를 유지하면서 lakehouse에 있는 모든 엔진을 유연하게 사용할 수 있기를 원한다는 핵심 과제가 드러났습니다.

핵심 원칙

고객들은 어떤 솔루션이든 그래야 한다고 말했습니다:

  • 네이티브 거버넌스 기능이 없는 DuckDB, Python, pandas 등을 포함한 모든 엔진 및 도구에서 작업할 수 있습니다.
  • 속성 기반 액세스 제어(ABAC) 및 맞춤형 행 및 열 마스킹 로직을 포함하여 Unity Catalog 정책의 완전한 표현력을 보존합니다.
  • 높은 지연 시간이나 복잡한 운영 오버헤드를 추가하지 않고도 대규모로 효율적인 운영이 가능합니다.

접근 방식

세분화된 거버넌스를 엔진 전반으로 확장하는 데는 두 가지 접근 방식이 있습니다:

  1. 정책 교환 – 공급업체는 모든 엔진이 구현하는 공유 정책 언어 및 시행 모델에 동의합니다.
  2. 중앙 집중식 시행 - 관리 카탈로그는 데이터가 외부 엔진에 도달하기 전에 정책을 평가하고 시행합니다.

장기적으로는 신뢰할 수 있는 엔진이 기본적으로 시행할 수 있는 공유 정책 표준이라는 첫 번째 접근 방식으로 생태계가 수렴할 것으로 예상합니다.

하지만 이를 올바르게 수행하려면 세 가지 근본적인 과제를 해결해야 합니다.

  • 시스템 전반에 걸친 공통 정책 언어 및 시맨틱 개발 - ID 모델, 정책 시맨틱 및 실행 환경은 시스템마다 매우 다릅니다. 초기 교차 공급업체 표준은 속성 기반 액세스 제어, 복잡한 하위 쿼리 등과 같은 고급 정책을 지원할 수 없는 최소 공통분모 언어로 수렴될 위험이 있습니다.
  • 정책 컨텍스트의 보안 전송 카탈로그는 민감한 ID 또는 속성 정보를 유출하지 않고 외부 엔진과 정책 컨텍스트를 공유할 수 있어야 합니다
  • 엔진 전반에서 신뢰 구축 및 검증 가능한 시행 - 카탈로그에는 엔진이 정책을 안전하고 일관되게 시행할 것이라는 신뢰가 필요합니다.

이러한 과제를 해결하려면 생태계 전반에 걸친 폭넓은 협력이 필요합니다. 우리는 이미 Apache Iceberg 커뮤니티에서 기업이 의존하는 정교한 거버넌스 요구사항을 지원할 수 있는 공유 정책 모델의 기반을 탐색하기 위한 초기 논의를 시작했습니다.

Unity Catalog의 ABAC 모델은 엔터프라이즈급 보안을 위해 구축되었으며, 복잡한 하위 쿼리가 포함된 행 필터, 관리형 태그와 사용자 속성에 기반한 조건부 로직, SQL, Python 및 Scala UDF로 구동되는 고급 마스킹 기능과 같은 표현력이 풍부한 제어를 지원합니다. 우리는 오픈 소스 커뮤니티와 협력하여 이러한 고급 보안 기본 요소를 지원하고 생태계 전반에 걸쳐 확장되는 표준을 수립하기 위해 최선을 다하고 있습니다.

이와 동시에 중앙 집중식 적용은 오늘날외부 엔진에 세분화된 거버넌스를 제공하는 유일한 접근 방식입니다 . 이를 통해 고객은 Unity Catalog의 거버넌스 기능을 최대한 활용할 수 있고, 네이티브 정책 런타임이 없는 엔진을 포함한 모든 외부 엔진에 일관된 적용을 보장하며, 외부 시스템에 대한 암묵적인 신뢰에 의존하지 않아도 됩니다.

오픈 스탠다드를 기반으로 합니다.

Unity Catalog는 오픈 표준을 기반으로 하여 교차 엔진 적용을 지원합니다. Iceberg REST 카탈로그 프로토콜을 사용하면 엔진이 서버에 어떤 데이터를 읽고 어떻게 액세스해야 하는지 결정하도록 요청할 수 있습니다. 이를 '스캔 계획'이라고 하며, 이를 통해 카탈로그는 데이터 액세스 패턴을 최적화하고 쿼리 성능을 개선할 수 있습니다.

Unity Catalog는 사용자의 권한에 기반하여 행 필터, 열 마스크, 속성 기반 규칙과 같은 세분화된 정책을 적용하는 필터링된 스캔 계획을 생성함으로써 이 모델을 확장합니다.

진행 방식은 다음과 같습니다. 외부 엔진이 관리되는 테이블에 대한 액세스를 요청하는 경우:

  • 엔진은 Iceberg REST 카탈로그 API를 사용하여 스캔 요청을 발행합니다.
  • Unity 카탈로그는 적용 가능한 세분화된 정책을 평가합니다.
  • UC는 필수 행 필터 및 열 마스크를 적용하고 필터링된 스캔 계획을 반환합니다. 

처리를 위해 승인된 데이터의 하위 집합만 엔진에 노출됩니다. 적용은 서버 측 계획의 일부로 이루어지므로 엔진에서 사용자 지정 정책 로직이 필요하지 않습니다.

Databricks는 Databricks Runtime 내 보안을 보장하는 데 사용되는 것과 동일한 인프라를 활용하여 고도로 최적화된 serverless compute로 이 필터링을 수행합니다. 이 시스템에서는 Databricks의 선언적 파이프라인을 뒷받침하는 기술을 사용하여 필터링된 데이터가 증분적이고 효율적으로 처리됩니다. 이를 통해 낮은 비용과 최소한의 지연 시간으로 결과를 반환할 수 있습니다.

Unity Catalog는 Iceberg REST 카탈로그 APIs를 기반으로 구축되어 단일 데이터 사본에서 엔진 간에 정책을 효율적이고 일관되게 적용할 수 있는개방형 크로스 엔진 거버넌스의 토대를 마련합니다.

한 번의 정책 정의로 모든 곳에 적용

외부 엔진에 대한 세분화된 적용을 통해 고객은 모든 Unity Catalog 관리 테이블(Delta Lake 및 Iceberg)에 확장 가능한 단일 보안 모델을 채택할 수 있습니다.

ABAC를 사용하면 관리자가 행 필터와 열 마스킹 로직을 한 번만 정의해도 관리형 태그 및 사용자 속성에 따라 정책이 동적으로 적용됩니다. 이제 동일한 통합 정책 계층이 Databricks를 넘어 Apache Spark를 시작으로 개방형 에코시스템이 Iceberg REST 카탈로그 스캔 APIs를 채택함에 따라 더욱 확장되고 있습니다.

이것이 오픈 레이크하우스 생태계에 미치는 영향

외부 엔진에 대한 세분화된 거버넌스는 오픈 레이크하우스의 중요한 이정표가 될 것입니다. 오픈 테이블 형식은 고객이 공유 데이터에 대해 여러 엔진을 유연하게 실행할 수 있게 해줍니다. 이제 Unity 카탈로그는 해당 거버넌스 계층을 제공하므로 데이터 액세스 위치에 관계없이 ABAC 정책을 적용할 수 있습니다.

이를 통해 오픈 lakehouse의 상호운용성을 위한 새로운 기반, 즉 데이터를 위한 개방형 포맷, 액세스를 위한 APIs, 생태계 전반에 일관되게 적용되는 단일 거버넌스 시스템을 구축할 수 있습니다.

다음은 무엇인가요?

일부 고객을 대상으로 외부 엔진에 대한 세분화된 액세스 제어를 시험해 볼 수 있도록 온보딩하고 있으며, 추가 엔진이 Iceberg REST 카탈로그 스캔 APIs를 채택함에 따라 더 광범위한 지원을 제공할 예정입니다. 미리 보기에 포함되려면이 양식을 작성하거나 Databricks 계정 팀에 문의하세요.

 

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

게시물을 놓치지 마세요

관심 있는 카테고리를 구독하고 최신 게시물을 받은편지함으로 받아보세요