Column-Level Invalidation Bitmap for In-Memory Database Query Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face inefficiencies in querying data due to row-level invalidation, where it is not possible to determine which in-memory data items are not stale, leading to unnecessary retrieval from disk instead of volatile memory.

Innovation Solution

Implementing column-level invalidation information in addition to row-level information, using a column-bitmap to identify valid data items within an invalid row, allowing the database server to determine if an in-memory data item is not stale and enabling its use without reverting to disk retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If row-level invalidation is used to track stale data, then data correctness is ensured, but query efficiency deteriorates because entire rows must be reloaded from disk even when only some columns are stale

Engineering Contradiction:
Improvedata correctnessVSAvoidquery efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the invalidation tracking from row-level to column-level granularity. Instead of marking entire rows as invalid, the system maintains separate invalidation bitmaps for each column, allowing individual columns to be marked as stale independently. This enables the database to retrieve only the valid columns from the in-memory buffer rather than reloading entire rows from disk, thus resolving the contradiction between ensuring data correctness and maintaining query efficiency.

Inventive Principle:
Principle #1Segmentation

2Speed

If in-memory data is used to speed up queries, then access speed improves, but data staleness cannot be precisely determined with row-level tracking

Engineering Contradiction:
Improvedata access speedVSAvoidstale data identification accuracy
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The patent divides the invalidation information into column-specific segments through separate invalidation bitmaps. Each bitmap tracks the staleness status of its corresponding column independently, providing precise information about which columns are stale. This allows the system to confidently use in-memory data for non-stale columns while identifying exactly which columns need refresh, thereby maintaining both access speed and stale data identification accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements feedback mechanisms where column invalidation bitmaps continuously provide information about data staleness status. When columns are updated, the corresponding bitmap entries are set to indicate invalidation. This feedback enables the database server to make informed decisions about whether to use in-memory data or retrieve from disk, ensuring both speed and accuracy in staleness determination.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10268636B2Column level invalidation for in-memory database
Publication Date: 2019.04.23 ORACLE INT CORP
  • US10268636B2 patent drawing
  • US10268636B2 patent drawing
  • US10268636B2 patent drawing

AI summary

Techniques are provided for maintaining and using row-level and column-level invalidation information for a copy of data items stored in-memory via a row-bitmap and column-bitmap. The row-bitmap and column-bitmap can be used to determine whether a database query can be processed using in-memory data or not. The row-bitmap and column-bitmap can thus improve the frequency with which database queries can be processed using in-memory data.