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
updatedAttimestamp - 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