Operational Transformation (OT) es un paradigma y un conjunto de algoritmos para la sincronización de datos compartidos y concurrentemente editados, especialmente en sistemas de edición colaborativa en tiempo real. Su propósito fundamental es transformar las operaciones generadas por un usuario para que puedan aplicarse correctamente sobre un estado del documento que ha sido modificado por las operaciones de otros usuarios. Esto implica ajustar las operaciones (por ejemplo, inserciones o eliminaciones de texto) para que sus índices o efectos se mantengan válidos y consistentes a pesar de las intervenciones concurrentes, evitando conflictos y preservando la intención de cada operación. El algoritmo maneja la causalidad y el orden de las operaciones para asegurar que todos los clientes converjan al mismo estado final.

La implementación de Operational Transformation se ha visto en numerosos sistemas de edición colaborativa. Ejemplos prominentes incluyen Google Docs, que fue uno de los pioneros en aplicar OT a gran escala para la edición de documentos de texto. Apache Wave (anteriormente Google Wave) también utilizó OT extensivamente para su modelo de datos colaborativo. Otros sistemas de edición de texto y código colaborativo, como Etherpad, han implementado variantes de OT. Aunque más complejo de implementar que alternativas como Conflict-free Replicated Data Types (CRDTs) para ciertos casos, OT ha demostrado ser robusto y eficiente para la edición de texto en tiempo real, donde la granularidad de las operaciones y la necesidad de una convergencia precisa son críticas.

Para un arquitecto de sistemas, Operational Transformation es crucial al diseñar plataformas que requieren edición colaborativa en tiempo real de datos complejos, como documentos, código o diagramas. La elección de OT implica una mayor complejidad en la implementación y mantenimiento del algoritmo, ya que requiere un conocimiento profundo de las transformaciones de operaciones y la gestión del estado concurrente. Sin embargo, ofrece un control granular sobre cómo se resuelven los conflictos y puede ser más eficiente en términos de ancho de banda para ciertos tipos de operaciones en comparación con CRDTs, especialmente cuando el historial de operaciones es relevante. La decisión de adoptar OT frente a CRDTs u otros enfoques de consistencia depende de factores como la naturaleza de los datos, la frecuencia de las operaciones, la tolerancia a la latencia, la complejidad de desarrollo deseada y los requisitos específicos de convergencia y resolución de conflictos del sistema.