据我所知,CouchDB的Btree实现实际上使用了Shadowing技术,每次更新都会产生新的root,以下摘录自 PDF(它看起来像实现了比传统阴影更好的算法). Shadowing means that to update an on-disk page, the entire p
Shadowing means that to update an
on-disk page, the entire page is read
into memory, modified, and later
written to disk at an alternate
location. When a page is shadowed its
location on disk changes, this creates
a need to update (and shadow) the
immediate ancestor of the page with
the new address. Shadowing propagates
up to the file system root.
couchdb如何尽可能实现获取所有叶子修订(因为通过压缩过程删除了一些修订)?沙发内部是否存储指向先前版本的指针?
谢谢
常
他说的是这样的:
“ID btree中的每个叶子[存储]包含指针的修订树
对文档的所有可用修订.检索旧版本(压缩前)
或者文档的冲突版本需要与检索完全相同的IO数量
现在的那个.“
如果我理解正确,阴影根本不用于隐藏旧的文档修订版,而是用于隐藏不再有意义的整个修订版树.