Apache Gravitino 소개

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

I’m ready to translate the article, but I only see the source header you provided. Could you please share the full text you’d like translated into Korean? Once I have the complete content, I’ll keep the source line unchanged and translate the rest while preserving all formatting, markdown, and technical terms.

개요

빅데이터 시대에 기업들은 멀티‑클라우드, 멀티‑도메인 및 이기종 데이터 소스(예: 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 모델 메타데이터를 모두 관리합니다.

핵심 개념

ConceptDescription
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 Services

Gravitino Core REST API

  • 모든 메타데이터 객체(Metalake, Catalog, Schema, Table, …)에 대한 전체 CRUD
  • 사용자, 그룹, 역할 및 권한 관리
  • 고급 기능: 태그, 정책, 모델 등
  • 인증: Simple, OAuth2, Kerberos

Iceberg REST Service

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

Lance REST Service

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

직접 메타데이터 관리

  • 실시간 동기화 – 메타데이터 변경 사항을 기본 소스에 즉시 전파.
  • 양방향 동기화 – Gravitino → 소스 및 소스 → Gravitino 모두 동기화.
  • 트랜잭션 지원 – 메타데이터 작업의 원자성 및 일관성 보장.
  • 버전 관리 – 메타데이터 버전 제어 및 이력 추적.

통합 권한 관리

기능설명
RBAC사용자, 그룹 및 역할에 대한 유연한 권한 처리.
Ownership Model모든 메타데이터 객체에 명확한 소유자가 있습니다.
Permission Inheritance메탈레이크에서 테이블까지 계층적 상속.
Fine‑grained Control다중 레벨 권한 (Metalake → Catalog → Schema → Table).

지원되는 권한 유형

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

데이터 라인리지 (OpenLineage)

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

Source:

배포 모드

  • 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 커넥터

Spark SQL 및 DataFrame API 지원

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

🔎 Trino 커넥터

Gravitino Trino 커넥터 서비스를 통한 통합

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

Gravitino Flink 커넥터 서비스를 통한 통합

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

🐍 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는 원활하게 통합되어 기존 데이터 생태계에 녹아들어, 사용자는 통합되고 효율적인 데이터‑관리 경험을 얻을 수 있습니다. 향후 기사에서는 각 구성 요소의 설정 및 사용 패턴을 더 자세히 다룰 예정이니 기대해 주세요!

👉 계속 읽기: 설정 가이드

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

Note: 이 문서는 Apache Gravitino v1.1.0의 기능을 반영합니다. 최신 업데이트는 공식 문서를 확인하거나 GitHub에 이슈를 열어 주세요.

Back to Blog

관련 글

더 보기 »