Last-Write-Wins (LWW) es un mecanismo de resolución de conflictos que prioriza la operación de escritura más reciente basándose en una marca de tiempo (timestamp) asociada a cada escritura. Cuando múltiples nodos intentan modificar el mismo dato de forma concurrente o cuando las actualizaciones llegan desordenadas debido a la latencia de la red, LWW examina las marcas de tiempo de las operaciones en conflicto y selecciona aquella con el valor más alto. Esta estrategia es simple de implementar y garantiza una eventual consistencia, pero puede llevar a la pérdida de datos si las marcas de tiempo no reflejan el orden causal real de las operaciones o si los relojes de los sistemas no están perfectamente sincronizados.
LWW es comúnmente implementado en bases de datos NoSQL distribuidas y sistemas de almacenamiento de objetos donde la alta disponibilidad y la partición de la red son prioritarias sobre una consistencia estricta. Ejemplos incluyen Amazon S3, donde los objetos con la misma clave pero diferentes versiones pueden resolverse mediante LWW si no se utiliza el versionado explícito. Apache Cassandra y Riak también emplean variantes de LWW, a menudo utilizando un 'vector clock' o un 'logical timestamp' (como un contador de eventos) además de o en lugar de un 'physical timestamp' para mejorar la precisión en la resolución de conflictos y mitigar los problemas de la desincronización de relojes. En estos sistemas, la marca de tiempo puede ser generada por el cliente o por el servidor que recibe la escritura.
Para un arquitecto, LWW es una elección de diseño crucial que equilibra la simplicidad y la alta disponibilidad con el riesgo de pérdida de datos. Es ideal para escenarios donde la pérdida ocasional de una actualización no es crítica (ej. contadores de 'likes', datos de sesión no esenciales) o donde la complejidad de algoritmos de consenso más robustos (como Paxos o Raft) es inaceptable. Sin embargo, requiere una cuidadosa consideración de la sincronización de relojes y la granularidad de las marcas de tiempo. Un arquitecto debe evaluar si los 'timestamps' físicos son suficientes o si se necesitan 'logical timestamps' o 'vector clocks' para capturar mejor la causalidad. La elección de LWW implica aceptar un modelo de consistencia eventual, lo que significa que los clientes pueden leer datos obsoletos por un período, y que las operaciones de escritura pueden no ser idempotentes en el sentido estricto si se basan únicamente en LWW sin mecanismos adicionales de idempotencia.