Airbyte · PostgreSQL svc_master (DB operativa del producto)
Replica el PostgreSQL operativo del producto (base "svc master", alimentada por los microservicios del monorepo
vulture) asolvento-data-prod.svc_master_public.*mediante un conector Postgres de Airbyte, cada ~20 min.
¿Llegaste hasta acá desde…?
Usa esta tabla para entrar en sentido inverso (lo que ves → de dónde sale):
| Si ves… | Eso sale de… | La lógica está en… |
|---|---|---|
| Dashboards operativos del producto en Metabase | solvento-data-prod.svc_master_public.* (RAW) |
Metabase lee DIRECTO del RAW (sin dbt). El SQL vive en la propia pregunta de Metabase |
| Loads / deliveries / invoices / payment_orders en analytics | solvento-data-prod.svc_master_public.* (RAW) |
dbt-analytics → models/staging/svc_public/ |
svc_master_public.xml_data (CFDIs parseados) |
solvento-data-prod.svc_master_public.xml_data (RAW) |
Origen escrito por bucket-xml-parser; ver ficha de ese proceso. Airbyte solo lo replica |
Una tabla svc_master_public.* cruda |
solvento-data-prod.svc_master_public.* (RAW) |
Ingesta vía Airbyte (sin lógica de negocio); ver "Paso a paso" |
Resumen
| Campo | Valor |
|---|---|
| Origen | PostgreSQL operativo "svc master" (microservicios del monorepo vulture) |
| Patrón | Airbyte (conector Postgres) — sin lógica de negocio en la ingesta |
| Destino | solvento-data-prod.svc_master_public.* |
| Frecuencia | Sync cada ~20 min |
| Criticidad | 🔴 Alta — muchos dashboards operativos de Metabase corren DIRECTO de este dataset |
| Dueño | Gero (Airbyte) · transformaciones: Diego (dbt-analytics) |
| Repos | (servicio gestionado — sin repo; configurado en consola de Airbyte) · sistema fuente: vulture |
Diagrama de linaje
graph LR
SRC[["🗄️ PostgreSQL svc_master<br/>microservicios de vulture"]]
subgraph ing["1 · Ingesta (sin lógica de negocio)"]
AB["Airbyte<br/>conector Postgres svc_master"]
RAW[("solvento-data-prod<br/>svc_master_public.* · RAW")]
end
XMLP["bucket-xml-parser<br/><i>escribe public.xml_data en el origen</i>"]
subgraph cons["2 · Consumo"]
MB["🖥️ Metabase<br/>dashboards operativos (DIRECTO del RAW)"]
DBT["dbt-analytics<br/>models/staging/svc_public"]
end
SRC -->|"Postgres · ~20 min"| AB --> RAW
XMLP -.->|"public.xml_data"| SRC
RAW --> MB
RAW --> DBT
classDef src fill:#fde68a,stroke:#b45309,color:#000;
classDef store fill:#bfdbfe,stroke:#1e40af,color:#000;
classDef logic fill:#dcfce7,stroke:#15803d,color:#000;
class SRC src;
class RAW store;
class DBT logic;
Paso a paso
1 · Ingesta (mueve datos, no aplica lógica de negocio)
- PostgreSQL svc_master es la base operativa del producto. La escriben los microservicios del monorepo
vulture(vulture) — accounts-payable, factoring, carriers, kyc, etc. - Airbyte corre un conector Postgres configurado en la consola de Airbyte (no hay repo de código). Cada ~20 min lanza un sync que replica las tablas del esquema
public. - Airbyte escribe los datos crudos en
solvento-data-prod.svc_master_public.*. La ingesta solo replica; no aplica reglas de negocio. svc_master_public.xml_dataes un caso especial: en el origen, la tabla Postgrespublic.xml_dataes alimentada por el proceso bucket-xml-parser (parseo de CFDIs XML); Airbyte luego la replica a BigQuery como una tabla más.
2 · Consumo (atención: aquí no siempre hay capa dbt)
- Metabase — muchos dashboards operativos del producto corren DIRECTO del dataset RAW
svc_master_public.*. Por eso este proceso es de criticidad alta: si el sync se atrasa, esos dashboards quedan desactualizados. El SQL de negocio vive en cada pregunta de Metabase, no en dbt. - dbt-analytics (
models/staging/svc_public/) — staging deloads,invoices,deliveries,payment_orders,business, etc., para los modelos analíticos que sí pasan por dbt.
Tablas que alimenta
| Tabla | Contenido | Job que la carga |
|---|---|---|
svc_master_public.business |
Entidad de negocio del producto | Airbyte (conector Postgres svc_master) |
svc_master_public.loads |
Cargas operativas | Airbyte (conector Postgres svc_master) |
svc_master_public.deliveries |
Entregas | Airbyte (conector Postgres svc_master) |
svc_master_public.invoices |
Facturas (lado operativo) | Airbyte (conector Postgres svc_master) |
svc_master_public.payment_orders |
Órdenes de pago | Airbyte (conector Postgres svc_master) |
svc_master_public.carriers |
Transportistas | Airbyte (conector Postgres svc_master) |
svc_master_public.providers |
Proveedores | Airbyte (conector Postgres svc_master) |
svc_master_public.documents |
Documentos | Airbyte (conector Postgres svc_master) |
svc_master_public.xml_data |
CFDIs XML parseados (origen escrito por bucket-xml-parser) | Airbyte (replica public.xml_data) |
Consumo aguas abajo
- Metabase — dashboards operativos del producto, directo del RAW (crítico).
- dbt-analytics —
models/staging/svc_publicpara modelos analíticos. - KYC · Documentos a Drive — lee
entities_kyc(concarriers,business_infoyss_shareholders) para armar el índice de documentos por RFC (ficha, en desarrollo).
Si falla 🛠️
Impacto: 🔴 alto. Muchos dashboards operativos de Metabase leen directo de svc_master_public.*; si el sync se detiene o atrasa, esos dashboards muestran datos viejos.
| Síntoma | Dónde mirar | Acción |
|---|---|---|
svc_master_public.* no se actualiza / dashboards operativos viejos |
UI de Airbyte — estado y hora del último sync de la conexión svc_master | Revisar logs del sync; reintentar el sync manualmente |
| El sync falla con error de auth/conexión | Credenciales del Postgres svc_master en la consola de Airbyte | Verificar credenciales/host/puerto de Postgres y conectividad de red |
Solo xml_data está desactualizada |
Revisar el proceso bucket-xml-parser (origen) | Si la falla está en el parseo de XML, ver la ficha de bucket-xml-parser; Airbyte solo replica |
| Un dashboard muestra un número "raro" | SQL de la pregunta de Metabase (no hay dbt en medio) | Revisar el SQL del dashboard / pregunta de Metabase |
Escalación: Airbyte → Gero · lógica SQL / Metabase → Diego · resto → Martin.
Enlaces
- 📊 Estado en vivo: dashboard "Data Processes" (Cloud Monitoring)
- ⚙️ Configuración de la ingesta: consola de Airbyte → conexión
svc_master(servicio gestionado, sin repo) - 🧩 Sistema fuente:
vulture(microservicios que escriben el Postgres operativo) - 🧮 Lógica analítica:
dbt-analytics— modelos enmodels/staging/svc_public/
Última actualización: 2026-06-21 · Si cambia el flujo o un modelo dbt, actualizar esta ficha en el mismo MR.