协同编辑器中一致性维护通用变换框架下 OT 与 CRDT 的真实差异
摘要
OT(Operational Transformation,操作变换)于 1980 年代末为支持实时协同编辑器而发明,现已发展成为当今可用协同编辑器的核心技术,并被主要工业产品所采用。用于协同编辑器的 CRDT(Commutative Replicated Data Type,交换复制数据类型)约于 2006 年首次提出,当时名为 WOOT(WithOut Operational Transformation)。后续的 CRDT 变体通常被标榜为“后 OT”技术,能够使协同编辑器中的并发操作天然可交换。在此基础上,CRDT 方案广泛宣称优于 OT 方案,并习惯性地将 OT 描绘为不正确、复杂且低效的技术。然而十余年过去,OT 仍是构建绝大多数协同编辑器的选择,而 CRDT 在可用协同编辑器中却鲜有出现。现实与 CRDT 所声称优势之间的矛盾,一直是协同编辑领域诸多困惑与争论的根源。难道绝大多数协同编辑器不幸选择了有缺陷且低劣的 OT,还是那些 CRDT 宣称实为虚假?协同编辑器中 OT 与 CRDT 的真实差异何在?现实世界中选择 OT 与 CRDT 的关键要素与深层原因是什么?为了实事求是,我们对具有代表性的 OT 与 CRDT 方案以及基于它们的可用协同编辑器进行了全面而批判性的审视。通过这项工作,我们对 OT 和 CRDT 有了重要发现,并揭示了在各方面驳斥 CRDT 对 OT 之宣称的事实与证据。我们在一共三篇文章中报告发现,本文为该系列的第一篇。我们希望本工作的发现有助于澄清围绕 OT 与 CRDT 的普遍误解与困惑,并推动面向真实世界应用的协同编辑技术进展。
引用
@article{arxiv.1905.01518,
title = {Real Differences between OT and CRDT under a General Transformation Framework for Consistency Maintenance in Co-Editors},
author = {Chengzheng Sun and David Sun and Agustina and Weiwei Cai},
journal= {arXiv preprint arXiv:1905.01518},
year = {2020}
}
备注
25 pages. This is the author's version of the revised and published article at PACMHCI, Vol.4. GROUP, Article 6, January 2020: https://doi.org/10.1145/3375186. arXiv admin note: substantial text overlap with arXiv:1810.02137, arXiv:1905.01302, arXiv:1905.01517