주요 컨텐츠로 이동

레이크하우스 업그레이드: Unity Catalog 관리형 테이블로 전환하는 방법 가이드

외부 테이블을 UC 관리형 테이블로 변환하여 쿼리 속도를 높이고 비용 절감하기

Blog: Upgrade Your Lakehouse: Your How-To Guide for Converting to Managed Tables

Published: October 23, 2025

제품3분 소요

Summary

• 다운타임을 최소화하고, 테이블 구성을 유지하고, 테이블 기록을 보존하면서 Unity Catalog(UC) 외부 테이블을 UC 관리형으로 원활하게 전환하는 방법을 알아보세요.
• Unity Catalog 관리형 테이블로 쿼리 성능을 20배 향상하고, 비용을 50% 이상 절감하며 고급 기능을 활용하세요.
• 데이터의 물리적 위치 제어, 대량 전환 수행, 롤백 처리 및 여정 계획 방법을 알아보세요.

새로운 SET MANAGED 명령은 원활한 메커니즘을 제공하여 전환합니다UC 외부 테이블을 UC 관리형 테이블로 바꾸면서 가동 중지 시간을 최소화하고, 동시 쓰기를 처리하며, 테이블 구성을 유지하고, 가능한 경우 테이블 기록을 보존합니다. 이 문서에서는 이 일반 공급(GA) 명령을 사용하기 위한 모범 사례와 단계별 가이드를 제공합니다:

UC 관리형 테이블로 변환해야 하는 이유

Unity Catalog를 신뢰할 수 있는 단일 소스로 사용하면 관리형 테이블은 벤더 종속 없이 성능, 거버넌스, 사용 편의성을 향상시키는 고유한 기능을 제공합니다.

주요 장점:

  • 쿼리 성능을 20배 높이고 스토리지 비용을 50% 이상 절감할 수 있는 자동 최적화(자세한 내용은 여기 참조).
  • 간소화된 데이터 관리: 삭제된 데이터를 자동으로 정리하여 비용을 절감하고 undrop을 지원합니다.
  • 강화된 거버넌스: 데이터 계보, 세분화된 액세스 제어 및 모든 읽기 및 쓰기에 대한 Unity Catalog의 감독으로 더 안전한 테이블 액세스를 제공합니다.
  • 자동 행 삭제(Auto-TTL) 및  Private Preview 버전인 행 수준수집 Zerobus 수집과 같은 향후 기능을 위한 기반 이 됩니다. 

변환된 테이블은 모든 타사 클라이언트의 읽기를 지원합니다(자세한 내용은 여기 를 참조하세요). 

SET MANAGED 변환 명령어는 어떻게 도움이 되나요? 

SET MANAGED 명령어를 사용하면 외부 테이블을 관리형 테이블로 더 쉽게 변환할 수 있습니다.

기능

SET MANAGED 명령어의 이점

다운타임 최소화

Databricks Runtime 16.1 이상을 사용하여 테이블을 온라인 상태로 유지하고 읽기 작업을 계속 사용할 수 있도록 하며, 쓰기 작업의 경우 다운타임 을 단 몇 분으로 최소화합니다(또는 Databricks Runtime 15.4 이하에서 읽기 작업의 경우).

ID 보존

테이블의 이름, 권한, 태그, 설정 및 테이블 기록(Delta 테이블의 경우)이 모두 유지됩니다.

동시성 처리

SET MANAGED 명령어는 전환 중에 발생할 수 있는 동시 쓰기를 안전하게 처리합니다.

롤백

안전장치로서, UNSET MANAGED라는 또 다른 명령어를 사용하여 14일 이내에 변환된 테이블을 UC 외부 테이블로 다시 롤백할 수 있습니다.

외부 테이블에서 관리형 테이블로 어떻게 전환하나요? ? 

변환을 위한 실무자용 단계별 가이드

SET MANAGED 명령어를 사용하면 테이블 변환을 간단하게 수행할 수 있습니다. 단계별 가이드에서는 외부 테이블에서 관리형 테이블로 원활하게 전환할 수 있도록 보장하는 주요 팁을 간략하게 설명합니다.  

1단계: 변환할 외부 테이블 선택

먼저 팀이 프로세스, 사전 요구 사항, 변환 후 단계에 익숙해지도록 UC 관리형으로 변환할 Unity Catalog 외부 테이블 몇 개를 선택하여 시작하세요.

예를 들어 Databricks 클라이언트에서만 읽고 쓰는 몇 개의 테이블에 이 명령을 먼저 사용해 볼 수 있습니다(단계별 전환 계획 참조). 

2단계: 사전 점검 체크리스트

테이블 리더 및 라이터 에코시스템이 변경에 대비했는지 확인하세요. 선택한 각 UC 외부 테이블 및 관련 워크로드에 대해 다음을 수행해야 합니다.

  1. 이름 기반 액세스를 사용하도록 업데이트: 작업, 노트북 및 쿼리를 확인하여 경로 기반 액세스(예: SELECT * FROM delta.'s3://path/to/table') 대신 세 부분으로 구성된 이름(catalog.schema.table)을 사용하여 테이블에 액세스하는지 확인합니다. Databricks Labs 에서 개발한 UCX 툴링 을 사용하면 IDE 터미널에서 다음 Databricks Labs UCX lint-local-code를 실행하여 로컬 머신의 디렉터리 코드(.py 또는 .sql 파일)를 분석하고 경로 기반 참조를 찾는 데 도움이 될 수 있습니다.
  2. 모든 유지 관리 작업 취소: 충돌 방지를 위해 변환 프로세스 중에는 테이블에서 OPTIMIZE, ZORDER 또는 CLUSTER BY 작업이 실행 중이거나 실행되도록 예약되지 않았는지 확인하세요(DESCRIBE HISTORY를 사용해 확인할 수 있음). 변환 후에는 Predictive Optimization이 자동으로 최적화 작업을 처리합니다.
  3. [선택 사항] Databricks Runtime 버전 업그레이드: 테이블에서 읽거나 쓰는 모든 Databricks 클러스터는 Delta 테이블의 전체 기록을 유지하기 위해 Databricks Runtime 15.4 LTS 이상을 사용하는 것이 이상적입니다. Databricks Runtime 16.1 이상을 사용하면 리더 다운타임을 완전히 제거할 수 있습니다.

3단계: 전환 명령 실행

다음 변환 명령어를 사용하여 변환을 실행하세요.

 참고: UniForm이 활성화된 테이블의 경우 SET MANAGED TRUNCATE UNIFORM HISTORY를 사용하세요.

4단계: 결과 확인

명령이 완료된 후 테이블의 메타데이터를 확인하여 변환이 성공했는지 확인합니다.

이 명령어의 출력에서 'Type' 속성이 이제 'MANAGED'로 표시되어야 합니다. 카탈로그 탐색기의 '이 테이블에 대하여' 섹션에서도 동일한 정보를 볼 수 있습니다.

5단계: 전환 후 정리 작업

변환이 성공적으로 완료되면 원활한 전환을 위해 다음 최종 단계를 완료하세요.

  • 일시 중지된 경우 테이블을 사용하는 스트리밍 읽기 또는 쓰기 작업을 다시 시작하세요.
  • 주요 쿼리를 실행하여 새로 관리되는 테이블에서 모든 읽기 및 쓰기 작업이 예상대로 작동하는지 확인하는 기능 테스트를 수행하세요.
  • 자동화된 유지 관리의 이점을 누릴 수 있도록 예측 최적화가 이제 테이블에 대해 활성화 되었는지 확인합니다(자동 리퀴드 클러스터링을 위해 CLUSTER by AUTO를 활성화하거나 활성화되었는지 확인 할 수도 있습니다).

단계별 여정 계획하기

모든 테이블을 UC 관리형으로 성공적으로 전환하는 것은 하나의 여정입니다. 단계적 접근 방식을 채택하고 미리 계획하면 원활한 전환을 보장하는 데 도움이 됩니다.

  1. Databricks 전용 테이블 변환: Databricks 클라이언트에서만 읽고 쓰는 테이블의 변환을 우선적으로 수행하세요. 실험적 도구인 Access Insights를 사용하면 'Databricks 리더 및 라이터'만 있는 테이블과 '비 Databricks 리더' 또는 '비 Databricks 라이터'가 있는 테이블을 식별하는 데 도움이 될 수 있습니다.
  2. 지원되는 외부 도구를 사용하여 테이블 변환: UC 관리형 테이블에서 기본적으로 읽기를 지원하는 타사 도구에서 액세스하는 테이블을 확인하고 다음으로 이 테이블을 변환하세요. 변환 후에도 타사 액세스는 계속 작동합니다.
  3. 복잡한 사례는 마지막에 처리: 지원되지 않는 레거시 도구로 액세스하는 테이블의 경우 읽기에는 호환성 모드 와 같은 솔루션을 사용할 계획을 세우세요. 타사 쓰기가 필요한 경우 이 테이블을 다시 만들고 미리 보기에서 이러한 UC 관리형 테이블에 대한 쓰기를 활성화하세요. 

추가 고려 사항

다음은 변환 명령어에 관해 미리 알아두면 유용한 정보입니다.

  • 롤백 시간 제한: 롤백 안전망을 사용하려면 변환 후 14일 이내에 UC 관리형 테이블에서 UNSET MANAGED를 실행해야 합니다. 그 이후에는 스토리지 비용 절약을 위해 원본 외부 데이터가 영구적으로 삭제됩니다.
  • 시간 여행 유의 사항: 클라이언트를 15.4 LTS 이상으로 업그레이드하면 도움이 될 수 있습니다. Databricks Runtime 14.3 LTS 이하에서 실행되는 클러스터의 경우 또는 UNSET MANAGED 명령을 사용하여 롤백하는 경우, 변환 후에는 타임스탬프가 아닌 버전 번호로만 이전 커밋으로 시간 여행을 할 수 있습니다.
  • 라이터를 위한 다운타임 최소화: 이 명령어는 다운타임을 최소화하도록 설계되었습니다. 테이블 위치가 새로운 관리형 위치로 전환되는 마지막 단계에서 라이터는 짧은 중단(1~5분으로 예상)을 경험할 수 있습니다.
  • 일시적인 Delta Sharing 중단: 변환 중에는 Delta Sharing이 일시적으로 중단되지만 프로세스가 완료되면 다시 정상적으로 작동합니다.  

전문가 팁: 대량 전환으로 확장하기

지정된 스키마 내에서 수백 또는 수천 개의 Unity Catalog 외부 테이블을 일괄적으로 변환하려면 다음 간단한 SQL 스크립트를 사용할 수 있습니다. 

참고: 이 스크립트는 실시간 수정을 수행합니다. 프로덕션 환경에서 실행하기 전에 개발 환경에서 철저하게 테스트하는 것이 좋습니다.

 

데이터의 물리적 위치 제어하기

Unified Catalog(UC) 관리형 테이블 은 고객 관리형 스토리지에 저장되며 개방형 카탈로그 API를 통해 액세스할 수 있습니다. 데이터가 물리적으로 저장되는 방식을 더 세밀하게 제어하려면 카탈로그 또는 스키마 수준에서 관리형 스토리지 위치를 정의 할 수 있습니다. – 해당 카탈로그 또는 스키마에 생성된 모든 새 관리형 테이블은 지정된 위치에 자동으로 구성됩니다.

기존 외부 테이블의 경우 관리형 스토리지 위치를 설정한 다음 SET MANAGED 명령어를 사용하여 UC 관리형 테이블로 전환할 수 있습니다. 전환하는 동안 시스템은 사용자가 정의한 관리형 위치를 따르므로 클라우드 스토리지에 있는 데이터의 물리적 레이아웃을 제어할 수 있습니다. 지금 바로 계정팀에 문의하여 Private Preview에서 이 기능에 액세스하세요. 

지금 외부 테이블을 관리형 테이블로 변환하기

Public Preview 이후 불과 몇 달 만에 수백 명의 고객이 SET MANAGED를 사용하여 수천 개의 테이블을 성공적으로 전환했습니다.

여기에 설명된 모든 기능은 이제 정식 출시(GA)되었습니다. 지금 바로 사용해보고 Unity Catalog 관리형 테이블의 성능, 거버넌스, 단순성을 경험해 보세요.

 

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

게시물을 놓치지 마세요

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