B-tree Compression for Column Store Database Memory Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Column-store databases face inefficiencies in memory usage due to the presence of numerous empty nodes in B-tree data structures, which impact query performance and memory consumption.

Innovation Solution

A method is introduced to compress B-tree data structures by traversing from the lowest level, identifying and removing empty nodes, and constructing higher levels based on the compressed lowest level, thereby reducing memory usage and improving query efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If B-tree data structures are used to organize dictionary data in column-store databases, then data access and query operations can be performed efficiently, but numerous empty nodes are created that waste memory space and degrade performance

Engineering Contradiction:
Improvequery operation efficiencyVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent extracts and removes empty nodes from the B-tree data structure. By identifying and eliminating nodes that contain no data, the system reduces memory consumption while preserving the functional integrity of the tree structure for efficient data access operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the structural parameters of the B-tree by compressing it into a more compact representation. This involves transforming the traditional B-tree with fixed node allocations into a compressed format that eliminates wasted space while maintaining the hierarchical organization necessary for efficient querying.

Inventive Principle:
Principle #35Parameter changes

2Ease of manufacture

If empty nodes are retained in B-tree structures to facilitate future insertions, then write operations can be performed without frequent reorganization, but read operations must traverse through empty nodes increasing processing time

Engineering Contradiction:
Improvewrite operation simplicityVSAvoidread operation time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent introduces a dynamic approach where the B-tree structure is compressed based on actual data density. The system dynamically determines when compression should occur and adjusts the tree structure accordingly, balancing between read efficiency (by removing empty nodes) and write flexibility (by allowing reorganization when needed).

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies partial compression by selectively removing empty nodes rather than completely reorganizing the entire tree structure. This partial action approach reduces read time by eliminating traversals through empty nodes while maintaining sufficient write operation capability without requiring full reorganization.

Inventive Principle:
Principle #16Partial or excessive action

3Quantity of substance

If traditional B-tree compression methods are used, then some memory space is saved, but the compression ratio is insufficient and the process requires excessive processing resources

Engineering Contradiction:
Improvememory efficiencyVSAvoidprocessing resource requirements
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements a self-service compression mechanism that automatically identifies and removes empty nodes without requiring extensive external processing resources. The system serves itself by using the existing tree structure information to determine compression opportunities, reducing the need for complex external compression algorithms and their associated resource requirements.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11520763B2Automated optimization for in-memory data structures of column store databases
Publication Date: 2022.12.06 SAP SE
  • US11520763B2 patent drawing
  • US11520763B2 patent drawing
  • US11520763B2 patent drawing

AI summary

There is provided a method for compressing a first tree data structure. The method includes determining, by a processor, to compress a first tree data structure associated with a dictionary of a database management system. The method further includes compressing the first tree data structure to generate a compressed tree data structure. The compressing includes traversing, by the processor and in response to the determining, the first tree data structure on a lowest level. The compressing further includes identifying, by the processor and in response to traversing, empty nodes on the lowest level. The compressing further includes removing the identified empty nodes to compress the lowest level. The compressing further includes constructing, in response to the removing, a second level of the compressed tree data structure based on the compressed lowest level, the second level higher in the compressed tree data structure than the compressed lowest level.