Construyendo SW: Lecciones del Backend

Arquitectura híbrida Postgres-ClickHouse para ingesta de eventos de GitHub: normalización, detección de blasfemias, consentimiento y privacidad, idempotencia.

18 sept 2025 • 4 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Pequeña advertencia: este artículo trata sobre palabrotas en el código y sobre las lecciones aprendidas al construir SW, un servicio backend que ingiere eventos de GitHub, extrae texto escrito por personas y detecta blasfemias en tono de broma. La idea fue crear analítica ligera no moderación, con flujos de consentimiento incorporados desde el núcleo.

Comenzamos con Postgres por seguridad y familiaridad, pero al escalar surgieron problemas habituales: vistas materializadas frágiles, contención en inserts, VACUUM y WAL que consumen tiempo. La solución fue dividir responsabilidades: Postgres como control plane para contabilidad de ingesta, recibos de consentimiento y metadatos, y ClickHouse como fact store para hechos de alto volumen como utterances y hits. Ese balance redujo peleas con el almacenamiento y mejoró rendimiento.

La normalización de texto fue clave porque la profanidad no llega siempre escrita de forma literal. Construimos una tuberia de normalización que repara UTF8, aplica NFKC, case folding, elimina espacios de ancho cero y mapea leetspeak para evitar falsos positivos tipo Scunthorpe. Luego implementamos detección versionada con un formato de reglas que incluye templates, lemas, categorías y detector_version para poder comparar resultados sin reescribir historia.

La detección de idioma es complicada y GitHub no adjunta metadata de idioma en commits. Probamos enfoques: detección por rangos Unicode, funciones en Postgres, y finalmente funciones en ClickHouse que ofrecen velocidad y escala. Cuando no queda claro, se usa lang_code un como fallback para mantener consistencia.

La privacidad y el consentimiento fueron requisitos innegociables. Convertimos ids de usuario y repositorio en HIDs, forzamos información identificable a un esquema de Postgres con reglas estrictas y diseñamos flujos de opt-in y opt-out verificables sin depender de OAuth. Opt-out mediante un archivo cero bytes en la raíz del repo y opt-in mediante gist público con un hash de desafío permitieron auditoría y revocación sencilla. Por defecto todo es anónimo y los insultos se enmascaran.

Para backfills y replays diseñamos idempotencia con ids determinísticos basados en UUIDv7 y SHA256, y gestión de leases por hora en Postgres para evitar trabajo duplicado. El lema fue simple: idempotencia es supervivencia. Telemetría por lease facilita detectar y diagnosticar problemas de ingesta.

En la capa de servicio adoptamos un diseño ports-first que mantiene límites claros, evita dependencias cíclicas y facilita pruebas. Modules exportan solo interfaces y la wiring se hace con un kit interno. Esto nos dio superficies predecibles para evolucionar la plataforma sin enredos.

La observabilidad vino desde el inicio: logs estructurados con timings por operación, tablas de ingest_hours con telemetría y métricas de Nightshift que registran compresiones, podas y reverificaciones de políticas. Con métricas fiables la operativa deja de ser babysitting y se vuelve predecible.

El crecimiento de datos obliga a políticas de retención. Nightshift resume datos en ventanas horarias y diarias, calculando contadores, categorías, términos principales y desgloses por idioma, y luego elimina los utterances crudos. Esto reduce terabytes a unos pocos gigabytes útiles para exploración y permite que el proyecto sea replicable en un portátil.

Conclusiones prácticas: la separación Postgres control-plane y ClickHouse fact-store funcionó muy bien; la normalización y un rulepacker versionado mitigaron la deriva de detección; la protección del consentimiento y la anonimización son imprescindibles; patrones de idempotencia y leasing hacen los replays seguros; el diseño ports-first limpió dependencias; y la observabilidad reduce el coste operativo.

En Q2BSTUDIO aplicamos estas mismas buenas prácticas al desarrollar soluciones a medida para clientes. Somos una empresa de desarrollo de software que ofrece aplicaciones a medida y software a medida, especialistas en inteligencia artificial, ciberseguridad y servicios cloud aws y azure, además de servicios de inteligencia de negocio y power bi. Si buscas desarrollar una plataforma escalable y respetuosa con la privacidad, descubre nuestros servicios de desarrollo de aplicaciones y software a medida en servicios de desarrollo de aplicaciones a medida o conoce nuestras soluciones de inteligencia artificial para empresas en ia para empresas y agentes IA.

Ofrecemos desde arquitecturas backend híbridas hasta integración con servicios cloud, automatización, analítica con Power BI y auditoría de seguridad y pentesting. Si tu proyecto requiere escalabilidad, cumplimiento y modelos de IA prácticos, trabajamos en la implementación de agentes IA, pipelines de datos y paneles de inteligencia de negocio para que tomes decisiones basadas en datos.

En resumen, construir SW fue un ejercicio de ingeniería en almacenamiento, normalización, detección y privacidad. Las lecciones aprendidas son transferibles a cualquier proyecto de software a medida y esperamos aplicarlas en soluciones reales para clientes de Q2BSTUDIO, combinando experiencia en software, inteligencia artificial y ciberseguridad para entregar productos robustos y responsables.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat