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 TOdo 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.listpara 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étodotabledata.listnessa 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
- Conheça o catálogo REST do Iceberg.
- Conheça o catálogo personalizado do Iceberg para o BigQuery.