Apache Gravitino 소개

발행: (2026년 1월 17일 오전 08:05 GMT+9)
11 min read
원문: Dev.to

Source: Dev.to

작성자: shaofeng shi
최종 업데이트: 2025‑12‑29

개요

빅 데이터 시대에 기업들은 종종 멀티‑클라우드, 멀티‑도메인 및 이기종 데이터 소스(예: Apache Hive, MySQL, PostgreSQL, Iceberg, Lance, S3, GCS 등)에서 메타데이터를 관리해야 합니다. AI 모델 학습 및 추론의 급속한 도입으로 방대한 멀티모달 데이터와 모델 메타데이터 역시 통합 관리 솔루션이 필요합니다.

전통적인 접근 방식은 각 소스별로 메타데이터를 별도로 관리하여 운영 복잡성을 높이고 데이터 사일로를 만들게 됩니다. Apache Gravitino—고성능, 지리적으로 분산된 연합 메타데이터 레이크—는 멀티‑소스 메타데이터 관리를 위한 통합 솔루션을 제공합니다.

프로젝트 이력

이정표날짜
**Datastrato Inc.**에 의해 시작 및 설립
오픈소스화2023
Apache 인큐베이터에 기부2024
Apache 최상위 프로젝트로 승격2025년 5월

Xiaomi, Tencent, Zhihu, Uber, Pinterest 등과 같은 기업에서 프로덕션에 배포되었습니다.

Apache Gravitino란?

고성능, 지리적으로 분산된, 연합 메타데이터 레이크 관리 시스템으로, 통합된 데이터 및 AI 자산 관리 플랫폼을 제공합니다. 다음과 같은 기능을 갖추고 있습니다:

  • 통합 메타데이터 관리 – 다양한 데이터 소스를 위한 통합 모델 및 API.
  • 직접 메타데이터 관리 – 변경 사항이 실시간으로 하위 시스템에 반영됩니다.
  • 다중 엔진 지원 – Trino, Spark, Flink 등과 연동됩니다.
  • 지리적으로 분산된 배포 – 지역 간, 클라우드 간 아키텍처를 지원합니다.
  • AI 자산 관리 – 데이터 자산과 AI/ML 모델 메타데이터를 모두 관리합니다.

핵심 개념

개념설명
Metalake메타데이터를 위한 컨테이너/테넌트; 일반적으로 하나의 조직 ↔ 하나의 metalake.
Catalog특정 소스에서 가져온 메타데이터의 컬렉션.
Schema두 번째 수준 네임스페이스(데이터베이스 스키마와 동등).
Table구체적인 데이터 테이블을 나타내는 최하위 객체.

지원되는 데이터 소스

카테고리유형
관계형 데이터베이스MySQL, PostgreSQL, OceanBase, Apache Doris, StarRocks, …
빅‑데이터 스토리지Apache Hive, Apache Iceberg, Apache Hudi, Apache Paimon, Delta Lake (개발 중)
메시지 큐Apache Kafka
파일 시스템HDFS, S3, GCS, Azure Blob Storage, Alibaba Cloud OSS
AI/ML 데이터 포맷Lance (AI/ML 워크로드에 최적화된 컬럼형 포맷)

REST API 서비스

Gravitino Core REST API

  • 모든 메타데이터 객체(메탈레이크, 카탈로그, 스키마, 테이블, …)에 대한 전체 CRUD
  • 사용자, 그룹, 역할 및 권한 관리
  • 고급 기능: 태그, 정책, 모델 등
  • 인증: Simple, OAuth2, Kerberos

Iceberg REST 서비스

  • Apache Iceberg REST API 사양 구현
  • Hive, JDBC 및 맞춤형 백엔드를 스토리지로 지원
  • S3, HDFS, GCS, Azure 등에서 테이블 관리 및 쿼리 기능 제공

Lance REST 서비스

  • Lance REST API 사양 구현
  • AI/ML 워크로드에 최적화(벡터 데이터 저장 및 검색)
  • 네임스페이스 및 테이블 관리

Direct Metadata Management

  • Real‑time Synchronization – 메타데이터 변경을 기본 소스에 즉시 전파.
  • Bidirectional Synchronization – Gravitino → 소스 및 소스 → Gravitino 양방향 동기화.
  • Transaction Support – 메타데이터 작업의 원자성 및 일관성 보장.
  • Version Management – 메타데이터 버전 관리 및 이력 추적.

통합 권한 관리

기능설명
RBAC사용자, 그룹 및 역할에 대한 유연한 권한 관리.
소유권 모델모든 메타데이터 객체는 명확한 소유자를 가집니다.
권한 상속Metalake에서 테이블까지 계층적 상속.
세분화된 제어다중 수준 권한 (Metalake → Catalog → Schema → Table).

지원되는 권한 유형

  • 사용자 및 그룹 관리
  • 카탈로그 및 스키마 생성
  • 테이블, 토픽, 파일셋에 대한 읽기/쓰기
  • 모델 등록 및 버전 관리
  • 태그 및 정책 적용

Data Lineage (OpenLineage)

  • Automatic Lineage Collection – Spark 플러그인을 통해 자동 라인리지 수집.
  • Unified Identifiers – 소스 전반에 걸친 식별자를 Gravitino ID로 정규화.
  • Multi‑Source Support – Hive, Iceberg, JDBC, 파일 시스템 등.

배포 모드

  • Single‑node – 개발 및 테스트.
  • Cluster – 고가용성 및 로드 밸런싱.
  • Kubernetes – 자동 스케일링이 가능한 컨테이너 배포.
  • Docker – 공식 Docker 이미지 제공.

스토리지 백엔드

  • 관계형 DB: MySQL, PostgreSQL, …
  • 분산 스토리지 시스템(플러그 가능).

인증 방법

  • 단순(사용자명/비밀번호)
  • OAuth2
  • Kerberos (Hive 백엔드용)

자격 증명 관리

  • 클라우드 스토리지 자격 증명 제공(S3, GCS, Azure, …)
  • 동적 자격 증명 갱신
  • 보안 자격 증명 전달 메커니즘

Compute 엔진과의 통합

Gravitino는 주요 컴퓨트 엔진 및 데이터‑처리 프레임워크와 깊게 통합되어 통합된 데이터‑접근 경험을 제공합니다.

  • Apache Spark – 메타데이터 동기화와 라인리지 추적이 원활합니다.
  • (Trino, Flink 등 다른 엔진도 지원됩니다.)

Apache Gravitino의 통합 기능

Gravitino는 풍부한 커넥터와 SDK를 제공하여 최소한의 노력으로 기존 데이터 인프라에 연결할 수 있습니다. 아래 섹션에서는 각 통합 포인트와 주요 기능을 설명합니다.

🌟 Gravitino Spark Connector

Spark SQL 및 DataFrame API 지원

  • 자동 데이터 라인리지 수집 및 추적
  • 여러 데이터 소스에 대한 통합 접근

🔎 Trino Connector

Gravitino Trino Connector 서비스를 통한 통합

  • 이기종 데이터 소스 간 연합 쿼리
  • 고성능 분석 쿼리 기능

Gravitino Flink Connector 서비스를 통한 통합

  • 스트림‑배치 통합 데이터 처리
  • 실시간 데이터 처리 및 분석

🐍 PyIceberg

Python 환경을 위한 Iceberg 테이블 접근

  • Gravitino Iceberg REST 서비스에 연결
  • 데이터 과학 및 머신러닝 워크플로 지원
  • Pandas와 호환되는 데이터 인터페이스 제공

🚀 Daft

현대적인 분산 데이터 처리 프레임워크

  • AI/ML 작업에 최적화
  • 멀티모달 데이터 처리 지원
  • Gravitino 메타데이터 관리와 통합

☸️ Kubernetes

Kubernetes 클러스터에 대한 네이티브 배포

  • 손쉬운 설치를 위한 Helm 차트 및 Operator
  • 자동 스케일링 및 장애 복구 기능
  • 클라우드 네이티브 모니터링·로깅 시스템과 통합

🌐 REST API

메타데이터 관리를 위한 완전한 RESTful 인터페이스

  • 카탈로그, 스키마, 테이블 등 모든 CRUD 작업 지원
  • 표준화된 HTTP 엔드포인트
  • 다양한 인증 방식 지원(예: 토큰, OAuth)

☕ Java SDK

네이티브 Java 클라이언트 라이브러리

  • 타입‑안전 API
  • 내장된 커넥션 풀링 및 재시도 메커니즘
  • 포괄적인 예외 처리

🐍 Python SDK

Python 클라이언트 라이브러리

  • 비동기 작업 지원
  • Jupyter 노트북과 원활한 통합
  • 데이터 과학 워크플로에 맞춤화

왜 이러한 통합이 중요한가

이 기능들은 Gravitino가 기존 데이터 생태계에 원활하게 통합될 수 있게 하여, 사용자에게 통합되고 효율적인 데이터 관리 경험을 제공합니다. 향후 기사에서는 각 구성 요소의 설정 및 사용 패턴을 더 깊이 다룰 예정이니 기대해 주세요!

👉 계속 읽기: Setup Guide

⭐️ 프로젝트 팔로우 및 스타: Apache Gravitino Repository

Note: This article reflects the features of Apache Gravitino v1.1.0. For the latest updates, consult the official documentation or open an issue on GitHub.

Back to Blog

관련 글

더 보기 »