Questions tagged [lsm-tree]

In computer science, the Log-Structured Merge-Tree (or LSM-tree) is a data structure with performance characteristics that make it attractive for providing indexed access to files with high insert volume, such as transactional log data.

In computer science, the Log-Structured Merge-Tree (or LSM-tree) is a data structure with performance characteristics that make it attractive for providing indexed access to files with high insert volume, such as transactional log data.

LSM-trees maintain data in two separate structures, each of which is optimized for its respective underlying storage medium; data is synchronized between the two structures efficiently, in batches.

The LSM-tree is a hybrid data structure. It is composed of two tree-like structures, known as the C0 and C1 components. C0 is smaller and entirely resident in memory, whereas C1 is resident on disk. New records are inserted into the memory-resident C0 component. If the insertion causes the C0 component to exceed a certain size threshold, a contiguous segment of entries is removed from C0 and merged into C1 on disk.

The performance characteristics of LSM-trees stem for the fact that each component is tuned to the characteristics of its underlying storage medium, and that data is efficiently migrated across media in rolling batches, using an algorithm reminiscent of merge sort.

LSM-trees are used in database managements systems such as LevelDB, SQLite4 and Apache Cassandra.

Source:http://en.wikipedia.org/wiki/Log-structured_merge-tree

17 questions
1
vote
1 answer

Using LSM tree like LevelDB as a storage Engine for RDBMS

LSM Tree has been found successful use in many no-sql engines, its data are sorted by keys not like hashing tables thus enabling many potential use beyond a kv store. For example, a time series database (TSDB) may be a good fit using level db as its…
bugs king
  • 566
  • 5
  • 13
-1
votes
1 answer

Understanding the Open Policy Agent (OPA) Disk-Storage implementation's use of .sst and .vlog files (BadgerDB)

I'm working through some OPA examples like this one that leverage disk storage. I've removed the temporary directory in favor of a permanent one (like we'd have in a production system) and I'm noticing some strange behavior. If I first write the…
muZero
  • 948
  • 9
  • 22
1
2