Para acessar dados do BigQuery no AlloyDB para PostgreSQL, use as extensões bigquery_fdw (wrapper de dados externos) e alloydb_sync. Juntas, essas extensões oferecem métodos para integrar seus dados analíticos e operacionais: acesso aos dados em tempo real (federação de lakehouse), operações de dados únicas e sincronização periódica. Este documento descreve as opções para acessar dados do BigQuery no AlloyDB.
Federação de lakehouse
A federação de lakehouse oferece acesso em tempo real aos dados do BigQuery diretamente do AlloyDB para PostgreSQL sem mover ou duplicar os dados. Para conectar os dois sistemas, esse método usa a extensão bigquery_fdw, que permite consultar conjuntos de dados ativos no local. Como você consulta os dados de origem diretamente, recebe insights dos dados mais atuais disponíveis, ignorando a latência e a sobrecarga de manutenção de pipelines de dados ou intervalos de sincronização.
Para otimizar a performance, o AlloyDB envia filtros e agregações padrão para o BigQuery, transmitindo apenas os resultados relevantes e pré-filtrados de volta para a instância. Para mais informações, consulte Visão geral do acesso do AlloyDB a dados em tempo real no BigQuery.
Casos de uso
A federação de lakehouse oferece suporte aos seguintes casos de uso:
- Análise operacional em tempo real: você precisa acessar os dados analíticos mais recentes disponíveis no BigQuery para tomar decisões de negócios instantâneas, sem esperar o processamento em lote.
- Processamento analítico transacional híbrido (HTAP): você precisa executar análises que combinam dados operacionais ativos e "quentes" que residem no AlloyDB com grandes volumes de dados históricos "frios" armazenados no BigQuery.
- Análise de dados ad hoc e exploratória: você quer executar consultas imediatas nos dados do BigQuery sem criar, manter ou esperar pipelines complexos de extração, transformação e carregamento (ETL).
- Arquitetura sem cópia: você quer minimizar os custos de armazenamento e a sobrecarga de governança de dados, mantendo os dados analíticos em um só lugar e mantendo o acesso pela semântica do PostgreSQL.
Sincronização de tabela única
Uma operação única move ou acessa dados do BigQuery uma vez, em vez de uma programação contínua. É possível realizar uma operação única usando tabelas de sincronização ou importando tabelas externas.
Tabelas de sincronização
É possível realizar uma sincronização única usando a alloydb_sync.import_bq_table()
função na alloydb_sync extensão. Essa função transmite dados do BigQuery para o armazenamento local do AlloyDB.
O resultado é uma tabela do PostgreSQL totalmente independente e gravável no cluster do AlloyDB. Como a tabela sincronizada é gravável, você pode executar livremente operações INSERT, UPDATE e DELETE nos dados locais.
Para mais informações, consulte
Sincronizar dados do BigQuery com o AlloyDB.
Importar tabelas
É possível realizar uma importação única usando a extensão bigquery_fdw. Esse método usa IMPORT FOREIGN SCHEMA ou CREATE FOREIGN TABLE para mapear o conjunto de dados do BigQuery no AlloyDB.
Tabelas externas criadas com bigquery_fdw são referências somente leitura aos dados remotos do BigQuery. Para criar uma cópia local dos dados, execute uma consulta CREATE TABLE local_table AS (SELECT * FROM foreign_table).
Para mais informações, consulte
Importar dados do BigQuery para o AlloyDB.
Casos de uso
As operações de dados únicas oferecem suporte aos seguintes casos de uso:
- Aprimoramento de dados: extraia saídas analíticas pré-computadas (como buckets de segmentação de clientes ou previsões de machine learning) do BigQuery para o AlloyDB para aprimorar seu banco de dados operacional.
- Serviço de aplicativos de baixa latência: forneça acesso imediato a um subconjunto de dados históricos em que a sobrecarga ou a latência da consulta remota do BigQuery é inaceitável.
- Modificação de dados isolada: receba uma cópia local de dados analíticos para processar, modificar ou indexar de forma independente do conjunto de dados de origem (por exemplo, gerando embeddings de vetor com o AlloyDB AI).
Sincronização periódica de tabelas
As operações periódicas atualizam os dados em uma programação recorrente, por exemplo, a cada hora ou dia. É possível configurar operações periódicas usando tabelas de sincronização ou programando consultas em tabelas importadas.
Tabelas de sincronização
É possível estabelecer uma programação de atualização automatizada usando a
alloydb_sync.create_bq_sync_table() função na alloydb_sync extensão.
Essa função configura workers em segundo plano para extrair periodicamente dados atualizados do BigQuery e atualizar a tabela local do AlloyDB para espelhar a origem.
As tabelas de sincronização periódica criadas com alloydb_sync são tabelas gerenciadas e somente leitura.
Isso garante a integridade de dados, permitindo que os aplicativos consultem os dados localmente com alta performance e escalonamento horizontal em pools de leitura.
Para mais informações, consulte
Sincronizar dados do BigQuery com o AlloyDB
e
Visão geral da sincronização de dados.
Importar tabelas
É possível configurar importações periódicas combinando a extensão bigquery_fdw com a extensão pg_cron do PostgreSQL. Nessa abordagem, bigquery_fdw fornece a definição de tabela externa somente leitura, e pg_cron executa consultas SQL periodicamente (como TRUNCATE e INSERT INTO ... SELECT ou recriando a tabela) para atualizar uma tabela local.
Ao contrário das tabelas de sincronização, essa abordagem exige que você gerencie e mantenha manualmente as programações pg_cron e os scripts de atualização SQL.
Para mais informações, consulte
Configurar uma programação para importar dados periodicamente.
Casos de uso
As operações periódicas oferecem suporte aos seguintes casos de uso:
- Serviço de alta simultaneidade: ofereça insights analíticos a milhares de usuários simultâneos. Ao manter dados locais no AlloyDB e escalonar horizontalmente com pools de leitura, é possível ignorar os limites de conexão simultânea inerentes ao BigQuery.
- Aceleração de performance: processe dados usando o mecanismo colunar do AlloyDB e o cache de buffer local para maximizar a performance da consulta, em que o aplicativo pode tolerar dados atualizados em uma programação.
- Espelhamento de dados automatizado: mantenha seus aplicativos operacionais fornecidos com dados atualizados do data warehouse em uma programação de configuração única.
A seguir
- Saiba mais sobre como consultar dados ativos no BigQuery no AlloyDB.
- Configurar o acesso a dados em tempo real.
- Visão geral da sincronização de dados.
- Importar dados do BigQuery para o AlloyDB.
- Sincronizar dados do BigQuery com o AlloyDB.