A brief introduction to LSM trees

Log-structured merge (LSM) trees are widely used in key-value stores and as the storage layer of database systems. There is a rich tradeoff space in LSM tree designs which I have been reading recently. Before discussing any particular design tradeoffs (in the coming posts), I am starting with a brief introduction of the LSM tree design. Structure A LSM tree stores key-value pairs. The storage is…