Skip to content

Airbyte

Airbyte es la plataforma de integración de datos utilizada para ingestar datos del Backend de Solvento (PostgreSQL) y HubSpot hacia BigQuery.

Descripción

Airbyte es una plataforma open-source de integración de datos (ELT) que permite extraer datos de múltiples fuentes y cargarlos en destinos como BigQuery. En Solvento, Airbyte reemplazó a Matia para la ingesta del Backend de Solvento y se adoptó como herramienta para ingestar datos de HubSpot.

Flujo de Datos

graph LR
    subgraph origenes["Orígenes"]
        BackendSolvento[(Backend Solvento<br/>PostgreSQL)]
        HubSpot[HubSpot<br/>CRM]
    end

    subgraph airbyte["Airbyte Platform"]
        ConnPG[Conector PostgreSQL<br/>CDC / Full Refresh]
        ConnHS[Conector HubSpot<br/>API Nativa]
        Sync[Sync Engine<br/>Scheduling & Orchestration]
    end

    subgraph destino["Destino"]
        DataProd[solvento-data-prod<br/>BigQuery Raw]
    end

    BackendSolvento -->|"CDC / Incremental"| ConnPG
    HubSpot -->|"API REST"| ConnHS
    ConnPG --> Sync
    ConnHS --> Sync
    Sync -->|"Escribe datos raw"| DataProd

Fuentes de Datos

1. Backend Solvento (PostgreSQL)

  • Base de Datos: Backend de Solvento (PostgreSQL)
  • Conector: Airbyte PostgreSQL Source
  • Método: CDC (Change Data Capture) o Incremental
  • Destino: BigQuery (solvento-data-prod)

Características de la Ingesta

  • CDC via Logical Replication: Captura cambios en tiempo real usando WAL (Write-Ahead Log)
  • Incremental Sync: Sincronización incremental basada en cursor columns
  • Full Refresh: Opción de recarga completa cuando sea necesario
  • Schema Detection: Detección automática de cambios en el esquema

2. HubSpot (CRM)

  • Origen: HubSpot CRM
  • Conector: Airbyte HubSpot Source (conector nativo)
  • Método: API REST de HubSpot
  • Destino: BigQuery (solvento-data-prod)

Objetos Principales Sincronizados

  • Deals: Oportunidades de negocio
  • Contacts: Contactos
  • Companies: Empresas
  • Activities: Actividades y notas
  • Pipelines: Pipelines de ventas

Características de la Ingesta

  • Incremental Sync: Sincronización basada en updatedAt timestamp
  • Rate Limiting: Manejo automático de rate limits de la API de HubSpot
  • Paginación: Manejo automático de paginación de la API

Características de Airbyte

Conectores Nativos

  • +300 conectores disponibles out-of-the-box
  • PostgreSQL: Soporte completo para CDC via logical replication
  • HubSpot: Conector nativo con soporte para todos los objetos del CRM

Scheduling y Orquestación

  • Sync programados: Configuración de frecuencia de sincronización por conexión
  • Retry automático: Reintentos automáticos en caso de fallos
  • Alertas: Notificaciones en caso de errores o fallos de sincronización

Normalización

  • Raw tables: Los datos se escriben primero en tablas raw (_airbyte_raw_*)
  • Normalized tables: Opcionalmente, Airbyte normaliza los datos en tablas estructuradas
  • Schema evolution: Manejo automático de cambios en el esquema de origen

Migración desde Matia

Backend Solvento

Aspecto Matia (Anterior) Airbyte (Actual)
Método CDC via Cron CDC via Logical Replication
Frecuencia Cron programado Configurable (minutos a horas)
Conectores Custom Nativo PostgreSQL
Normalización Manual Automática
Monitoreo Limitado Dashboard integrado

HubSpot

Aspecto Estado Anterior Airbyte (Actual)
Ingesta No documentada / manual Conector nativo HubSpot
Objetos Limitados Deals, Contacts, Companies, etc.
Frecuencia Variable Configurable y consistente

Configuración

Conexión PostgreSQL (Backend Solvento)

# Configuración conceptual de Airbyte
source:
  type: postgres
  host: <backend-solvento-host>
  port: 5432
  database: solvento
  replication_method: cdc  # Logical replication
  publication: airbyte_publication

destination:
  type: bigquery
  project: solvento-data-prod
  dataset: backend_solvento
  loading_method: standard

Conexión HubSpot

# Configuración conceptual de Airbyte
source:
  type: hubspot
  credentials:
    type: private_app
    access_token: <hubspot-private-app-token>

destination:
  type: bigquery
  project: solvento-data-prod
  dataset: hubspot
  loading_method: standard

Integración con GCP

Proyecto Utilizado

  • solvento-data-prod: Destino de datos raw ingeridos desde Backend Solvento y HubSpot

Nota: Según la filosofía de proyectos, Airbyte escribe datos raw a solvento-data-prod. Los procesos ETL (dbt, Dataform) transforman estos datos hacia solvento-adv-analytics-prod.

Servicios GCP Relacionados

  • BigQuery: Destino principal para datos ingeridos
  • Secret Manager: Almacenamiento seguro de credenciales de conexión
  • Cloud Monitoring: Monitoreo de la infraestructura de Airbyte

Monitoreo y Métricas

  • Sync Status: Estado de cada sincronización (success, failed, running)
  • Sync Duration: Tiempo de ejecución de cada sync
  • Records Synced: Número de registros sincronizados por ejecución
  • Data Volume: Volumen de datos transferidos
  • Error Rate: Tasa de errores en sincronizaciones
  • Freshness: Frescura de los datos en BigQuery

Referencias