#crdt #distributed-systems

因果长度

基于因果长度集的CRDT

1个不稳定版本

0.2.0 2021年3月20日

#1576 in 数据结构

MIT/Apache

43KB
1K SLoC

基于"基于因果长度的低成本集CRDT"的CRDT,结合可选标签。标签可以是满足[TagT]的任何类型。一个简单的整数、系统时间、lamport时间戳,甚至是来自"全球分布式数据库中的逻辑物理时钟和一致性快照"的混合逻辑时钟都可以使用。

本组CRDT的独特特点

  • 不需要预先共享的全局唯一标识符
  • 虽然可以使用时钟,但不是最后写入优先,也不需要
  • 更新可以无序或冗余地合并,因此看起来像是一个Delta CRDT

状态

  • 集合 - 相对稳定,直接基于论文
  • 映射 - 基于集合,但不在论文中。可以描述为最新版本获胜。新版本,测试不佳。
  • 寄存器 - 可以被视为单个集合成员(因此与论文相关联),集合或映射的增量,或者Option的CRDT等效。

依赖项

~140–380KB