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é
- Ya estaba desplegado en el entorno del cliente. Añadir un motor más es coste operativo sin beneficio.
- Tipos enumerados nativos. Un estado de ticket inválido es imposible, no improbable. Con MySQL habría sido una convención esperando a romperse.
jsonbpara configuración, cargas útiles de webhook y errores de importación, con consultas sobre su contenido.- Índices parciales. El barrido de SLA recorre sólo los tickets abiertos con plazo vencido, no la tabla entera.
- Trigramas para búsqueda tolerante a tildes y erratas — imprescindible con nombres como «Ñiquén Ancajima».
- 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