  Recently, the Log-Structured Merge-tree (LSM-tree) has been widely adopted
for use in the storage layer of modern NoSQL systems. Because of this, there
have been a large number of research efforts, from both the database community
and the operating systems community, that try to improve various aspects of
LSM-trees. In this paper, we provide a survey of recent research efforts on
LSM-trees so that readers can learn the state-of-the-art in LSM-based storage
techniques. We provide a general taxonomy to classify the literature of
LSM-trees, survey the efforts in detail, and discuss their strengths and
trade-offs. We further survey several representative LSM-based open-source
NoSQL systems and discuss some potential future research directions resulting
from the survey.
