Bε-tree leaf sorting and non-leaf bloom filters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Append-only Bε-trees experience reduced query efficiency and increased overhead due to unsorted data in nodes, and the large size of bloom filters required for optimization, which can exceed available memory space.

Innovation Solution

The new Bε-tree stores data in leaves in a sorted manner and only creates bloom filters for non-leaf nodes, eliminating filters for leaves and reducing memory usage while maintaining sorted data in leaves for efficient querying.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If bloom filters are created for all nodes including leaves in append-only Bε-trees, then query efficiency is improved, but memory space consumption increases significantly

Engineering Contradiction:
Improvequery efficiencyVSAvoidmemory space
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the Bε-tree into two distinct types of nodes: leaf nodes and non-leaf nodes. Bloom filters are applied selectively only to non-leaf nodes, while leaf nodes store data in sorted order without filters. This segmentation allows the system to optimize query operations at different levels of the tree with appropriate data structures, reducing overall memory consumption while maintaining query efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different optimization strategies to different parts of the Bε-tree based on their specific needs. Non-leaf nodes use bloom filters for efficient key existence checking before descent, while leaf nodes use sorted storage for efficient final key searches. This local quality approach ensures each node type has the optimal structure for its function, balancing memory usage and query performance.

Inventive Principle:
Principle #3Local quality

2Loss of energy

If data in leaf nodes is stored in unsorted manner to simplify writes, then write amplification is reduced, but query operations become less efficient

Engineering Contradiction:
Improvewrite amplificationVSAvoidquery efficiency
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent segments the write and query operations into distinct phases. During writes, data is appended to leaf nodes in unsorted order to minimize write amplification. During queries, the sorted structure of leaf nodes enables efficient key searches without requiring full tree traversal or re-sorting operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary sorting of data in leaf nodes during the initial build phase or during periodic maintenance operations. This preliminary action ensures that leaf nodes maintain sorted order for efficient queries, while allowing flexible append-only writes during normal operation without requiring continuous re-sorting.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10983909B2Trading off cache space and write amplification for B<sup>ε</sup>-trees
Publication Date: 2021.04.20 VMWARE INC
  • US10983909B2 patent drawing
  • US10983909B2 patent drawing
  • US10983909B2 patent drawing

AI summary

Certain aspects provide systems and methods for performing an operation on a Bε-tree. A method comprises writing a message associated with the operation to a first slot in a first buffer of a first non-leaf node of the Bε-tree in an append-only manner, wherein a first filter associated with the first slot is used for query operations associated with the first slot. The method further comprises determining that the first buffer is full and, upon determining to flush the message to a non-leaf child node, flushing the message in an append-only manner to a second slot in a second buffer of the non-leaf child node, wherein a second filter associated with the second slot is used for query operations associated with the second slot. The method further comprises, upon determining to flush the message to a leaf node, flushing the message to the leaf node in a sorted manner.