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 • Equipo 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?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat