주요 개념

이 문서에서는 Apache Iceberg용 레이크하우스의 주요 용어와 개념을 정의합니다.

이 페이지는 기능의 전체 목록이 아니라 Google Cloud의 Lakehouse 문서 전체에서 사용되는 용어와 개념에 관한 일반적인 참조입니다.

핵심 개념

다음 개념은 Google Cloud의 레이크하우스 아키텍처의 기반을 형성합니다.

데이터 레이크하우스

데이터 레이크하우스는 데이터 레이크의 비용 절감 및 유연성과 데이터 웨어하우스의 데이터 관리 및 성능을 결합합니다. Cloud Storage에 개방형 형식으로 데이터를 저장하고 정확한 보안 제어 및 빠른 쿼리와 같은 BigQuery 기능을 사용할 수 있습니다.

메달리온 아키텍처

데이터 레이크하우스의 일반적인 설계 패턴은 데이터를 구조와 품질의 점진적인 레이어로 논리적으로 구성하는 메달리온 아키텍처입니다.

  • 브론즈 (원시) 레이어: Cloud Storage에서 Apache Iceberg와 같은 개방형 형식으로 원시 데이터를 수집하고 저장합니다.
  • 실버 (정리) 레이어: 원시 데이터를 정리, 필터링, 보강하여 표준화된 테이블로 변환합니다.
  • 골드 (선별) 레이어: 완전히 선별되고 집계된 비즈니스 수준 테이블을 제공합니다. Google Cloud의 레이크하우스에서 BigQuery는 고성능 소비, 보고, 분석을 위한 골드 레이어를 제공하는 데 자주 사용됩니다.

개방형 상호 운용성

개방형 상호 운용성은 BigQuery, Apache Spark, Apache Flink와 같은 여러 분석 및 트랜잭션 시스템이 Apache Iceberg와 같은 개방형 형식의 단일 데이터 사본에서 작동할 수 있는 기능입니다. 이렇게 하면 데이터 중복이 필요하지 않으며 서로 다른 도구에서 데이터의 일관된 뷰를 보장할 수 있습니다.

Lakehouse 런타임 카탈로그

레이크하우스 런타임 카탈로그는 Google Cloud의 레이크하우스에 대한 단일 정보 소스 역할을 하는 중앙 집중식 서버리스 메타데이터 서비스입니다. 이를 통해 Apache Spark, Apache Flink, BigQuery와 같은 여러 엔진이 동시에 동일한 테이블을 검색하고 쿼리할 수 있습니다.

카탈로그 유형

레이크하우스 런타임 카탈로그는 메타데이터 관리를 위한 다양한 유형의 카탈로그를 제공합니다.

Apache Iceberg REST 카탈로그 엔드포인트

Apache Iceberg REST 카탈로그 엔드포인트를 기반으로 하는 카탈로그입니다. 오픈소스 엔진과 BigQuery 간의 상호 운용성을 제공하며 사용자 인증 정보 판매 및 재해 복구와 같은 기능을 지원합니다.

BigQuery용 맞춤 Apache Iceberg 카탈로그

이는 BigQuery 카탈로그를 관리형 Apache Iceberg 테이블의 지원 메타데이터 서비스로 직접 사용하는 통합입니다.

Apache Hive 카탈로그 엔드포인트

이 엔드포인트는 Apache Hive 메타스토어 (HMS) 인터페이스에 종속된 오픈소스 워크로드와의 호환성을 제공하므로Google Cloud의 완전 관리형 메타스토어 서비스에 대해 Apache Hive 또는 Spark 워크로드를 실행할 수 있습니다.

테이블 유형

Google Cloud의 Lakehouse는 데이터를 관리하는 데 사용되는 엔진과 사용 중인 카탈로그 엔드포인트에 따라 여러 테이블 형식을 지원합니다.

Apache Iceberg 테이블

오픈소스 엔진에서 만들고 Cloud Storage에 저장하는 Apache Iceberg 테이블입니다. Lakehouse 런타임 카탈로그는 Apache Iceberg REST 카탈로그 엔드포인트를 통해 이러한 테이블을 관리합니다. 오픈소스 엔진은 이러한 테이블에 대한 읽기 및 쓰기 액세스 권한이 있고 BigQuery는 읽기 전용 액세스 권한이 있습니다. ETL 워크플로를 오픈소스 엔진에서 관리하도록 하려면 이 옵션을 선택하세요.

BigQuery 테이블

이러한 테이블은 BigQuery로 관리됩니다.

Apache Iceberg 테이블

BigQuery에서 만들고 Cloud Storage에 저장하는 Apache Iceberg 테이블입니다. BigQuery는 모든 데이터 레이아웃과 최적화를 처리합니다. 이러한 테이블은 여러 엔진에서 읽을 수 있지만 BigQuery는 직접 쓰기가 가능한 유일한 엔진입니다.

네이티브 테이블

이러한 테이블은 BigQuery에서 관리하며 BigQuery 스토리지에 데이터를 저장합니다. 이러한 테이블을 Lakehouse 런타임 카탈로그에 연결할 수 있습니다.

외부 테이블

외부 테이블은 Lakehouse 런타임 카탈로그 외부에 있습니다. 데이터와 메타데이터는 서드 파티 카탈로그 (예: Cloud Storage, S3, Azure Blob Storage)에서 자체 관리됩니다. BigQuery는 이러한 테이블에서만 읽을 수 있습니다.

표 기능

표 진화

Google Cloud의 레이크하우스는 Apache Iceberg 테이블 진화를 지원하므로 테이블 데이터를 다시 작성하거나 테이블을 다시 만들지 않고도 시간이 지남에 따라 테이블의 스키마나 파티션 사양을 변경할 수 있습니다.

시간 이동

시간 이동을 사용하면 특정 시점 또는 스냅샷 ID에 존재했던 테이블의 데이터를 쿼리할 수 있습니다. 이는 감사, 실험 재현 또는 실수로 삭제한 후 데이터 복원에 유용합니다.

메타데이터 캐싱

메타데이터 캐싱은 외부 테이블의 쿼리 성능을 가속화하는 기능입니다. 테이블의 메타데이터 사본을 BigQuery 스토리지에 저장하여 쿼리 실행 중에 Cloud Storage에서 메타데이터 파일을 읽을 필요성을 줄입니다.

Google Cloud의 레이크하우스 테이블 관리

Google Cloud의 Lakehouse 테이블 관리는 관리 테이블의 압축 및 가비지 컬렉션과 같은 작업을 자동화하여 Lakehouse 유지보수를 간소화합니다. 이렇게 하면 최적의 쿼리 성능과 스토리지 효율성이 보장됩니다.

상호 운용성 개념

BigQuery 카탈로그 제휴

BigQuery 카탈로그 페더레이션을 사용하면 Lakehouse 런타임 카탈로그 Apache Iceberg REST 카탈로그 엔드포인트를 사용하여 BigQuery에서 관리하는 테이블(예: Iceberg 관리 테이블)을 Apache Spark, Trino와 같은 외부 오픈소스(OSS) 엔진에 노출할 수 있습니다.

메타데이터를 저장하기 위해 전용 Lakehouse 카탈로그 컨테이너를 만드는 대신 Apache Iceberg REST 카탈로그 엔드포인트는 카탈로그 요청을 BigQuery의 내부 카탈로그로 직접 라우팅하는 프록시 게이트웨이로만 작동합니다. 이를 통해 표준 BigQuery DDL 또는 API를 사용하여 BigQuery 내에서 직접 테이블을 만들고 관리할 수 있으며, 외부 OSS 엔진에는 REST 카탈로그 엔드포인트를 통해 이러한 테이블을 쿼리할 수 있는 읽기 전용 액세스 권한이 부여됩니다.

크로스 클라우드 레이크하우스

크로스 클라우드 Lakehouse는 Google Cloud의 Lakehouse를 확장하여 원격 외부 카탈로그 (예: Databricks Unity Catalog 또는 AWS Glue)에 연결할 수 있도록 지원합니다. 다른 클라우드 제공업체의 메타데이터를 동기화하므로 데이터를 이전하지 않고도 Apache Iceberg REST 카탈로그 엔드포인트를 통해 BigQuery 또는 외부 오픈소스 엔진으로 데이터를 쿼리할 수 있습니다.

공개 데이터 세트

Google Cloud의 레이크하우스는 Apache Iceberg REST 카탈로그를 통해 제공되는 고품질 공개 데이터 세트를 호스팅하여 인프라를 관리하지 않고도 탐색 및 테스트를 위한 읽기 전용 액세스를 제공합니다.

P.C.N.T. 명명 구조

P.C.N.T. 이름 지정 구조는 BigQuery에서 Lakehouse 런타임 카탈로그의 테이블을 고유하게 식별하고 쿼리하는 데 사용되는 4부분 규칙입니다. Project.Catalog.Namespace.Table을 나타냅니다.

  • 프로젝트: Google Cloud 프로젝트 ID입니다.
  • 카탈로그: Lakehouse 런타임 카탈로그의 이름입니다.
  • 네임스페이스: 테이블의 논리적 그룹화입니다 (데이터 세트와 유사).
  • : 데이터 표의 이름입니다.

보안 개념

연결

연결은 외부 데이터에 액세스하기 위한 사용자 인증 정보를 저장하는 BigQuery 리소스입니다. Google Cloud의 Lakehouse에서 연결은 연결의 서비스 계정이 사용자를 대신하여 스토리지 버킷에 액세스하도록 허용하여 Cloud Storage에 대한 액세스 권한을 위임합니다.

사용자 인증 정보 제공

사용자 인증 정보 판매는 Lakehouse 런타임 카탈로그를 사용할 때 액세스 제어를 강화하는 데 도움이 되는 보안 메커니즘입니다. 사용 설정하면 서비스에서 쿼리에 필요한 특정 파일 경로에만 액세스 권한을 부여하도록 설계된 범위가 축소된 단기 사용자 인증 정보를 생성합니다.

통합 거버넌스

통합 거버넌스를 사용하면 Knowledge Catalog와의 통합을 통해 보안 및 데이터 관리 정책을 중앙에서 정의하고 적용할 수 있습니다. 테이블을 Lakehouse 런타임 카탈로그에 등록하면 시스템에서 비즈니스 메타데이터 카탈로그 (Knowledge Catalog)에 해당하는 항목을 자동으로 등록하여 파일을 이동하거나 복사하지 않고도 엔진 전반에서 데이터 계보, 시맨틱 검색, 중앙 거버넌스를 지원합니다.

Query Engine 개념

Google Cloud의 레이크하우스는 스토리지와 컴퓨팅을 분리하여 다양한 분석 엔진이 개방형 테이블과 상호작용할 수 있도록 지원합니다.

Managed Service for Apache Spark

Managed Service for Apache Spark (이전 명칭: Managed Service for Apache Spark)는 Apache Iceberg와 같은 개방형 테이블 형식을 처리하기 위한 완전 관리형 런타임을 제공합니다. 다음과 같은 두 가지 기본 실행 모드를 지원합니다.

  • 서버리스 일괄: 자동화된 비대화형 데이터 처리 파이프라인 및 ETL 워크로드용으로 설계되었습니다. 이 실행당 지불 모델은 클러스터 관리를 없애고, 작업 간 리소스 경합을 제거하며, 인프라 유지보수를 자동화합니다.
  • 서버리스 대화형 세션: 탐색적 데이터 분석, 데이터 엔지니어링, 데이터 과학 실험을 위해 설계되었습니다. 대화형 세션은 Spark Connect 또는 원격 Spark 커널을 사용하여 백그라운드에서 Apache Spark 노트북을 지원하므로 인프라 설정 없이 자동 확장 환경을 제공합니다.

서비스 등급

레이크하우스 런타임 카탈로그에 대해 Apache Spark 워크로드를 실행할 때 다양한 서비스 등급 중에서 선택할 수 있습니다.

  • 표준 등급: 표준 일괄 처리 워크로드에 적합한 기본 실행 등급입니다.
  • 프리미엄 등급: 서버리스 대화형 노트북 세션 지원 및 Lightning Engine과 같은 성능 가속화 기능을 비롯한 고급 기능을 제공합니다.

세션 템플릿

세션 템플릿을 사용하면 서버리스 대화형 세션의 구성을 간소화할 수 있습니다. 이를 통해 관리자는 카탈로그 속성, 네트워크 구성, 런타임 버전과 같은 일반적인 환경 설정을 정의하고 유지할 수 있습니다. 이렇게 하면 반복되는 설정을 최소화하여 일관성을 유지하고 개발자 생산성을 향상할 수 있습니다. 세션 템플릿은 Google Cloud 콘솔, gcloud CLI, REST API 또는 Terraform을 사용하여 만들고 관리할 수 있습니다.

안정성 개념

리전 간 복제

리전 간 복제는 리전 서비스 중단 시 카탈로그 가용성을 보장하기 위해 여러 리전에 메타데이터를 복제합니다.

장애 조치

장애 조치는 카탈로그 작업을 유지하기 위해 리전 서비스 중단 중에 기본 리전과 보조 리전 간에 전환하는 프로세스입니다.