B-tree Compression for Column Store Database Memory Efficiency
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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).
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.
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
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.
Data Source
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.


