ADR-0012: Usar PostgreSQL para el servicio de pedidos
Estado: Estado
Fecha: 12 de marzo de 2027
Responsables de la decisión: Responsable del equipo de plataforma, responsable del equipo de pedidos, ingeniero de seguridad
Contexto
El servicio de pedidos almacena 20 millones de filas y necesita transacciones entre tablas. El almacén actual no admite transacciones y el equipo no tiene experiencia operándolo.
Lo que más importa
Consistencia de los datos
Experiencia del equipo
Coste de operación
Capacidad de escalar 5x en dos años
Opciones consideradas
1. PostgreSQL gestionado. Transacciones sólidas, el equipo lo conoce, mayor coste.
2. Una base de datos documental. Arranque rápido, uniones y transacciones más débiles.
3. Mantener el almacén actual. Sin migración, pero el problema sigue ahí.
Decisión
Usaremos PostgreSQL gestionado para el servicio de pedidos.
Motivos
Cumple la necesidad de consistencia, el equipo puede mantenerlo y el coste es aceptable dentro del presupuesto de plataforma.
Consecuencias
Bueno: código más sencillo y pedidos más seguros. Malo: una migración de tres meses y un coste anual de alojamiento. Debemos planificar el traslado de datos y una reversión.
Cuándo revisarlo
Si el volumen supera los 100 millones de filas o el coste de alojamiento se duplica.
Relacionado
Sustituye a ADR-0004. Relacionado: ADR-0009.