Elementos de Consumo de Datos
Esta sección documenta todos los componentes que consumen o ingieren datos en la arquitectura de data engineering de Solvento.
Overview
Los elementos de consumo son el punto de entrada de datos al sistema. Estos componentes reciben datos desde fuentes externas o internas y los preparan para su procesamiento y almacenamiento posterior.
Componentes de Consumo
BigQuery
Data warehouse serverless de Google Cloud. Almacena y permite consultar grandes volúmenes de datos estructurados.
Pub/Sub
Servicio de mensajería asíncrona para eventos y streaming de datos en tiempo real.
Cloud Storage
Almacenamiento de objetos escalable para archivos, datos no estructurados y backups.
Dataflow
Servicio de procesamiento de datos stream y batch usando Apache Beam.
Ver detalles → | Jobs y Colas → | Templates →
Cloud Functions
Funciones serverless que se ejecutan en respuesta a eventos.
Cloud Run
Servicios containerizados que procesan requests HTTP y eventos.
Cloud Scheduler
Servicio de orquestación para programar jobs periódicos.
APIs Externas
Integraciones con servicios y APIs de terceros para consumo de datos.
Webhooks
Endpoints HTTP que reciben eventos y notificaciones de sistemas externos.
Datastream
Servicio de CDC de GCP para replicación de LoanPro (MySQL) hacia BigQuery en ventanas de 15 minutos.
Airbyte
Plataforma de replicación de datos para Backend Solvento (PostgreSQL) y HubSpot hacia BigQuery.
S3 → Glue → GCP
Flujo de ingesta desde Amazon S3 hacia GCP mediante AWS Glue.
Shinkansen
Ingesta de payouts y órdenes de payout: webhooks NRT, carga diaria desde Treasury, vista unificada en BigQuery (solvento-data-prod.shinkansen).
Terminal Uploader
Pipeline ETL que sincroniza datos de terminales desde BigQuery hacia Supabase para la aplicación web Solvento Terminal (Lovable).
Arquitectura 5.0
Patrón de extracción de datos de la API de Syntage con desacoplamiento, reintentos mediante Cloud Tasks, y procesamiento asíncrono.
Flujo General de Consumo
graph TB
subgraph fuentes["Fuentes Externas"]
APIs[APIs Externas]
Webhooks[Webhooks<br/>Syntage + Toku]
S3[S3 Bucket]
end
subgraph bases_datos["Bases de Datos y SaaS"]
LoanPro[(LoanPro<br/>MySQL)]
BackendSolvento[(Backend Solvento<br/>PostgreSQL)]
HubSpotCRM[HubSpot<br/>CRM]
end
subgraph ingesta["Ingesta"]
PubSub[Pub/Sub]
Storage[Cloud Storage]
DatastreamSvc[Datastream]
AirbyteSvc[Airbyte]
end
subgraph procesamiento["Procesamiento"]
Dataflow[Dataflow]
Run[Cloud Run]
end
subgraph almacenamiento["Almacenamiento"]
BigQuery[BigQuery]
Supabase[Supabase<br/>PostgreSQL]
end
subgraph apps["Aplicaciones"]
TerminalApp[Solvento Terminal<br/>Lovable]
end
APIs -->|"HTTP Request"| Run
Webhooks -->|"HTTP Request"| Run
LoanPro -->|"CDC Tiempo Real"| DatastreamSvc
BackendSolvento -->|"CDC / Incremental"| AirbyteSvc
HubSpotCRM -->|"API REST"| AirbyteSvc
S3 -->|"AWS Glue"| BigQuery
DatastreamSvc --> BigQuery
AirbyteSvc --> BigQuery
Run -->|"Publica mensajes"| PubSub
Run --> BigQuery
Run -->|"ETL Terminal"| Supabase
PubSub --> Dataflow
Dataflow --> BigQuery
BigQuery -->|"ETL Incremental"| Supabase
Supabase --> TerminalApp
Relaciones entre Componentes
Cada componente de consumo puede interactuar con otros componentes del sistema:
- Pub/Sub actúa como bus de eventos, conectando Cloud Run con Dataflow
- Cloud Run recibe webhooks/APIs y publica a Pub/Sub (único publicador)
- Datastream replica LoanPro (MySQL) directamente a BigQuery cada 15 minutos
- Airbyte replica Backend Solvento (PostgreSQL) y HubSpot directamente a BigQuery
- Dataflow consume mensajes de Pub/Sub y escribe a BigQuery (data-prod)
- BigQuery es el destino final para todos los datos raw
Próximos Pasos
Después de documentar todos los elementos de consumo, profundizaremos en: - Procesamiento de datos - Transformaciones ETL - Almacenamiento y data lakes - Orquestación y scheduling