BigLake 작동 방식

이 페이지에서는 BigLake의 기술 아키텍처를 설명하고, 쿼리가 처리되는 방식과 BigLake metastore가 엔진 간 상호 운용성을 지원하는 방식을 자세히 설명합니다.

아키텍처

BigLake로 빌드된 데이터 레이크하우스는 다음 구성요소로 구성됩니다.

  • 스토리지: Cloud Storage 및 BigQuery 스토리지가 스토리지 레이어 역할을 하며, Cloud Storage의 경우 Apache Iceberg가 권장되는 개방형 테이블 형식입니다.
  • 메타스토어: BigLake metastore는 여러 엔진에서 메타데이터를 관리하기 위한 단일 정보 소스를 제공합니다.
  • 쿼리 엔진: BigQuery, Apache Spark, Apache Flink, Trino 및 기타 오픈소스 엔진은 BigLake와 호환됩니다.
  • 거버넌스: Dataplex Universal Catalog는 중앙 집중식 보안 및 거버넌스 정책을 제공합니다.
  • 데이터 쓰기 및 분석 도구: BigLake와 통합된 엔진과 도구는 데이터 수집 및 분석을 위한 여러 경로를 제공합니다.

리소스 계층 구조

BigLake는 표준 Apache Iceberg 계층 구조를 사용하여 데이터를 정리합니다. 이 구조는 논리적 데이터베이스 개념을 실제 저장소 경로에 매핑합니다.

  1. Metastore 서비스:Google Cloud의 최상위 리전 리소스입니다.
  2. 카탈로그: 프로젝트에 해당하는 데이터베이스를 그룹화하는 컨테이너입니다.
  3. 네임스페이스: 테이블의 논리적 그룹입니다. BigQuery에서 이는 데이터 세트에 매핑됩니다.
  4. 표: Cloud Storage의 데이터를 가리키는 특정 항목입니다. 테이블 메타데이터에는 테이블 스키마, 파티셔닝 정보, 맞춤 속성, metadata.json 파일을 통한 현재 테이블 상태 포인터와 같은 정보가 포함됩니다.

쿼리 처리 시퀀스

BigLake 테이블에 쿼리를 제출하면 데이터가 읽히기 전에 정책을 적용하기 위해 요청이 특정 경로를 따릅니다.

  1. 요청: 엔진 (예: Spark)에 SQL 쿼리를 제출합니다.
  2. 메타데이터 조회: 엔진이 BigLake metastore에 테이블을 확인하기 위한 요청을 전송합니다.
  3. 인증 및 정책: 메타스토어에서 사용자를 인증하고 권한을 확인합니다.
  4. 응답: 메타스토어는 메타데이터와 선택적으로 스토리지 토큰을 엔진에 반환합니다. 스토리지 토큰은 사용자 인증 정보 판매가 사용 설정된 경우에만 사용됩니다.
  5. 읽기: 엔진은 토큰을 사용하여 스토리지에서 파일을 직접 읽습니다.
  6. 컴퓨팅: 엔진이 데이터를 처리하고 결과를 반환합니다.

BigLake metastore

BigLake metastore는Google Cloud의 레이크하우스를 위한 완전 관리형 서버리스 metastore입니다. 여러 소스의 메타데이터에 대한 단일 정보 소스를 제공하며 BigQuery 및 다양한 공개 데이터 처리 엔진에서 액세스할 수 있으므로 서로 다른 저장소 간에 메타데이터를 동기화할 필요가 없습니다.

BigLake metastore는 Dataplex Universal Catalog에서 지원되며, 이 카탈로그는 지원되는 모든 엔진에서 통합되고 세분화된 액세스 제어를 제공하며 계보, 데이터 품질, 검색 가능성을 갖춘 엔드 투 엔드 거버넌스를 지원합니다.

테이블 유형

BigLake에서 레이크하우스를 빌드할 때 테이블의 형식과 관리에 관해 다음과 같은 여러 선택사항이 있습니다.

  • BigLake Iceberg 테이블: 오픈소스 엔진에서 만들고 Cloud Storage에 저장하는 Iceberg 테이블입니다.
  • BigQuery의 BigLake Iceberg 테이블: BigQuery에서 생성된 Iceberg 테이블입니다. 이러한 테이블의 메타데이터는 BigQuery 카탈로그에 저장되며 BigQuery 카탈로그 페더레이션을 통해서만 액세스할 수 있는 반면 테이블 데이터와 실제 메타데이터는 Cloud Storage에 저장됩니다.
  • 표준 BigQuery 테이블: BigLake metastore에 연결할 수 있으며 BigQuery에서 완전히 관리하는 테이블입니다.
  • 외부 테이블: 데이터와 메타데이터가 자체 관리되는 BigLake metastore 외부의 테이블입니다.

이러한 옵션의 자세한 비교는 표 개요를 참고하세요.

다음 단계