Read-Your-Own-Writes (RYOW) es una garantía de consistencia que se sitúa entre la consistencia fuerte y la consistencia eventual pura. No garantiza que todos los clientes vean los datos más recientes inmediatamente, pero sí asegura que un cliente que ha realizado una escritura verá su propia escritura en cualquier lectura posterior. Esto es crucial en sistemas distribuidos donde las escrituras pueden tardar en propagarse a todas las réplicas. Para un cliente específico, RYOW crea la ilusión de una consistencia fuerte, ya que sus propias operaciones de escritura y lectura se comportan de manera secuencial, evitando el problema de 'perder' una escritura que acaba de realizar.

RYOW se implementa comúnmente en bases de datos distribuidas y servicios de almacenamiento en la nube. Por ejemplo, Amazon DynamoDB ofrece RYOW como una opción de consistencia eventual, donde un cliente puede solicitar una 'lectura consistente' (consistent read) para garantizar que vea su escritura más reciente. Apache Cassandra también puede configurarse para ofrecer garantías similares a través de niveles de consistencia específicos. En sistemas web, las sesiones de usuario a menudo aprovechan RYOW: cuando un usuario actualiza su perfil, la siguiente página que carga debe mostrar el perfil actualizado, incluso si esa actualización aún no se ha replicado completamente en todos los nodos del backend. Esto se logra a menudo dirigiendo las lecturas del cliente a la réplica donde se realizó la escritura, o utilizando tokens de versión para asegurar que la réplica consultada tenga al menos la versión de los datos que el cliente acaba de escribir.

Para un arquitecto, RYOW es un trade-off valioso que equilibra la disponibilidad y el rendimiento con una experiencia de usuario coherente. Permite construir sistemas altamente disponibles y escalables sin sacrificar completamente la coherencia desde la perspectiva del usuario individual. La implementación de RYOW puede añadir complejidad, requiriendo mecanismos para rastrear la última escritura de un cliente (por ejemplo, a través de tokens de versión, sellos de tiempo o dirigiendo lecturas a réplicas específicas). La decisión de adoptar RYOW implica evaluar si la consistencia global inmediata es un requisito estricto o si una consistencia eventual con garantías de RYOW es suficiente. Es una elección común para aplicaciones donde la experiencia del usuario es primordial y la inconsistencia temporal entre diferentes usuarios es aceptable, pero la inconsistencia percibida por el mismo usuario es inaceptable.