BigLake metastore는 데이터 레이크하우스를 위한 단일 정보 소스를 제공하는 완전 관리형 서버리스 서비스입니다. 이를 통해 Apache Spark, Apache Flink, BigQuery를 비롯한 여러 엔진이 파일을 복사하지 않고 테이블과 메타데이터를 공유할 수 있습니다.
BigLake metastore는 스토리지 액세스 위임 (사용자 인증 정보 제공)을 지원하므로 직접 Cloud Storage 버킷 액세스가 필요하지 않아 보안이 향상됩니다. 또한 통합 거버넌스, 계보, 데이터 품질을 위해 Dataplex Universal Catalog와 통합됩니다.
주요 기능
BigLake의 구성요소인 BigLake metastore는 서버리스 아키텍처, 개방형 API와의 엔진 상호 운용성, 통합 사용자 환경, BigQuery와 함께 사용할 때의 고성능 분석, 스트리밍, AI 등 데이터 관리 및 분석에 여러 이점을 제공합니다. 이러한 이점에 대한 자세한 내용은 BigLake란 무엇인가요?를 참고하세요.
구성 옵션
BigLake metastore는 Iceberg REST 카탈로그 또는 BigQuery용 커스텀 Iceberg 카탈로그를 사용하여 두 가지 방법 중 하나로 구성할 수 있습니다. 가장 적합한 옵션은 다음 표와 같이 사용 사례에 따라 다릅니다.
| 사용 사례 | 권장사항 |
|---|---|
| 오픈소스 엔진이 Cloud Storage의 데이터에 액세스하고 BigQuery 및 PostgreSQL용 AlloyDB를 비롯한 다른 엔진과의 상호 운용성이 필요한 신규 BigLake 메타스토어 사용자 | Iceberg REST 카탈로그를 사용합니다. |
| BigQuery용 커스텀 Iceberg 카탈로그가 있는 현재 테이블이 있는 기존 BigLake metastore 사용자 | BigQuery용 커스텀 Iceberg 카탈로그를 계속 사용하되 새 워크플로에는 Iceberg REST 카탈로그를 사용합니다. BigQuery용 맞춤 Iceberg 카탈로그로 만든 테이블은 BigQuery 카탈로그 페더레이션을 통해 Iceberg REST 카탈로그에서 볼 수 있습니다. |
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 TOSpark 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 뷰를 지원하지 않습니다.
다음 단계
- Iceberg REST 카탈로그를 살펴봅니다.
- BigQuery용 맞춤 Iceberg 카탈로그를 살펴봅니다.