Bε-tree Range Lookup Using Approximate Membership Query

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Bε-trees face performance issues due to increased memory and disk bandwidth requirements as the buffer size grows, impacting querying efficiency in file systems and databases.

Innovation Solution

The implementation of an approximate membership query data structure (AMQ) within Bε-trees, which approximates the membership of key/value pairs in a buffer, allowing for efficient range lookup operations by using Bloom filters, quotient filters, or cuckoo filters, and proactive node splitting or merging techniques to maintain performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the buffer size at each non-leaf node is increased to store more pending inserts, then the write optimization capability is improved, but the memory and disk bandwidth requirements increase proportionally, worsening the querying performance

Engineering Contradiction:
Improvewrite optimization capabilityVSAvoidmemory and disk bandwidth requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the buffer content into two distinct components: (1) a compact approximate membership query (AMQ) data structure that occupies minimal space, and (2) the actual buffer contents stored separately. This segmentation allows the AMQ to be loaded into memory efficiently while the full buffer remains on disk, resolving the contradiction between maintaining write optimization buffers and reducing memory/disk bandwidth requirements during queries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The AMQ data structure serves as an intermediary between the query operation and the full buffer. Instead of directly accessing the entire buffer during range queries, the system first queries the compact AMQ to identify relevant key ranges, then selectively accesses only the necessary portions of the buffer. This intermediary mechanism enables write optimization while minimizing the memory and bandwidth overhead during read operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the buffer size increases to accommodate more pending inserts, then the write throughput is improved, but the time required to load the buffer into working memory increases, worsening the query response time

Engineering Contradiction:
Improvewrite throughputVSAvoidquery response time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the buffer verification process into two stages: (1) rapid filtering using the compact AMQ data structure to identify candidate key ranges, and (2) selective verification of only those candidates against the full buffer. This segmentation dramatically reduces the time required to process range queries while maintaining write throughput, as the AMQ can be queried without loading the entire buffer into memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of loading or verifying the entire buffer during every range query, the system performs partial action by using the AMQ to identify and verify only the relevant key ranges. This partial verification approach maintains query accuracy while significantly reducing the time and resources required compared to full buffer verification.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If the buffer is kept large to maintain write-optimized operations, then the insert capacity is improved, but the complexity of determining whether key/value pairs are resident in the buffer increases, worsening the query complexity

Engineering Contradiction:
Improveinsert capacityVSAvoidquery operation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The AMQ data structure serves as an intermediary that simplifies the query operation. Instead of directly searching the large buffer for key/value pairs, the system first queries the compact AMQ to determine which key ranges may be present, then performs simplified verification only on those ranges. This intermediary approach maintains high insert capacity while reducing query complexity from O(n) buffer scanning to O(log n) AMQ querying plus minimal buffer verification.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11507553B2Range lookup operations for B<sup>ε</sup>-trees using update messages
Publication Date: 2022.11.22 VMWARE INC
  • US11507553B2 patent drawing
  • US11507553B2 patent drawing
  • US11507553B2 patent drawing

AI summary

Exemplary methods, apparatuses, and systems include a file system process inserting a first key/value pair and a second key/value pair into a first tree. The second key is a duplicate of the first key and the value of the second key/value pair is an operation changing the value. In response to a request for a range of key/value pairs, the process reads the second key/value pair and inserts it in a second tree. The process reads the first pair and determines, while inserting the first pair in the second tree, that the second key is a duplicate of the first key. The file system process determines an updated value of the first value by applying the operation in the second value to first value. The file system operation updates the second key/value pair in the second tree with the updated value and returns the requested range of key/value pairs.