一篇介绍Prolly树这一数据结构的文章
http://t.cn/A6DOqiVD
文章从这个数据结构被多次独立发明的角度来做了介绍.
🌟2015年:Noms发明Prolly树
应用场景:用于构建Dolt,世界上第一个版本控制的关系型数据库
特性:Prolly树具有可搜索性、历史独立性、自平衡性、结构共享、高效差异计算和高效修改等特性
技术基础:基于内容定义的分块(Content-Defined Chunking)、滚动哈希函数(rolling hash function)和Merkle树
🌟2019年:法国Inria发明Merkle搜索树(即Prolly树)
应用场景:设计了一种冲突自由的复制数据类型(CRDT),用于开放网络中的键值映射
技术特点:与Prolly树相同,但称为“Merkle搜索树”,实现方式略有不同,通过哈希值的前导零数量确定树的分层
🌟2020年:DePaul大学发明内容定义的Merkle树(即Prolly树)
应用场景:探索如何使用基于块的存储来压缩Docker镜像
技术特点:与Noms的设计几乎相同,被XetHub用于构建Git插件,以替代Git LFS
改进:XetHub采用了类似DoltHub的改进,如使用多个滚动哈希函数和内容感知哈希
🌟2009年:Bup发明Prolly树(未命名)
发明者:Avery Pennarun
应用场景:用于在Git仓库中存储增量文件系统备份
技术特点:通过递归应用滚动哈希分块器将大文件分割成Git对象树,是Prolly树的早期实现,但未命名
发布于 山东
