Positional Delta Tree for Column-Store Database Update Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Column-store database systems face performance penalties due to the complexity and overhead of read/update merge operations, particularly with the use of log structured merge trees (LSMTs), which impact read performance and increase disk I/O and CPU overhead.

Innovation Solution

A positional delta tree data structure is implemented to manage updates and read operations, allowing for efficient pre-computation of read data merge locations and minimizing I/O operations, while maintaining read performance and reducing the impact of updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If log structured merge trees (LSMTs) are used to manage updates in column-store databases, then update operations can be performed, but read performance deteriorates due to the complexity and overhead of read/update merge operations

Engineering Contradiction:
Improveupdate operation capabilityVSAvoidread performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent divides the update management structure into separate B-tree indexes organized by column, rather than using a single LSMT structure. Each B-tree index handles updates for specific columns independently, allowing read operations to access data without merging complex update structures, thus maintaining read performance while enabling update operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces B-tree indexes as intermediary structures between the underlying data storage and the update operations. These B-tree indexes act as mediators that handle update operations efficiently while allowing read operations to proceed independently without the overhead of merge operations, resolving the conflict between update capability and read performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If LSMTs are used for update management, then updates can be tracked, but disk I/O operations increase due to the merge operation overhead

Engineering Contradiction:
Improveupdate trackingVSAvoiddisk I/O operations
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments update tracking into column-specific B-tree indexes rather than using a single LSMT structure. This segmentation allows updates to be tracked efficiently for each column independently, reducing the need for extensive merge operations and thereby reducing disk I/O operations while maintaining reliable update tracking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the structural parameters of the update management system from LSMT to B-tree indexes. This parameter change fundamentally alters how updates are tracked and managed, enabling efficient update tracking with significantly reduced disk I/O requirements by eliminating the need for frequent merge operations.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If LSMTs are used to manage updates, then update operations are supported, but CPU overhead increases due to merge operation complexity

Engineering Contradiction:
Improveupdate operation supportVSAvoidCPU overhead
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent segments the update management functionality into multiple independent B-tree indexes organized by column. This segmentation eliminates the need for complex merge operations that require significant CPU processing, while still providing full update operation support through the coordinated use of these segmented index structures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent substitutes the mechanical merge operation process inherent in LSMTs with a different mechanism based on B-tree index structures. This substitution replaces the CPU-intensive merge operations with more efficient B-tree based update handling, significantly reducing CPU overhead while maintaining update operation capability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Speed

If conventional B-tree storage with tuple position as key is used, then fast lookup by position is achieved, but update operations become complex due to row-id reassignment

Engineering Contradiction:
Improvelookup speedVSAvoidupdate operation complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the data storage and indexing by organizing B-tree indexes around columns rather than rows. This columnar segmentation allows fast lookup by position to be maintained through the B-tree structure while simplifying update operations, as updates can be applied to specific column segments without requiring complex row-id reassignment across the entire tuple.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11914568B2High-performance database engine implementing a positional delta tree update system
Publication Date: 2024.02.27 ACTIAN CORP
  • US11914568B2 patent drawing
  • US11914568B2 patent drawing
  • US11914568B2 patent drawing

AI summary

A computer system hosting a column-store database engine is responsive to database requests for the update and retrieval of data from within a stable data table and providing for the storage of database tuples within a column-store organized database structure. A positional delta tree data structure is implemented in the memory space of the database engine and is operatively coupled in an update data transfer path between a database engine interface and the stable data table. The positional delta tree data structure includes a differential data storage layer operative to store differential update data values in positionally defined relative reference to database tuples stored by the stable data table.