LSM Tree Merge Priority via Key Range Overlap

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern database systems using log-structured merge-trees face inefficiencies in merge operations due to high write amplification and inability to quantify key range overlap, leading to undesirable resource allocation in merging database records across levels.

Innovation Solution

Implementing techniques to quantify key range overlap and assign priority to merge operations based on overlap, allowing for multi-level merge operations and efficient key range lookups using trie data structures to optimize record movement across levels in the LSM tree.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If merge operations are performed frequently to maintain LSM tree levels, then data organization is improved, but write amplification increases

Engineering Contradiction:
Improvedata organizationVSAvoidwrite amplification
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The system performs preliminary key range overlap assessment using trie data structures before executing merge operations. By pre-evaluating whether files actually contain overlapping keys that require merging, the system avoids performing unnecessary merge operations, thereby reducing write amplification while maintaining proper data organization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where the results of key range overlap queries using trie structures inform subsequent merge operation decisions. This feedback loop allows the system to dynamically adjust merge operations based on actual key range overlap measurements, optimizing the balance between data organization and write amplification.

Inventive Principle:
Principle #23Feedback

2Device complexity

If merge operations are performed without quantifying key range overlap, then simplicity is maintained, but resource allocation becomes inefficient

Engineering Contradiction:
Improvemerge operation simplicityVSAvoidresource allocation efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system introduces trie data structures as an intermediary mechanism to efficiently quantify key range overlap between files. This intermediary structure enables accurate measurement of overlap without significantly complicating the merge operation logic, as the trie structure handles the complex key range analysis while the merge operation itself remains relatively simple.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If all merge operations are executed, then complete data consolidation is achieved, but unnecessary operations waste resources

Engineering Contradiction:
Improvedata consolidationVSAvoidresource waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

Instead of executing all potential merge operations, the system performs only partial merges based on quantified key range overlap. By using trie data structures to identify and execute only those merges where actual key overlap exists, the system achieves necessary data consolidation while avoiding the resource waste of performing excessive or unnecessary merge operations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12001409B2Merges using key range data structures
Publication Date: 2024.06.04 SALESFORCE INC
  • US12001409B2 patent drawing
  • US12001409B2 patent drawing
  • US12001409B2 patent drawing

AI summary

Techniques are disclosed relating to merge operations for multi-level data structures, such as log-structured merge-trees (LSM trees). A computer system may store, in a database, a plurality of files as part of an LSM tree and a plurality of database key structures. A given one of the plurality of database key structures may indicate, for a corresponding one of the plurality of files, a set of key ranges derived from database records that are included in the corresponding file. The computer system may determine, using ones of the plurality of database key structures, a key range overlap that is indicative of an extent of overlap of key ranges from a set of the plurality of files with respect to a particular key range. Based on the determined key range overlap, the computer system may assign a priority level to a merge operation that involves the set of files.