- LSM-tree
- A disk-based index composed of two or more tree-like components of increasing size, C0 through CK, where C0 is memory resident and all others are disk resident, with entries migrating outward through rolling merges.
- C0 component
- The memory-resident smallest component, which absorbs every insert at zero I/O cost. It need not be a B-tree since it never sits on disk; the paper suggests a (2-3) tree or an AVL tree.
- C1 component
- The disk-resident larger component. It has a B-tree-like directory, but its nodes are 100 percent full and node sequences below the root are packed into contiguous multi-page blocks for efficient arm use.
- Rolling merge
- The continuous background process in which a conceptual cursor circulates through matching key ranges of two adjacent components in quantized merge steps, pushing entries outward and wrapping back to the smallest key when it reaches the largest.
- Multi-page block
- A contiguous run of page-sized nodes, envisioned at about 256 KBytes, read or written as a single unit so that seek time and rotational latency are amortized over roughly 64 pages.
- Emptying block and filling block
- The pair of buffers straddling the merge cursor at each level: the emptying block holds old nodes the cursor has not yet reached, the filling block accumulates merged output until it is full enough to be written to a fresh disk position.
- Batch-merge parameter M
- The average number of C0 entries merged into each single-page C1 leaf node during the rolling merge, equal to (Sp/Se) times S0/(S0+S1). It is the batching half of the LSM-tree's cost advantage over a B-tree.
- Data temperature (H/S)
- Page accesses per second per megabyte of stored data. Below the freezing point Tf = COSTd/COSTP data is capacity limited; above the boiling point Tb = COSTm/COSTP it should be memory resident; the LSM-tree works by lowering an index's effective temperature.
- Continuum Structure
- The paper's name for any access method that immediately places a newly inserted entry in its ultimate collation order among all existing entries. B-trees, SB-trees, Bounded Disorder files and extendible hashing all qualify, and all therefore need at least two I/Os per insert.