【问题标题】:Commutative (operational transform) diffs for databases数据库的交换(操作转换)差异
【发布时间】:2011-02-25 19:58:56
【问题描述】:

什么 Unix 程序在文本文件(或 INSERT/UPDATE/DELETEs for databases) 以这样的方式应用“差异”的顺序无关紧要,结果是相同的 不管顺序。

Etherpad 曾经做过这样的事情。

示例(对于给定的文档或数据库):

% Adam 做出改变 X,然后 Bob 做出改变 Y,然后 Adam 做出改变 另一个变化 Z。

% 但是由于网络延迟,Adam 看到了这个变化 顺序:XZY,而 Bob 按以下顺序查看它们:YXZ。

% 但是,编写代码/更改是为了使 XYZ 和 YXZ 产生 同样的结果。

注意:理想情况下,这可以在任何时候都不需要进行 X/Y/Z 反转 观点。

我已阅读Operational Transformation library? 但我不确定这是否真的符合我的要求。

【问题讨论】:

  • OT 肯定是您所追求的,尤其是为了获得您想要的“XYZ == YXZ”。我刚刚为您链接的问题添加了一个答案,这可能会有所帮助,尽管 Ceda 目前没有 *nix 端口。

标签: etherpad operational-transform


【解决方案1】:

Git(或任何智能版本控制系统)将提供此功能。

【讨论】:

  • 我没想到,但我认为你是对的。除了,在这种情况下,我们是逐个字符而不是逐行进行(并使用“diff”的优化版本来发送增量?)。好的,如果不将其存储为文本文件,我们将如何使用 SQL 数据库执行此操作?
猜你喜欢
  • 1970-01-01
  • 2010-10-09
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 2017-02-18
  • 1970-01-01
  • 2021-07-25
相关资源
最近更新 更多