Cómo decidir qué hacer ante una edición simultánea
Ante dos ediciones simultáneas, conserva evidencia de ambas y aplica una regla acordada por campo.
Ante dos ediciones simultáneas, conserva evidencia de ambas y aplica una regla acordada por campo. No elijas automáticamente la última hora si no conoces su significado y fiabilidad. Para datos de alto impacto, detener la sobrescritura y pedir resolución puede ser la decisión correcta.
Define qué cuenta como conflicto
Dos cambios en columnas independientes pueden combinarse; dos cambios incompatibles sobre el mismo valor necesitan decisión. Ten en cuenta acciones derivadas: cambiar cantidad puede alterar importe y autorización. Registra la versión leída por cada parte y el valor que pretendía escribir. En un ejemplo hipotético, dos teléfonos diferentes no pueden fusionarse concatenándolos sin saber si corresponden a contactos distintos.
Elige la regla según el campo
Puedes asignar prioridad a una fuente, aceptar una fusión revisada o enviar el caso a una cola. Documenta quién decide y qué ocurre mientras tanto. Usar «último en escribir» solo es aceptable si el negocio admite perder el valor anterior y las marcas de tiempo permiten ordenar esos cambios. Una decisión cómoda para un comentario interno puede resultar inadecuada para un bloqueo de pago.
Usa el control de concurrencia disponible
Comprueba si la API ofrece versiones o precondiciones de actualización y cuál es su comportamiento exacto. Si detecta que el registro cambió, vuelve a leer y evalúa el conflicto; no repitas una escritura ciega. PostgreSQL documenta que el aislamiento afecta a la interacción de transacciones y que ciertos conflictos requieren reintentos. Esa capacidad local no garantiza por sí sola la coordinación entre dos aplicaciones externas.
Ensaya las dos órdenes de llegada
Prepara dos ediciones sobre la misma versión y ejecútalas en ambos órdenes, incluyendo un reintento tardío. Verifica que no se pierde una restricción importante y que la persona revisora ve valores, procedencia y contexto. Después de resolver, confirma que ambos sistemas convergen y que un evento antiguo no restaura el valor descartado. Guarda la resolución vinculada al conflicto para poder explicar por qué prevaleció una opción.
Conserva un formulario de resolución con valor anterior, alternativas, fuente de cada edición, persona decisora y resultado elegido. La persona debe poder ver el desacuerdo sin volver a editar los sistemas para investigarlo. Después, comprueba que la resolución se aplicó a la revisión actual; si hubo otra modificación durante la espera, vuelve a evaluar en vez de cerrar sobre información desfasada.
Comprobaciones para cerrar la tarea
- ✓ Distingue campos independientes de valores incompatibles.
- ✓ Define resolución por tipo de campo y riesgo.
- ✓ Verifica el control de concurrencia de la API concreta.
- ✓ Ensaya ambos órdenes y un reintento antiguo.
Fuentes y documentación
- PostgreSQL — Aislamiento de transacciones — El aislamiento determina cómo se observan cambios concurrentes; ciertos conflictos requieren reintentar la transacción.
Aplicarlo en tu empresa
Podemos revisar el entorno y acordar qué actuaciones, validaciones y mantenimiento necesitas.
Conocer el servicio relacionado →