Database Table Index Bitmaps Specificity Filtering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database index technologies are inefficient in determining the most specific database table row that matches input parameters, often requiring extensive search operations and consuming significant storage space, which can lead to performance issues and increased memory requirements.
Innovation Solution
A compact database table index structure utilizing an array of pointer tuples and bitmaps for each column, allowing for efficient memory access and binary search, which facilitates the determination of the most specific row by maintaining rows with wildcards and filtering out non-matching rows, while being optimized for processor cache storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If traditional database indexing methods are used to determine the most specific row, then the system can handle general query operations, but the memory requirements increase and response time deteriorates
Solution Approach 1:
The patent segments the index structure into multiple bitmaps (first bitmap, second bitmap, third bitmap) that partition the database rows into different specificity groups. Each bitmap tracks rows with specific wildcard patterns, allowing the system to quickly eliminate large portions of non-matching rows without storing complete index entries for all rows in memory.
Solution Approach 2:
The patent changes the representation parameter from storing complete index entries to using compact bitmaps that track row presence in different specificity groups. This parameter transformation reduces memory requirements while maintaining the ability to quickly determine the most specific matching row through bitmap operations.
2Measurement precision
If comprehensive indexing is implemented to ensure accurate determination of the most specific row, then query accuracy improves, but device complexity increases
Solution Approach 1:
The patent divides the indexing task into segments handled by different bitmaps: the first bitmap identifies rows with no wildcards, the second bitmap identifies rows with single wildcards, and the third bitmap identifies rows with multiple wildcards. This segmentation maintains query accuracy by systematically evaluating rows in order of specificity while keeping each individual bitmap simple.
Solution Approach 2:
Instead of building a complex index structure that directly represents all possible query patterns, the patent inverts the approach by using multiple simple bitmaps that collectively represent different levels of row specificity. The system processes these simple bitmap structures in reverse order of complexity to achieve accurate row selection.
3Reliability
If extensive search operations are performed to find the most specific matching row, then query completeness improves, but productivity decreases
Solution Approach 1:
The patent performs preliminary actions by pre-organizing rows into specificity groups using bitmaps before query execution. During query processing, the system first uses the first bitmap to identify rows with no wildcards, then the second bitmap for single wildcard rows, and finally the third bitmap for multiple wildcard rows. This preliminary organization ensures query completeness while dramatically improving processing speed by eliminating the need for exhaustive searches.
Solution Approach 2:
The patent enables skipping non-matching rows by using bitmap operations to quickly identify and jump over groups of rows that cannot possibly match the query criteria. The system rushes through the evaluation process by processing bitmap intersections rather than examining each row individually, maintaining completeness while enhancing productivity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An index for a database table is provided. The index includes an index structure for each column of the database table. Each index structure includes an array of pointer tuples for each value occurring in the column and a bitmap indicating cells without values. A first pointer of the tuple indicates a value and a second pointer indicates the row of the database table with the value. The index also indicates an order of specificity of the rows of the database table. The computer system processes a request by using the bitmaps of the index structures to maintain all rows of the database table without values and the pointer tuples to filter all rows of the database table which do not include the respective input value. The one row being highest in the order of specificity from the remaining rows is selected and returned.