Apache Gravitino 소개
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 모델 메타데이터를 모두 관리합니다.
핵심 개념
| Concept | Description |
|---|---|
| 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 커넥터 서비스를 통한 통합
- 이기종 데이터 소스 간 연합 쿼리
- 고성능 분석 쿼리 기능
⚡ Apache Flink 커넥터
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에 이슈를 열어 주세요.