Database Query Optimization Using Lineage Bit Sets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multi-query optimization in database systems requires extensive computational resources as changed data must be compared against all predicate indices, even if the data changes affect only one column, leading to inefficient query evaluation.

Innovation Solution

The use of a lineage bit set associated with each row in the database table to indicate the binary predicate state, combined with a dependency bit set to efficiently apply queries, allowing only affected data columns to be reconciled during continuous query evaluation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional multi-query optimization is used with predicate indices, then query evaluation can be performed efficiently, but changed data must be compared against all predicate indices even when only one column is affected, leading to excessive computational resource consumption

Engineering Contradiction:
Improvequery evaluation efficiencyVSAvoidcomputational resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the predicate evaluation process by introducing lineage bit sets that track which predicates are affected by each column. When data changes occur, only the predicates associated with the changed column are re-evaluated, rather than all predicates in the predicate index. This segmentation is achieved by maintaining a mapping between columns and their affected predicates through bit set representations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by pre-computing and storing lineage information that identifies which predicates depend on which columns. This lineage bit set is maintained in advance so that when data changes occur, the system can immediately identify and re-evaluate only the affected predicates without scanning the entire predicate index, thus reducing computational overhead.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all predicates are re-evaluated for every data change, then query results remain accurate, but the processing time increases significantly

Engineering Contradiction:
Improvequery result accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the set of all predicates into subsets based on their dependency on specific columns. Each row in the database table has an associated lineage bit set that indicates which predicates are affected by changes to that row's columns. This segmentation allows the system to maintain query result accuracy by re-evaluating only the relevant predicate subsets rather than all predicates, thereby reducing processing time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a feedback mechanism where the lineage bit sets provide information about which predicates need re-evaluation based on data changes. This feedback loop allows the system to dynamically adjust the re-evaluation scope, ensuring accuracy for affected predicates while avoiding unnecessary re-evaluation of unaffected predicates, thus optimizing processing time.

Inventive Principle:
Principle #23Feedback

3Productivity

If a predicate index is formed with all queries grouped by common predicates, then query processing can be optimized, but the complexity of managing and updating the predicate index increases

Engineering Contradiction:
Improvequery processing speedVSAvoidpredicate index management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent adds another dimension to the predicate index structure by introducing lineage bit sets that provide a binary representation of predicate-column relationships. This additional dimension allows the system to efficiently manage and update the predicate index by tracking dependencies through bit manipulations rather than complex structural modifications, thereby reducing management complexity while maintaining query processing speed.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Stability of the object's composition

If data changes are propagated to all predicate indices, then consistency is maintained, but computational resources are wasted on unrelated queries

Engineering Contradiction:
Improvedata consistencyVSAvoidcomputational resource waste
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The patent segments the predicate index updates by using lineage bit sets to identify which predicates are actually affected by data changes. Instead of propagating changes to all predicate indices, the system updates only those predicates whose lineage bit set indicates dependency on the changed column. This selective update approach maintains data consistency while avoiding computational waste on unrelated queries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and isolates the affected predicates from the overall predicate index using lineage information. When data changes occur, the system extracts only the relevant predicates that need updating based on their lineage bit set, leaving the rest of the predicate index unchanged. This extraction approach maintains consistency for affected queries while eliminating unnecessary processing of unrelated queries.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7966315B2Multi-query optimization
Publication Date: 2011.06.21 VMWARE INC
  • US7966315B2 patent drawing
  • US7966315B2 patent drawing
  • US7966315B2 patent drawing

AI summary

A database query optimization method is provided for database queries that include predicates, the queries being directed to at least one database table having data in rows and columns. The method includes associating a lineage bit set with each row of the database table, the lineage bit set providing a binary predicate state indication whether each predicate is met or are not met by data in the row. A dependency bit set is established to provide a binary indication of the predicates that are included in each query. Queries are applied against the database table by a logical operation between the lineage bit set and the dependency bit set. A database query optimization data structure includes a lineage bit set associated with each row in the database table. The lineage bit set provides a binary predicate state indication whether each predicate is met or are not met by data in the row. The data structure further includes a dependency bit set that provides a binary indication of the predicates included in each query.