tag:blogger.com,1999:blog-9149523927864751087.post8185319202650707437..comments2024-03-26T09:43:01.052-07:00Comments on Small Datum: Jungle - LSM plus copy-on-write B-TreeMark Callaghanhttp://www.blogger.com/profile/09590445221922043181noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-9149523927864751087.post-51226300387534134002019-11-08T23:04:47.659-08:002019-11-08T23:04:47.659-08:00Thanks Mark for the review of the paper.
A few th...Thanks Mark for the review of the paper.<br /><br />A few things I want to add/correct:<br /><br />* There are multiple CoW B-trees (separate "index+log"s) per level, partitioned by range. Similar to managing SSTables.<br /><br />* A CoW B-tree in here is an index+log, but logs are locally sorted in each "batch", which is the unit of append. Hence, a batch == a sorted run, and a CoW B-tree == an index for multiple batches (sorted runs). <br /><br />* Jungle is more like an LSM with tiered compaction. Each CoW B-tree works as an index among (tiered) sorted runs in the same range group, in a level. Log parts of CoW B-trees already existing in level N+1 will not be rewritten by an inter-level compaction from level N. <br /><br />* "One leaf page update per one key update" is obviously the worst case of CoW B-tree. But as you mentioned, an inter-level merge (between L_n and L_{n+1}) writes many KV pairs in batch, so per-level write-amp is close to 1 in real workloads.<br />Jung-Sang Ahnhttps://www.blogger.com/profile/03706055732593589406noreply@blogger.com