BigLake metastore 소개

BigLake metastore는 Google Cloud 에 저장된 레이크하우스 데이터를 오픈소스 엔진 (예: Apache Spark) 및 BigQuery를 비롯한 여러 런타임에 연결하는 통합되고 관리되는 서버리스 확장형 metastore입니다. Apache Iceberg와 같은 주요 오픈소스 테이블 형식을 사용하여 자동화된 데이터 관리 및 기본 제공 거버넌스를 통해 개방형 관리형 고성능 레이크하우스를 빌드하는 데 필요한 기반을 제공합니다.

BigLake metastore는 여러 소스의 메타데이터에 대한 단일 정보 소스를 제공하므로 맞춤설정된 도구를 사용하여 서로 다른 분석 시스템과 저장소 간에 데이터와 메타데이터를 복사하고 동기화할 필요가 없습니다. 또한 카탈로그 사용자가 Cloud Storage 버킷에 직접 액세스할 필요가 없는 사용자 인증 정보 판매와 같은 스토리지 액세스 위임 모델도 지원합니다.

BigQuery에서 BigLake Iceberg 테이블을 사용하는 워크플로의 경우 BigLake metastore는 Dataplex Universal Catalog에서도 지원되며, 이 카탈로그는 지원되는 모든 엔진에서 통합되고 세분화된 액세스 제어를 제공하며 포괄적인 계보, 데이터 품질, 검색 가능성 기능을 포함하는 엔드 투 엔드 거버넌스를 지원합니다.

BigLake metastore는 Iceberg REST 카탈로그 또는 BigQuery용 커스텀 Iceberg 카탈로그를 사용하여 두 가지 방법 중 하나로 구성할 수 있습니다. 가장 적합한 옵션은 다음 표와 같이 사용 사례에 따라 다릅니다.

사용 사례 권장사항
오픈소스 엔진이 Cloud Storage의 데이터에 액세스하고 BigQuery 및 AlloyDB를 비롯한 다른 엔진과 상호 운용되어야 하는 신규 BigLake 메타스토어 사용자 Iceberg REST 카탈로그를 사용합니다.
BigQuery용 커스텀 Iceberg 카탈로그가 있는 현재 테이블이 있는 기존 BigLake metastore 사용자 BigQuery용 커스텀 Iceberg 카탈로그를 계속 사용하되 새 워크플로에는 Iceberg REST 카탈로그를 사용합니다. BigQuery용 맞춤 Iceberg 카탈로그로 만든 테이블은 페더레이션을 통해 Iceberg REST 카탈로그에서 확인할 수 있습니다.

주요 기능

BigLake metastore는 데이터 관리 및 분석에 다음과 같은 여러 주요 이점을 제공합니다.

  • 서버리스 아키텍처. BigLake metastore는 서버리스 아키텍처를 제공하므로 서버 또는 클러스터 관리가 필요하지 않습니다. 이렇게 하면 운영 오버헤드가 줄어들고 배포가 간소화되며 수요에 따라 자동 확장할 수 있습니다.
  • 개방형 API를 사용한 엔진 상호 운용성 BigLake metastore는 오픈소스 및 서드 파티 엔진과의 상호 운용성을 지원합니다. BigLake metastore는 오픈소스 엔진 (예: Spark, Flink)과 BigQuery 전반에서 직접 테이블 액세스를 제공하므로 추가 연결 단계 없이 개방형 형식 테이블을 쿼리할 수 있습니다. 이 구성을 사용하면 분석 워크플로가 간소화되고 복잡한 데이터 이동 또는 ETL 프로세스가 필요하지 않습니다.
  • 통합 사용자 환경. BigLake metastore는 오픈소스 엔진과 BigQuery 전반에서 통합 워크플로를 제공합니다. 이 통합 환경은 예를 들어 Iceberg REST 카탈로그를 통해 Dataproc에서 호스팅되거나 자체 호스팅되는 Spark 환경 또는 BigQuery 노트북에서 Spark 환경을 구성할 수 있음을 의미합니다.
  • BigQuery를 사용한 고성능 분석, 스트리밍, AI BigLake 메타스토어를 사용하면 자체 Cloud Storage 버킷에 Iceberg 데이터를 저장하고 확장성이 뛰어난 BigQuery의 실시간 메타데이터 관리 기능을 활용할 수 있습니다. 이 아키텍처는 Cloud Storage의 개방성과 데이터 소유권은 물론 BigQuery의 완전 관리형 스트리밍, 분석, AI 기능을 제공합니다.

BigLake metastore(기본)와의 차이점

BigLake metastore는 Google Cloud에서 권장되는 metastore이며 BigLake metastore (기본)는 기존 기능으로 간주됩니다.

BigLake metastore와 BigLake metastore (기본)의 핵심 차이점은 다음과 같습니다.

  • BigLake metastore는 Spark와 같은 오픈소스 엔진과의 직접 통합을 지원하므로 메타데이터를 저장하고 작업을 실행할 때 중복을 줄일 수 있습니다. BigLake metastore의 테이블은 여러 오픈소스 엔진과 BigQuery에서 직접 액세스할 수 있습니다.
  • BigLake metastore는 Iceberg REST 카탈로그를 지원하지만 BigLake metastore (기본)는 지원하지 않습니다.

BigLake metastore 제한사항

BigLake metastore의 테이블에는 다음 제한사항이 적용됩니다.

  • BigQuery 데이터 정의 언어 (DDL) 또는 데이터 조작 언어 (DML) 문으로 BigLake Iceberg 테이블을 만들거나 수정할 수 없습니다. BigQuery API(bq 명령줄 도구 또는 클라이언트 라이브러리 사용)를 사용하여 BigLake Iceberg 테이블을 수정할 수 있지만, 이렇게 하면 외부 엔진과 호환되지 않는 변경사항이 발생할 수 있습니다.
  • BigLake metastore 테이블은 이름 변경 작업 또는 ALTER TABLE ... RENAME TO Spark SQL 문을 지원하지 않습니다.
  • BigQuery의 BigLake metastore 테이블에는 표준 테이블과 동일한 할당량 및 한도가 적용됩니다.
  • BigQuery 엔진에서 BigLake metastore 테이블의 쿼리 성능은 표준 BigQuery 테이블의 데이터를 쿼리할 때보다 느릴 수 있습니다. 일반적으로 쿼리 속도는 Cloud Storage에서 데이터를 읽는 것과 동일해야 합니다.
  • BigLake metastore 테이블을 사용하는 쿼리의 BigQuery 테스트 실행은 행이 반환되더라도 0바이트의 하한 데이터를 보고할 수 있습니다. 이 결과는 전체 쿼리가 실행될 때까지 테이블에서 처리되는 데이터 양을 확인할 수 없기 때문에 발생합니다. 쿼리를 실행해도 이 데이터 처리 비용이 발생합니다.
  • 와일드 카드 테이블 쿼리에서는 BigLake metastore 테이블을 참조할 수 없습니다.
  • tabledata.list 메서드를 사용하여 BigLake metastore 테이블에서 데이터를 가져올 수 없습니다. 대신 쿼리 결과를 BigQuery 테이블에 저장한 다음 해당 테이블에서 tabledata.list 메서드를 사용할 수 있습니다.
  • BigLake metastore 테이블은 클러스터링을 지원하지 않습니다.
  • BigLake metastore 테이블은 유연한 열 이름을 지원하지 않습니다.
  • BigLake metastore 테이블의 테이블 스토리지 통계 표시는 지원되지 않습니다.
  • BigLake metastore는 Iceberg 뷰를 지원하지 않습니다.

다음 단계