Saltar al contenido
CRM Postventa documentación

Arquitectura / Decisiones

ADR-02 PostgreSQL en lugar de MySQL

ADR-02 · PostgreSQL en lugar de MySQL

Estado: aceptada · Impacto: alto

Contexto

El documento pedía MySQL o MariaDB.

Decisión

PostgreSQL 18.

Por qué

  1. Ya estaba desplegado en el entorno del cliente. Añadir un motor más es coste operativo sin beneficio.
  2. Tipos enumerados nativos. Un estado de ticket inválido es imposible, no improbable. Con MySQL habría sido una convención esperando a romperse.
  3. jsonb para configuración, cargas útiles de webhook y errores de importación, con consultas sobre su contenido.
  4. Índices parciales. El barrido de SLA recorre sólo los tickets abiertos con plazo vencido, no la tabla entera.
  5. Trigramas para búsqueda tolerante a tildes y erratas — imprescindible con nombres como «Ñiquén Ancajima».
  6. Tipos compuestos para que las funciones de KPI devuelvan valor, numerador, denominador y muestra en una sola llamada.

Coste

  • El documento pedía MySQL; hay que justificarlo.
  • La sintaxis de las migraciones no es portable a MySQL sin reescribirlas.

Relacionado: Base de datos · ADR-05 Los indicadores se calculan en la base

Enlazan aquí