Introdução ao Metastore do BigLake

O metastore do BigLake é um serviço sem servidor totalmente gerenciado que oferece uma única fonte de verdade para seu data lakehouse. Ele permite que vários mecanismos, incluindo Apache Spark, Apache Flink e BigQuery, compartilhem tabelas e metadados sem copiar arquivos.

O metastore do BigLake oferece suporte à delegação de acesso ao armazenamento (venda de credenciais), o que melhora a segurança ao remover a necessidade de acesso direto ao bucket do Cloud Storage. Ele também se integra ao Dataplex Universal Catalog para governança, linhagem e qualidade de dados unificadas.

Principais recursos

Como um componente do BigLake, o metastore do BigLake oferece várias vantagens para gerenciamento e análise de dados, incluindo uma arquitetura sem servidor, interoperabilidade de mecanismos com APIs abertas, uma experiência unificada do usuário e análises, streaming e IA de alta performance quando usado com o BigQuery. Para mais informações sobre esses benefícios, consulte O que é o BigLake?

Opções de configuração

O BigLake Metastore pode ser configurado de duas maneiras: com o catálogo REST do Iceberg ou o catálogo personalizado do Iceberg para BigQuery. A melhor opção depende do seu caso de uso, conforme mostrado na tabela a seguir:

Caso de uso Recomendação
Novos usuários do metastore do BigLake que querem que o mecanismo de código aberto deles acesse dados no Cloud Storage e precisam de interoperabilidade com outros mecanismos, incluindo BigQuery e AlloyDB para PostgreSQL. Use o catálogo REST do Iceberg.
Usuários atuais do BigLake Metastore que têm tabelas com o catálogo personalizado do Iceberg para BigQuery. Continue usando o catálogo personalizado do Iceberg para BigQuery, mas use o catálogo REST do Iceberg para novos fluxos de trabalho. As tabelas criadas com o catálogo personalizado do Iceberg para BigQuery ficam visíveis com o catálogo REST do Iceberg pela federação de catálogos do BigQuery.

Diferenças com o BigLake Metastore (clássico)

O metastore do BigLake é o recomendado no Google Cloud, enquanto o metastore do BigLake (clássico) é considerado um recurso legado.

As principais diferenças entre o BigLake Metastore e o BigLake Metastore (clássico) incluem o seguinte:

  • O BigLake Metastore oferece suporte a uma integração direta com mecanismos de código aberto, como o Spark, o que ajuda a reduzir a redundância ao armazenar metadados e executar jobs. As tabelas no metastore do BigLake podem ser acessadas diretamente de vários mecanismos de código aberto e do BigQuery.
  • O metastore do BigLake é compatível com o catálogo REST do Iceberg, mas o metastore do BigLake (clássico) não é.

Limitações da metastore do BigLake

As seguintes limitações se aplicam às tabelas no metastore do BigLake:

  • Não é possível criar ou modificar tabelas do BigLake Iceberg com instruções da linguagem de definição de dados (DDL) ou da linguagem de manipulação de dados (DML) do BigQuery. É possível modificar tabelas do BigLake Iceberg usando a API BigQuery (com a ferramenta de linha de comando bq ou bibliotecas de cliente), mas isso pode causar mudanças incompatíveis com o mecanismo externo.
  • As tabelas do metastore do BigLake não são compatíveis com operações de renomeação nem com a instrução ALTER TABLE ... RENAME TO do Spark SQL.
  • As tabelas do metastore do BigLake no BigQuery estão sujeitas às mesmas cotas e limites das tabelas padrão.
  • O desempenho da consulta para tabelas de metastore do BigLake no mecanismo do BigQuery pode ser lento em comparação com a consulta de dados em tabelas padrão do BigQuery. Em geral, a velocidade da consulta deve ser equivalente à leitura de dados do Cloud Storage.
  • Uma simulação do BigQuery de uma consulta que usa uma tabela do metastore do BigLake pode informar um limite inferior de 0 bytes de dados, mesmo que as linhas sejam retornadas. Isso acontece porque a quantidade de dados processados da tabela não pode ser determinada até que a consulta completa seja executada. A execução da consulta gera um custo para o processamento desses dados.
  • Não é possível referenciar uma tabela do metastore do BigLake em uma consulta de tabela curinga.
  • Não é possível usar o método tabledata.list para recuperar dados de tabelas do metastore do BigLake. Em vez disso, salve os resultados da consulta em uma tabela do BigQuery e use o método tabledata.list nessa tabela.
  • As tabelas do metastore BigLake não são compatíveis com clustering.
  • As tabelas do BigLake Metastore não são compatíveis com nomes de colunas flexíveis.
  • A exibição de estatísticas de armazenamento de tabelas do metastore do BigLake não é compatível.
  • O metastore do BigLake não é compatível com visualizações do Iceberg.

A seguir