Query Fingerprint Tracing for Database Execution Diagnosis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In complex database environments, reproducing query execution issues is challenging due to data dependency and privacy concerns, leading to inefficient troubleshooting and resource-intensive brute force data generation or tedious manual parsing, which hinders development and support teams in isolating and fixing query execution problems.
Innovation Solution
The implementation of query fingerprint tracing generates alternative input data based on trace data, allowing for the reproduction of query execution behavior without accessing the original data values, by identifying and compressing evaluation states of query predicates and join filters, thereby reducing the data needed for simulation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If brute force data generation is used to reproduce query execution issues, then complete reproduction of execution states is achieved, but data storage requirements and processing time increase significantly
Solution Approach 1:
The patent extracts only the essential evaluation state information from complete query execution data. Instead of storing all original data values, it captures condensed representations (evaluation states) that preserve the critical information needed for reproduction while discarding redundant details, thereby reducing data volume while maintaining reproduction accuracy
Solution Approach 2:
The patent creates simplified copies of the original execution data in the form of evaluation states. These copies capture the essential behavioral characteristics of query execution without requiring the full original data set, enabling accurate reproduction with reduced storage requirements
2Loss of information
If manual parsing of trace data is used to identify evaluation states, then data privacy is maintained, but troubleshooting time and complexity increase
Solution Approach 1:
The patent performs preliminary automated processing of trace data to identify and extract evaluation states before the troubleshooting process begins. This pre-processing step automatically structures the data in a usable format, eliminating the need for manual parsing while preserving data privacy, thereby reducing troubleshooting time without sacrificing security
Solution Approach 2:
The system performs self-service by automatically processing and structuring its own trace data to extract evaluation states. This automated self-processing eliminates the need for manual intervention, reducing troubleshooting time while maintaining data privacy through programmatic handling rather than human exposure to sensitive data
3Loss of information
If all query execution data is stored for analysis, then complete diagnostic information is available, but storage resources and processing overhead increase
Solution Approach 1:
The patent extracts only the critical evaluation state information from complete query execution data. By identifying and storing only the essential diagnostic elements (evaluation states) rather than all raw execution data, it maintains complete diagnostic information while significantly reducing storage requirements and processing overhead
Solution Approach 2:
The patent applies different levels of data retention based on local requirements. Critical evaluation states that are essential for diagnosis are preserved in detail, while non-essential execution data is condensed or discarded. This selective data retention maintains diagnostic completeness for important information while reducing overall resource consumption
Data Source
AI summary
Trace data is received for a first execution of a first query on first tables having first data values. Second data values are generated for second tables from the trace data and without accessing the first data values. The second data values are configured to reproduce, by a second execution of a second query, the evaluation states from the first execution. Evaluation states from the first execution are reproduced without accessing the first data values by performing the second execution of the second query on the second data values. The first execution evaluates only a first subset of the first data values and the generating the second data values from the trace data generates second data values corresponding to the first subset. The second execution only evaluates ones of the second data values that correspond to data values of the first subset.


