BigLake Metastore 소개
BigLake 메타스토어는 Cloud Storage 또는 BigQuery에 저장된 레이크하우스 데이터를 오픈소스 런타임 (예: Apache Spark 및 Apache Flink) 및 BigQuery를 비롯한 여러 런타임에 연결하는 통합, 관리형, 서버리스, 확장 가능한 메타스토어입니다.
BigLake 메타스토어는 여러 엔진의 메타데이터를 관리하기 위한 단일 정보 소스를 제공합니다. BigLake Iceberg 테이블과 표준 BigQuery 테이블을 통해 Apache Iceberg와 같은 주요 오픈소스 테이블 형식을 지원합니다. 또한 BigLake Metastore는 개방형 API와 Iceberg REST 카탈로그(미리보기)를 지원합니다.
다음 표를 사용하여 BigLake 메타스토어 여정을 시작할 위치를 결정하세요.
사용 사례 | 권장사항 |
---|---|
오픈소스 엔진이 Cloud Storage의 데이터에 액세스해야 합니다. | Iceberg REST 카탈로그(미리보기)를 살펴봅니다. |
오픈소스 엔진에 BigQuery와의 상호 운용성이 필요합니다. | BigQuery 맞춤 Iceberg 카탈로그 플러그인을 사용하여 오픈소스 엔진 (예: Spark)과 BigLake 메타스토어 통합을 살펴보세요. |
이점
BigLake Metastore는 데이터 관리 및 분석에 여러 가지 이점을 제공합니다.
- 서버리스 아키텍처. BigLake Metastore는 서버리스 아키텍처를 제공하므로 서버 또는 클러스터 관리가 필요하지 않습니다. 이렇게 하면 운영 오버헤드가 줄고 배포가 간소화되며 수요에 따라 자동 확장이 가능합니다.
- 엔진 상호 운용성 BigLake Metastore는 오픈소스 엔진 (예: Spark 및 Flink)과 BigQuery에서 직접 테이블에 액세스할 수 있도록 지원하므로 추가 구성 없이 개방형 형식의 테이블을 쿼리할 수 있습니다. 예를 들어 Spark에서 테이블을 만든 다음 BigQuery에서 직접 쿼리할 수 있습니다. 이렇게 하면 분석 워크플로가 간소화되고 복잡한 데이터 이동 또는 ETL 프로세스가 필요하지 않게 됩니다.
통합된 사용자 환경 BigLake metastore는 BigQuery와 오픈소스 엔진 전반에서 통합된 워크플로를 제공합니다. 이 통합 환경을 사용하면 Iceberg REST 카탈로그(미리보기)를 통해 자체 호스팅되거나 Dataproc에서 호스팅되는 Spark 환경을 구성하거나 BigQuery 스튜디오 노트북에서 Spark 환경을 구성하여 동일한 작업을 할 수 있습니다.
예를 들어 BigQuery 스튜디오에서 BigQuery 스튜디오 노트북을 사용하여 Spark에서 테이블을 만들 수 있습니다.
그런 다음Google Cloud 콘솔에서 동일한 Spark 테이블을 쿼리할 수 있습니다.
BigLake Metastore의 테이블 형식
BigLake는 여러 테이블 유형을 지원합니다. 다음 표를 사용하여 사용 사례에 가장 적합한 형식을 선택하세요.
외부 테이블 | BigLake Iceberg 테이블 | BigQuery의 BigLake Iceberg 테이블 | 표준 BigQuery 테이블 | |
---|---|---|---|---|
metastore | 외부 또는 자체 호스팅 메타스토어 | BigLake 메타스토어 | BigLake 메타스토어 | BigLake 메타스토어 |
스토리지 | Cloud Storage / Amazon S3 / Azure | Cloud Storage | Cloud Storage | BigQuery |
관리 | 고객 또는 서드 파티 | Google (관리가 매우 엄격한 환경) | Google (대부분의 관리형 환경) | |
읽기/쓰기 |
오픈소스 엔진 (읽기/쓰기) BigQuery (읽기 전용) |
오픈소스 엔진 (읽기/쓰기) BigQuery (읽기 전용) |
오픈소스 엔진 (Iceberg 라이브러리로만 읽기 전용, BigQuery Storage API와의 읽기/쓰기 상호 운용성)
BigQuery (읽기/쓰기) |
오픈소스 엔진 (BigQuery Storage API와의 읽기/쓰기 상호 운용성) BigQuery (읽기/쓰기) |
사용 사례 | 이전, BigQuery 로드용 스테이징 테이블, 자체 관리 | 개방형 레이크하우스 | 분석, 스트리밍, AI를 위한 엔터프라이즈급 스토리지인 개방형 레이크하우스 | 분석, 스트리밍, AI를 위한 엔터프라이즈급 스토리지 |
BigLake Metastore (기존)와의 차이점
BigLake Metastore는 Google Cloud에서 권장되는 metastore입니다.
BigLake Metastore와 BigLake Metastore (기존)의 핵심적인 차이점은 다음과 같습니다.
- BigLake metastore (기존)는 BigQuery와 구별되며 Iceberg 테이블만 지원하는 독립형 metastore 서비스입니다. 리소스 모델은 세 부분으로 구성됩니다. BigLake metastore (기존) 테이블은 BigQuery에서 자동으로 검색되지 않습니다.
- BigLake metastore의 테이블은 여러 오픈소스 엔진과 BigQuery에서 액세스할 수 있습니다. BigLake 메타스토어는 Spark와의 직접 통합을 지원하므로 메타데이터를 저장하고 작업을 실행할 때 중복을 줄일 수 있습니다. BigLake Metastore는 여러 런타임 간에 레이크하우스 데이터를 연결하는 Iceberg REST 카탈로그(미리보기)도 지원합니다.
제한사항
BigLake Metastore의 테이블에는 다음과 같은 제한사항이 적용됩니다.
- BigQuery 엔진을 사용하여 DDL 또는 DML 문을 사용하여 BigLake metastore 테이블을 만들거나 수정할 수 없습니다. BigQuery API (bq 명령줄 도구 또는 클라이언트 라이브러리 사용)를 사용하여 BigLake 메타스토어 테이블을 수정할 수 있지만 이렇게 하면 외부 엔진과 호환되지 않는 변경사항이 적용될 수 있습니다.
- BigLake 메타스토어 테이블은 이름 변경 작업 또는
ALTER TABLE ... RENAME TO
Spark SQL 문을 지원하지 않습니다. - BigLake Metastore 테이블에는 표준 테이블과 동일한 할당량 및 한도가 적용됩니다.
- BigQuery 엔진의 BigLake 메타스토어 테이블의 쿼리 성능은 표준 BigQuery 테이블의 데이터를 쿼리할 때보다 느릴 수 있습니다. 일반적으로 BigLake 메타스토어 테이블의 쿼리 성능은 Cloud Storage에서 직접 데이터를 읽을 때와 동일합니다.
- BigLake 메타스토어 테이블을 사용하는 쿼리의 테스트 실행은 행이 반환되더라도 0바이트의 하한 데이터를 보고할 수 있습니다. 이는 테이블에서 처리되는 데이터 양을 실제 쿼리가 완료될 때까지 확인할 수 없기 때문에 발생합니다. 쿼리를 실행하면 이 데이터를 처리하는 데 비용이 발생합니다.
- 와일드 카드 테이블 쿼리에서는 BigLake Metastore 테이블을 참조할 수 없습니다.
tabledata.list
메서드를 사용하여 BigLake Metastore 테이블에서 데이터를 가져올 수 없습니다. 대신 쿼리 결과를 대상 테이블에 저장한 다음 해당 테이블에서tabledata.list
메서드를 사용할 수 있습니다.- BigLake Metastore 테이블은 클러스터링을 지원하지 않습니다.
- BigLake 메타스토어 테이블은 유연한 열 이름을 지원하지 않습니다.
- BigLake Metastore 테이블의 테이블 스토리지 통계 표시는 지원되지 않습니다.
다음 단계
- Dataproc Metastore 데이터를 BigLake metastore로 마이그레이션
- Dataproc에서 BigLake metastore 사용
- Dataproc Serverless에서 BigLake metastore 사용