3 ms·
The best B-tree resource is SQLite3's documentation of its B-tree on-disk format.
by cryptonector 5y ago
The best B-tree resource is SQLite3's documentation of its B-tree on-disk format.
- jgwil2 5y agoThis one? https://www.sqlite.org/fileformat2.html#btree https://www.sqlite.org/fileformat2.html#btree
- jgwil2 5y agoInstead of downvoting could someone just provide the correct link?
- macintux 5y agoI've upvoted your question, and keep hoping someone will chime in. That certainly looks like the closest match.
- cryptonector 5y agoAlmost. This one: https://www.sqlite.org/fileformat2.html https://www.sqlite.org/fileformat2.html :)
- deleted 5y ago[deleted]
- emptybits 5y agoFantastic. Also a great, related, listen is the recent Corecursive Podcast with Richard Hipp as guest. He’s the man who created SQLite, with good technical stories to share. “The Untold Story of SQLite” https://corecursive.com/066-sqlite-with-richard-hipp/ https://corecursive.com/066-sqlite-with-richard-hipp/
- cryptonector 5y agoYes, I highly recommend that podcast.
- craigching 5y agoPostgres has great documentation for their concurrent btree algorithm based on the Lehman Yao paper: https://github.com/postgres/postgres/blob/master/src/backend/access/nbtree/README https://github.com/postgres/postgres/blob/master/src/backend...
- cryptonector 5y agoJust FYI, adding right-sibling pointers to a B-tree makes it impossible to implement a COW B-tree. Kinda like COW semantics makes it impossible to have doubly-linked lists. But if you're not going to COW, then right-sibling pointers are probably a good idea.