Buffered B+ Tree Hybrid Nodes Reduce Write IO

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional data management systems, primarily using B+ trees, are inefficient in handling data access patterns where data is written once and seldom accessed, leading to suboptimal write performance and resource utilization due to frequent write IO operations and high lock contention.

Innovation Solution

The Buffered B+ Tree data structure addresses this by introducing hybrid nodes with buffers to store pending operations, reducing write IO operations through in-memory cache management and minimizing lock contention by only updating nodes in memory, thereby improving write performance and resource efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional B+ trees are used for data management, then data can be stored and accessed, but write performance is poor due to frequent write IO operations

Engineering Contradiction:
Improvewrite performanceVSAvoidwrite IO operations
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent introduces a buffer layer that temporarily stores write operations before they are flushed to disk. This preliminary action allows multiple write operations to be accumulated and processed together, reducing the frequency of actual write IO operations to the storage device while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent inserts a buffer layer as an intermediary between the B+ tree structure and the underlying storage device. This buffer acts as a mediator that decouples the write operations from direct disk I/O, allowing writes to be deferred and batched, thereby reducing the total number of write IO operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If traditional B+ trees are used for data management, then data can be stored and accessed, but resource utilization is inefficient due to high lock contention

Engineering Contradiction:
Improveresource efficiencyVSAvoidlock contention
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the B+ tree into multiple independent regions or partitions, each with its own buffer. This segmentation allows concurrent write operations to proceed in parallel across different segments without requiring global locks, thereby reducing lock contention and improving resource efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The buffer layer serves as an intermediary that absorbs and manages write operations without requiring immediate access to the underlying B+ tree structure. This mediation reduces the need for locks on the tree structure itself, thereby reducing lock contention and improving concurrency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11379431B2Write optimization in transactional data management systems
Publication Date: 2022.07.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11379431B2 patent drawing
  • US11379431B2 patent drawing
  • US11379431B2 patent drawing

AI summary

A system for write optimization in transactional data management systems is described. The system stores a tree data structure that comprises a root, a plurality of internal nodes, and a plurality of leaf nodes. Each internal node comprises a pivot key and a child pointer. Each leaf node stores key-value pairs sorted by a corresponding key. The system forms a plurality of hybrid nodes. The hybrid nodes comprise a layer of internal nodes that are immediate parents of the plurality of leaf nodes. A buffer is formed only for each internal node of the plurality of hybrid nodes. The buffer is used to store a message that encodes an operation. The message is to be applied to the corresponding leaf nodes of the plurality of hybrid nodes.