경계 없는 레이크하우스 아키텍처를 사용하면Google Cloud의 분산 환경과 개방형 형식 스토리지 시스템 전반에서 데이터 분석을 통합할 수 있습니다. 이러한 기본 개념을 이해하면 아키텍처를 평가하고 Lakehouse 워크로드 전반에서 통합 카탈로그, 멀티 엔진 컴퓨팅, 거버넌스를 구성하는 데 도움이 됩니다.
이 참조에서는 전체 기능 목록을 제공하는 대신 Lakehouse 문서 전반에서 사용되는 핵심 용어를 간략하게 설명합니다.
핵심 개념
다음 개념은 Google Cloud의 레이크하우스 아키텍처의 기반을 형성합니다.
데이터 레이크하우스
데이터 레이크하우스는 데이터 레이크의 비용 절감 및 유연성과 데이터 웨어하우스의 데이터 관리 및 성능을 결합합니다. 이를 통해 Cloud Storage에 개방형 형식으로 데이터를 저장하고 정밀한 보안 제어 및 빠른 쿼리와 같은 BigQuery 기능을 사용할 수 있습니다.
메달리온 아키텍처
데이터 레이크하우스의 일반적인 설계 패턴은 메달리온 아키텍처로, 데이터를 구조와 품질의 점진적인 레이어로 논리적으로 구성합니다.
- 브론즈 (원시) 레이어: Cloud Storage에서 Apache Iceberg와 같은 개방형 형식으로 원시 데이터를 수집하고 저장합니다.
- 실버 (정리) 레이어: 원시 데이터를 정리, 필터링, 보강하여 표준화된 테이블로 만듭니다.
- 골드 (선별) 레이어: 완전히 선별되고 집계된 비즈니스 수준 테이블을 제공합니다. Google Cloud의 레이크하우스에서 BigQuery는 고성능 소비, 보고, 분석을 위한 골드 레이어를 제공하는 데 자주 사용됩니다.
개방형 상호 운용성
개방형 상호 운용성은 BigQuery, Apache Spark, Apache Flink와 같은 여러 분석 및 트랜잭션 시스템이 Apache Iceberg와 같은 개방형 형식의 단일 데이터 사본에서 작동할 수 있는 기능입니다. 따라서 데이터 중복이 필요하지 않으며 서로 다른 도구에서 일관된 데이터 뷰를 보장합니다.
Lakehouse 런타임 카탈로그
Lakehouse 런타임 카탈로그는 Google Cloud Lakehouse의 단일 정보 소스 역할을 하는 중앙 집중식 서버리스 메타데이터 서비스입니다. 이를 통해 Apache Spark, Apache Flink, BigQuery와 같은 여러 엔진이 동일한 테이블을 동시에 검색하고 쿼리할 수 있습니다.
카탈로그 유형
Lakehouse 런타임 카탈로그는 메타데이터를 관리하기 위한 다양한 유형의 카탈로그를 제공합니다.
Apache Iceberg REST 카탈로그 엔드포인트
Apache Iceberg REST 카탈로그 엔드포인트를 기반으로 하는 카탈로그입니다. 오픈소스 엔진과 BigQuery 간의 상호 운용성을 제공하고 사용자 인증 정보 자동 판매 및 재해 복구와 같은 기능을 지원합니다.
카탈로그 스토리지 구성
Apache Iceberg REST 카탈로그 엔드포인트를 만들 때 다음 두 가지 스토리지 모델 중에서 선택할 수 있습니다.
- 여러 버킷 카탈로그 (권장): 카탈로그 이름을 독립적으로 지정하고 최대 15개의 Cloud Storage 버킷(
default_location및restricted_locations)을 구성할 수 있습니다. 클라이언트 쿼리 엔진 (예: Spark 또는 Trino)을 구성할 때 웨어하우스 경로를bl://projects/PROJECT_ID/catalogs/CATALOG_ID로 설정합니다. - 단일 버킷 카탈로그: 카탈로그가 단일 Cloud Storage 버킷에 잠겨 있고 버킷 이름을 상속하는 기존 구성입니다.
클라이언트 쿼리 엔진을 구성할 때 웨어하우스 경로를
gs://CLOUD_STORAGE_BUCKET_NAME로 설정합니다.
BigQuery용 커스텀 Apache Iceberg 카탈로그
이는 BigQuery 카탈로그를 관리형 Apache Iceberg 테이블의 지원 메타데이터 서비스로 직접 사용하는 통합입니다.
Apache Hive 카탈로그 엔드포인트
이 엔드포인트는 Apache Hive metastore (HMS) 인터페이스를 사용하는 오픈소스 워크로드에 대한 호환성을 제공하므로Google Cloud에서 완전 관리형 metastore 서비스에 대해 Apache Hive 또는 Spark 워크로드를 실행할 수 있습니다.
테이블 유형
Google Cloud의 레이크하우스는 데이터를 관리하는 데 사용되는 엔진과 사용 중인 카탈로그 엔드포인트에 따라 여러 테이블 형식을 지원합니다.
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 테이블 관리는 관리형 테이블의 압축 및 가비지 컬렉션과 같은 태스크를 자동화하여 레이크하우스 유지보수를 간소화합니다. 이렇게 하면 최적의 쿼리 성능과 스토리지 효율성이 보장됩니다.
상호 운용성 개념
경계 없는 레이크하우스
경계 없는 레이크하우스는 Google Cloud의 레이크하우스를 확장하여 원격 외부 카탈로그 (예: Databricks Unity Catalog, AWS Glue, Snowflake Horizon Catalog, Workday Data Lake, SAP BDC)에 연결할 수 있게 해줍니다. 다른 클라우드 제공업체의 메타데이터를 동기화하므로 데이터를 마이그레이션하지 않고도 Apache Iceberg REST 카탈로그 엔드포인트를 통해 BigQuery 또는 외부 오픈소스 엔진으로 데이터를 쿼리할 수 있습니다.
공개 데이터 세트
Google Cloud의 Lakehouse는 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)에 해당 항목을 자동으로 등록하므로 파일을 이동하거나 복사하지 않고도 엔진 전반에서 데이터 계보, 시맨틱 검색, 중앙 거버넌스를 사용할 수 있습니다.
쿼리 엔진 개념
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 노트북을 구동하며, 인프라 설정 없이 자동 확장 환경을 제공합니다.
서비스 등급
Lakehouse 런타임 카탈로그에 대해 Apache Spark 워크로드를 실행할 때 다양한 서비스 등급 중에서 선택할 수 있습니다.
- 표준 등급: 표준 일괄 처리 워크로드에 적합한 기본 실행 등급입니다.
- 프리미엄 등급: 서버리스 대화형 노트북 세션 지원, Lightning Engine과 같은 성능 가속화 기능을 비롯한 고급 기능을 제공합니다.
세션 템플릿
세션 템플릿은 서버리스 대화형 세션의 구성을 간소화합니다. 관리자는 이를 통해 카탈로그 속성, 네트워크 구성, 런타임 버전과 같은 공통 환경 설정을 정의하고 유지할 수 있습니다. 이렇게 하면 반복적인 설정을 최소화하여 일관성을 높이고 개발자 생산성을 향상할 수 있습니다. 세션 템플릿은 Google Cloud 콘솔, gcloud CLI, REST API 또는 Terraform을 사용하여 만들고 관리할 수 있습니다.
안정성 개념
리전 간 복제
리전 간 복제는 여러 리전에 메타데이터를 복제하여 리전 서비스 중단 중에도 카탈로그 가용성을 보장합니다.
장애 조치
장애 조치는 리전 서비스 중단 중에 카탈로그 작업을 유지하기 위해 기본 리전과 보조 리전 간에 전환하는 프로세스입니다.