Laboratorio 9: Consultas Federadas con Cloud SQL (PostgreSQL)

Laboratorio 9: Consultas Federadas con Cloud SQL (PostgreSQL)

Objetivos del Laboratorio

  • Diferenciar conceptualmente entre sistemas operativos y transaccionales (OLTP) frente a sistemas de análisis masivo (OLAP).
  • Habilitar la BigQuery Connections API para almacenar credenciales de forma encriptada y segura en la nube de Google Cloud.
  • Ejecutar consultas cruzadas en tiempo real combinando el data warehouse analítico con registros operacionales dinámicos de producción.
  • Comprender el concepto de "query pushdown" y los límites recomendados al interrogar bases de datos relacionales externas.

Herramientas y APIs Utilizadas

  • Cloud SQL API: Servicio de bases de datos relacionales totalmente gestionado en la nube para PostgreSQL, MySQL y SQL Server.
  • BigQuery Connections API: Interfaz lógica utilizada para encapsular credenciales de sistemas externos de manera aislada y auditable.
  • psql: Cliente interactivo de terminal empleado para conectarse remotamente a PostgreSQL y estructurar las tablas transaccionales.

Estructura del Código Desarrollado

  • main.tf: Declaración de Terraform que despliega una base de datos PostgreSQL, un usuario seguro, la conexión lógica de BigQuery, la cuenta de servicio de IAM y la tabla de resumen de ventas de BigQuery.
  • 09_01_seed_postgresql.sql: Script SQL estructurado para crear la tabla de perfiles de clientes e insertar datos iniciales en PostgreSQL.
  • 09_02_federated_join.sql: Consulta analítica estructurada que hace uso de la función federada EXTERNAL_QUERY para realizar la unión híbrida.

Paso a Paso del Despliegue

Fase 1: Infraestructura Transaccional y Conexión

  • Declaración del recurso de base de datos relacional PostgreSQL con una configuración compartida de bajo coste para laboratorio.
  • Definición del recurso google_bigquery_connection estableciendo las credenciales del usuario de la base de datos de producción de forma segura.
  • Asignación del rol de acceso cliente roles/cloudsql.client a la cuenta de servicio autogenerada por la conexión mediante Terraform.
  • Despliegue e inicialización física de la base de datos operativa y los servicios asociados en Google Cloud mediante el comando terraform apply.

Fase 2: Poblamiento de Datos (Seeding)

  • Extracción de la dirección IP de Cloud SQL e inicio de sesión interactivo utilizando la herramienta de línea de comandos cliente psql.
  • Creación de la tabla operativa de perfiles de clientes y carga inicial de registros directamente en PostgreSQL.
  • Inserción manual de registros analíticos históricos de volumen de compra dentro de la tabla nativa de BigQuery order_summaries.

Fase 3: Ejecución de la Consulta Federada

  • Construcción del script SQL en BigQuery llamando a la función EXTERNAL_QUERY con la ruta física de la conexión en formato de ubicacion.conexion_id.
  • Ejecución del join lógico cruzando los datos operacionales en tiempo real extraídos de PostgreSQL con los datos analíticos de BigQuery.
  • Verificación del resultado obtenido desde la consola comprobando la correcta delegación e integración asíncrona de las consultas entre motores de base de datos.
Newsletter GCP
¿Quieres estar al día con las últimas novedades de Google Cloud Platform? ¡Suscríbete y no te pierdas nada!