I have read the LSM Tree paper, but still have some parts that don't understand. If cache tree needs to merge, how do we determine which multi page block in main tree and which part in cache tree to merge? since keys in main tree will overlap if we do not choose carefully? Is it ok that we keep two pointers in cache tree and main tree to help the merge?
Also, do you have some blogs or articles that explain LSM Tree in detail?