O metastore do BigLake é um metastore unificado, gerenciado, sem servidor e escalonável que conecta dados do lakehouse armazenados em Google Cloud a vários ambientes de execução, incluindo mecanismos de código aberto (como o Apache Spark) e o BigQuery. Ele fornece a base necessária para criar um lakehouse aberto, gerenciado e de alta performance com gerenciamento de dados automatizado e governança integrada usando formatos de tabela de código aberto importantes, como o Apache Iceberg.
O metastore do BigLake oferece uma única fonte de verdade para metadados de várias fontes, eliminando a necessidade de copiar e sincronizar dados e metadados entre diferentes sistemas e repositórios analíticos com ferramentas personalizadas. Ele também aceita modelos de delegação de acesso ao armazenamento, como a venda de credenciais, que elimina a necessidade de os usuários do catálogo terem acesso direto aos buckets do Cloud Storage.
Para fluxos de trabalho que usam tabelas Iceberg do BigLake no BigQuery, o metastore do BigLake também é compatível com o Dataplex Universal Catalog, que oferece controles de acesso unificados e refinados em todos os mecanismos compatíveis e permite governança de ponta a ponta, incluindo recursos abrangentes de linhagem, qualidade de dados e capacidade de descoberta.
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. | 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 por federação. |
Principais recursos
O metastore do BigLake oferece várias vantagens importantes para o gerenciamento e a análise de dados:
- Arquitetura sem servidor. O metastore do BigLake oferece uma arquitetura sem servidor, eliminando a necessidade de gerenciamento de servidores ou clusters. Isso ajuda a reduzir a sobrecarga operacional, simplifica a implantação e permite o escalonamento automático com base na demanda.
- Interoperabilidade do mecanismo com APIs abertas. O BigLake Metastore oferece suporte à interoperabilidade com mecanismos de código aberto e de terceiros. O metastore do BigLake oferece acesso direto a tabelas em mecanismos de código aberto (como Spark e Flink) e no BigQuery, permitindo que você consulte tabelas de formato aberto sem etapas adicionais de conexão. Essa configuração ajuda a simplificar seu fluxo de trabalho de análise e reduz a necessidade de processos complexos de movimentação de dados ou ETL.
- Experiência do usuário unificada. O metastore do BigLake oferece um fluxo de trabalho unificado em mecanismos de código aberto e no BigQuery. Com essa experiência unificada, é possível, por exemplo, configurar ambientes do Spark autohospedados, hospedados pelo Dataproc usando o catálogo REST do Iceberg ou em um notebook do BigQuery.
- Análise de alto desempenho, streaming e IA com o BigQuery. Com o metastore do BigLake, é possível armazenar dados do Iceberg nos seus próprios buckets do Cloud Storage e aproveitar os recursos de gerenciamento de metadados altamente escalonáveis e em tempo real do BigQuery. Essa arquitetura oferece a abertura e a propriedade de dados do Cloud Storage, além dos recursos totalmente gerenciados de streaming, análise e IA 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, enquanto 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 BigLake Metastore 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 tratamento 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 das 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 metastore do BigLake 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.
- Confira o catálogo personalizado do Iceberg para o BigQuery.