Propuesta Técnica: Modernización y Externalización del Sistema de Logs de Quartup

1. Estado Actual y Diagnóstico

Actualmente, los registros de actividad (LOGs) de Quartup se almacenan en tablas relacionales dentro de la misma base de datos de producción de cada cliente (tenant).

Desglose de tablas actuales:

Solo el primer bloque de Auditoría está actualmente implantado de forma permanente, el resto de LOGs son actualmente volátiles, pero con potencial de persistencia.

En el presente documento nos centraremos en el bloque de Auditoría, dejando la renovación del resto para próximas revisiones.

Objetivos de la Renovación:

  1. Optimización de Almacenamiento: Liberar espacio en los discos de alto rendimiento del entorno de producción.
  2. Mejora del Rendimiento (I/O): Reducir la carga de operaciones de entrada/salida en el gestor SQL principal.
  3. Integridad de Datos: Garantizar la consistencia entre los eventos de log y los datos de negocio.

2. Alternativas de Solución

Propuesta 1: Arquitectura Basada en CDC (Change Data Capture)

Esta opción propone una extracción pasiva de datos basada en los eventos del motor de base de datos.

Propuesta 2: Externalización SQL Síncrona (Online)

Envío de logs en tiempo real hacia una base de datos SQL externa dedicada exclusivamente a auditoría.

Propuesta 3: Externalización Híbrida (Online/Offline con Fallback)

Evolución de la propuesta 2, utilizando un patrón de Buffer Local.


3. Matriz Comparativa

Criterio Propuesta 1 (CDC) Propuesta 2 (Online) Propuesta 3 (Híbrida)
Impacto en CPU/IO Producción Mínimo (Lectura de Log) Medio/Alto (Escritura remota) Bajo (Variable)
Complejidad Implementación Alta (Infraestructura) Baja Media
Garantía de Entrega Muy Alta Baja Alta
Escalabilidad Excelente (Elasticsearch) Limitada (SQL) Media (SQL)