데이터브릭스 플랫폼에서 개발하면서 데이터를 담고있는 공간의 차이가 궁금해졌다.
엔지니어를 하다보면 데이터브릭스에서 유니티 카탈로그(Unity Catalog)라는 단어가 계속 나오는데, 유니티 카탈로그 외의 하이브메타스토어는 유니티카탈로그가 아닌건가?에 대해서 의문이 들었다.
일단, Unity Catalog와 Hive Metastore 둘다 메타데이터 등 데이터를 관리하는 데 사용되는 도구이지만 차이점은 명확히 있다.
Unity Catalog는 Databricks에서 제공하는 데이터를 관리하는 기능으로, 클라우드에서 데이터를 일관성 있게 관리하고 접근을 세밀하게 제어할 수 있도록 설계되었다. AWS, Azure 등의 다양한 클라우드 환경을 지원하므로 멀티 클라우드에서 데이터를 활용하려는 경우 유용하다.
Hive Metastore는 Hadoop 생태계에서 계속 사용되던 메타 데이터 관리 시스템으로, 주로 Spark 같은 빅데이터 플랫폼에서 테이블 형식의 데이터를 관리하는 데 사용된다.
Unity Catalog vs Hive metastore
- 컬럼 단위로 접근 권한을 설정하여 민감한 정보를 가진 데이터를 특정 사용자만 조회가능하도록 통제 가능
- 스토리지 위치: Multi Cloud 스토리지 → 유니티 카탈로그와 연결된 사용자 정의 스토리지(ex. S3, Gen 2)
- 네임 스페이스 : 3단계 네임스페이스 (ex. catalog.schema.table)
- 테이블 제어 : 액세스 제어 정책이 계정 그룹에 적용 (ex.account grops)
- 테이블 단위의 권한 설정만을 제공하며 유니티 카탈로그처럼 컬럼 단위로 조회하기에는 어려움이 있음
- 스토리지 위치 : Databricks File System (ex. Hive_metastore.default)
- 가용 위치: 현재 작업하는 데이터브릭스 워크스페이스 공간에서만 접근 가능
- 네임스페이스 : 3단계 네임스페이스가 필요 없음(ex. table)
- 보안 : 유니티 카탈로그에서 관리하지 않는 모든 데이터에 접근 가능 (ex. table 권한 설정으로 보안 제어 가능)
- 테이블 제어: 작업 공간의 로컬 그룹에만 적용(ex. workspace-local)
참고자료
https://docs.databricks.com/en/data-governance/unity-catalog/hive-metastore.html
반응형