Para acceder a los datos de BigQuery desde AlloyDB para PostgreSQL, puedes usar las extensiones bigquery_fdw (wrapper de datos externos) y alloydb_sync. Juntas, estas extensiones proporcionan métodos para integrar tus datos analíticos y operativos: acceso a los datos en tiempo real (federación de lakehouse), operaciones de datos únicas y sincronización periódica. En este documento, se describen las opciones para acceder a los datos de BigQuery desde AlloyDB.
Federación de Lakehouse
La federación de Lakehouse proporciona acceso en tiempo real a tus datos de BigQuery directamente desde AlloyDB para PostgreSQL sin mover ni duplicar los datos. Para conectar los dos sistemas, este método usa la extensión bigquery_fdw, que te permite consultar conjuntos de datos en vivo en su lugar. Debido a que consultas los datos de origen directamente, obtienes estadísticas de los datos más actuales disponibles, sin pasar por la latencia y la sobrecarga de mantenimiento de las canalizaciones de datos o los intervalos de sincronización.
Para optimizar el rendimiento, AlloyDB envía los filtros y las agregaciones estándar a BigQuery, y transmite solo los resultados relevantes y prefiltrados a tu instancia. Para obtener más información, consulta Descripción general del acceso de AlloyDB a datos en tiempo real en BigQuery.
Casos de uso
La federación de Lakehouse admite los siguientes casos de uso:
- Estadísticas operativas en tiempo real: Necesitas acceder a los datos analíticos más recientes disponibles en BigQuery para tomar decisiones comerciales instantáneas, sin esperar el procesamiento por lotes.
- Procesamiento híbrido transaccional/analítico (HTAP): Necesitas ejecutar estadísticas que unan datos operativos en vivo y "activos" que residen en AlloyDB con grandes volúmenes de datos históricos "inactivos" almacenados en BigQuery.
- Análisis de datos exploratorio y ad hoc: Deseas ejecutar consultas inmediatas sobre los datos de BigQuery sin compilar, mantener ni esperar canalizaciones complejas de extracción, transformación y carga (ETL).
- Arquitectura sin copia: Deseas minimizar los costos de almacenamiento y la sobrecarga de administración de datos manteniendo tus datos analíticos en un solo lugar y conservando el acceso a través de la semántica de PostgreSQL.
Sincronización de tablas única
Una operación única mueve o accede a los datos de BigQuery una vez, en lugar de hacerlo según una programación continua. Puedes realizar una operación única con tablas de sincronización o importando tablas externas.
Tablas de sincronización
Puedes realizar una sincronización única con la alloydb_sync.import_bq_table()
función en la alloydb_sync extensión. Esta función transmite datos de BigQuery al almacenamiento local de AlloyDB.
El resultado es una tabla de PostgreSQL completamente independiente y grabable en tu clúster de AlloyDB. Debido a que la tabla sincronizada es grabable, puedes ejecutar libremente operaciones INSERT, UPDATE y DELETE en los datos locales.
Para obtener más información, consulta
Sincroniza datos de BigQuery con AlloyDB.
Importar tablas
Puedes realizar una importación única con la extensión bigquery_fdw. Este método usa IMPORT FOREIGN SCHEMA o CREATE FOREIGN TABLE para asignar el conjunto de datos de BigQuery a AlloyDB.
Las tablas externas creadas con bigquery_fdw son referencias de solo lectura a los datos remotos de BigQuery. Para crear una copia local de los datos, puedes ejecutar una consulta CREATE TABLE local_table AS (SELECT * FROM foreign_table).
Para obtener más información, consulta
Importa datos de BigQuery a AlloyDB.
Casos de uso
Las operaciones de datos únicas admiten los siguientes casos de uso:
- Enriquecimiento de datos: Extrae resultados analíticos precalculados (como segmentos de clientes o predicciones de aprendizaje automático) de BigQuery a AlloyDB para enriquecer tu base de datos operativa.
- Entrega de aplicaciones de baja latencia: Proporciona acceso inmediato a un subconjunto de datos históricos en el que la sobrecarga o la latencia de consultar BigQuery de forma remota no son aceptables.
- Modificación de datos aislada: Obtén una copia local de los datos analíticos para procesarlos, modificarlos o indexarlos de forma independiente del conjunto de datos de origen (por ejemplo, generar embeddings de vectores con AlloyDB AI).
Sincronización de tablas periódica
Las operaciones periódicas actualizan los datos según una programación recurrente, por ejemplo, cada hora o cada día. Puedes configurar operaciones periódicas con tablas de sincronización o programando consultas en tablas importadas.
Tablas de sincronización
Puedes establecer un programa de actualización automática con la
alloydb_sync.create_bq_sync_table() función en la alloydb_sync extensión.
Esta función configura trabajadores en segundo plano para extraer periódicamente datos actualizados de BigQuery y actualizar tu tabla local de AlloyDB para reflejar la fuente.
Las tablas de sincronización periódica creadas con alloydb_sync son tablas administradas y de solo lectura.
Esto garantiza la integridad de los datos y permite que las aplicaciones consulten los datos de forma local con un alto rendimiento y se escale horizontalmente en los grupos de lectura.
Para obtener más información, consulta
Sincroniza datos de BigQuery con AlloyDB
y
Descripción general de la sincronización de datos.
Importar tablas
Puedes configurar importaciones periódicas combinando la extensión bigquery_fdw con la extensión pg_cron de PostgreSQL. En este enfoque, bigquery_fdw proporciona la definición de tabla externa de solo lectura y pg_cron ejecuta periódicamente consultas SQL (como TRUNCATE y INSERT INTO ... SELECT o la recreación de la tabla) para actualizar una tabla local.
A diferencia de las tablas de sincronización, este enfoque requiere que administres y mantengas manualmente los programas pg_cron y las secuencias de comandos de actualización de SQL.
Para obtener más información, consulta
Configura un programa para importar datos de forma periódica.
Casos de uso
Las operaciones periódicas admiten los siguientes casos de uso:
- Entrega de alta simultaneidad: Entrega estadísticas analíticas a miles de usuarios simultáneos. Si mantienes datos locales en AlloyDB y realizas un ajuste de escala horizontal con grupos de lectura, puedes omitir los límites de conexión simultánea inherentes a BigQuery.
- Aceleración del rendimiento: Procesa datos con el motor de columnas de AlloyDB y la caché de búfer local para obtener el máximo rendimiento de las consultas, en el que tu aplicación puede tolerar datos actualizados según un programa.
- Duplicación de datos automatizada: Mantén tus aplicaciones operativas abastecidas con datos recientes de tu almacén de datos según un programa de configuración única.
¿Qué sigue?
- Obtén más información para consultar datos en vivo en BigQuery desde AlloyDB.
- Configura el acceso a datos en tiempo real.
- Descripción general de la sincronización de datos.
- Importa datos de BigQuery a AlloyDB.
- Sincroniza datos de BigQuery con AlloyDB.