复制稳定 sortKey 的概念

Concept of a replication-stable sortKey

我正在寻找 material 报道这个想法:

给定一个类似列表的数据结构(例如数据库 table),应该引入 sortKey 属性(列)

  1. 反映所需的排序顺序 (ORDER BY sortKey)
  2. 在列表中是唯一的
  3. 可以在(排序的)列表中的任何位置插入内容
  4. 免疫table

要求 1-3 可以通过整数 sortKey 实现,其中每次插入时,所有元素都可能被分配一个新的 sortKey。

要求 1-4 可以通过 tree'ish sortKey 来实现,例如十进制类型范围 (0.0, 1.0);每个插入都会读取其前身和后继的 sortKey 并使用 sortKey(newItem) = ( sortKey(left) + sortKey(right) ) / 2

这个 problem/solution 是否有通用术语,我可以查找或者有人可以指点我文学作品。

谢谢!

并没有真正满足所有这些要求的好的解决方案。 (3) + (4) 要求密钥长度可变,对手总能找到使密钥长度与插入的密钥数量成正比的插入序列。

问题称为 "online list labeling problem" 或 "order maintenance problem",google 搜索这些术语会发现各种折衷方案,这些折衷方案可能对您有用,也可能对您没有用。

https://en.wikipedia.org/wiki/Order-maintenance_problem