Para combinar dados analíticos no BigQuery com cargas de trabalho operacionais no
AlloyDB para PostgreSQL, escolha entre os métodos de integração fornecidos pelas
extensões bigquery_fdw (wrapper de dados externos) e alloydb_sync:
- Acesso a dados em tempo real (federação de lakehouse): consulte tabelas do BigQuery ativas no local sem copiar dados.
- Operações de dados únicas: importe um snapshot de uma tabela do BigQuery para uma tabela gravável do AlloyDB.
- Sincronização periódica: mantenha uma cópia local somente leitura de uma tabela do BigQuery no AlloyDB que é atualizada de acordo com uma programação.
Compare as características de desempenho, a atualização de dados e os casos de uso de cada método para selecionar a melhor abordagem para sua carga de trabalho.
Federação de lakehouse
A federação de lakehouse fornece acesso em tempo real aos seus
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 recentes
disponíveis, ignorando a latência e a sobrecarga de manutenção de pipelines de dados ou
intervalos de sincronização.
Para otimizar o desempenho, o AlloyDB envia filtros, limites e agregações padrão para o BigQuery, transmitindo apenas os resultados relevantes e pré-filtrados de volta para sua 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 é compatível com os seguintes casos de uso:
- Análise operacional em tempo real: você precisa de acesso aos dados analíticos mais recentes disponíveis no BigQuery para tomar decisões de negócios instantâneas, sem esperar pelo 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 volumes massivos de dados históricos "frios" armazenados no BigQuery.
- Análise de dados ad hoc e exploratória: você quer executar consultas imediatas em dados do BigQuery sem criar, manter ou esperar por pipelines complexos de extração, transformação e carregamento (ETL).
- Arquitetura de cópia zero: 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 o acesso por meio da semântica do PostgreSQL.
Sincronização de tabela única
Uma operação única move ou acessa dados do BigQuery uma vez, em vez de seguir uma programação contínua. É possível realizar uma operação única usando tabelas de sincronização ou importando tabelas externas.
Sincronizar tabelas
É possível realizar uma sincronização única usando a função alloydb_sync.import_bq_table()
na extensão alloydb_sync. 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, é possível
executar livremente as 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 fazer 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 para o AlloyDB.
As 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 são compatíveis com os seguintes casos de uso:
- Aprimoramento de dados: extraia saídas analíticas pré-calculadas (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.
- Disponibilizaçã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 de consulta remota do BigQuery é inaceitável.
- Modificação de dados isolada: obtenha uma cópia local de dados analíticos para processar, modificar ou indexar de forma independente do conjunto de dados de origem (por exemplo, gerar embeddings de vetor com a IA do AlloyDB).
Sincronização periódica de tabelas
As operações periódicas atualizam os dados de maneira 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.
Sincronizar tabelas
É possível estabelecer uma programação de atualização automática usando a função alloydb_sync.create_bq_sync_table() na extensão alloydb_sync.
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 gerenciadas e somente leitura.
Isso garante a integridade de dados e permite que os aplicativos consultem os dados localmente com alto desempenho 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, o bigquery_fdw
fornece a definição da tabela externa somente leitura, e o pg_cron executa periodicamente
consultas SQL (como TRUNCATE e INSERT INTO ... SELECT ou
recriação da 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 do pg_cron e os scripts de atualização do SQL.
Para mais informações, consulte
Configurar uma programação para importar dados periodicamente.
Casos de uso
As operações periódicas são compatíveis com os seguintes casos de uso:
- Disponibilização de alta simultaneidade: forneça insights analíticos para milhares de usuários simultâneos. Ao manter os 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 desempenho: processe dados usando o mecanismo colunar do AlloyDB e o cache de buffer local para maximizar o desempenho da consulta, em que seu aplicativo pode tolerar dados atualizados de acordo com uma programação.
- Espelhamento de dados automatizado: mantenha seus aplicativos operacionais abastecidos com dados atualizados do data warehouse em uma programação de configuração única.
A seguir
- Saiba mais sobre como consultar dados em tempo real no BigQuery pelo AlloyDB.
- Configurar o acesso a dados em tempo real.
- Visão geral da sincronização de dados.
- Sincronizar dados do BigQuery com o AlloyDB.