Hacker News new | ask | show | jobs
by tmyklebu 529 days ago
There are theory papers on "buffer trees"---B-trees where each node is augmented with an O(B)-length array of pending updates and queries. I believe there were also some attempts at building SQL databases based on them. It sounds like you're reaching for the same trick.
2 comments

that's a hybrid compacting data structure: compacting within the btree node, normal btree topology otherwise.

And it works much better than pure compacting (i.e. the leveldb lineage), because you avoid lock contention at the root on multithreaded update workloads, and the compaction/resort is much lower overhead when it fits in l2.

incidentally, there's a filesystem that uses this technique.

> incidentally, there's a filesystem that uses this technique.

BetrFS?

Sounds like "fractal trees" and TokuDB.