Incremental Pre-computed Result Set Maintenance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Pre-computed result sets in business process applications may not provide accurate responses due to lack of updates with recent data, leading to operational inefficiencies and increased costs.
Innovation Solution
A computer-implemented method for maintaining a pre-computed result set by determining updates to objects in a data source, identifying associated identifiers, and computing an updated result set using these updates, which can include data insert, deletion, or update operations, allowing for incremental maintenance and merging delta changes with existing result sets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If pre-computed result sets are used to improve query response speed, then query performance is improved, but data accuracy deteriorates due to lack of updates with recent data
Solution Approach 1:
The system pre-computes result sets in advance to enable fast query responses, while simultaneously establishing update mechanisms that trigger recomputation when underlying data changes. This preliminary action with subsequent maintenance resolves the contradiction between speed and accuracy.
Solution Approach 2:
The system implements feedback mechanisms where data change events (inserts, updates, deletes) are detected and trigger updates to the pre-computed result sets. This feedback loop ensures that the cached results remain synchronized with the current data state, maintaining accuracy while preserving query performance.
2Reliability
If pre-computed result sets are updated frequently to maintain data accuracy, then data accuracy is improved, but computational overhead and operational costs increase
Solution Approach 1:
Instead of fully recomputing result sets on every data change, the system performs partial updates only on the affected portions of the pre-computed results. This selective updating approach maintains data accuracy while significantly reducing the computational overhead compared to complete recomputation.
Solution Approach 2:
The system changes the state parameter of pre-computed result sets from static to dynamically updateable, allowing them to reflect current data conditions. This enables the system to maintain accuracy by updating only when necessary, rather than continuously or never.
3Reliability
If pre-computed result sets are updated continuously to reflect all data changes, then data accuracy is improved, but system complexity and operational overhead increase
Solution Approach 1:
The system extracts and separates the update logic from the query logic, implementing independent update triggers that operate autonomously when data changes occur. This separation reduces system complexity by creating modular, independent components rather than tightly coupled update mechanisms.
Solution Approach 2:
The pre-computed result sets are automatically updated through event-driven triggers when underlying data changes, without requiring manual intervention or complex scheduling systems. This self-service mechanism maintains accuracy while minimizing operational overhead and system complexity.
Data Source
AI summary
A method, a system and a computer program product for maintaining a pre-computed result set are disclosed. A server coupled to a data source determines whether an object stored in the data source received an update. The server identifies at least one identifier associated with a pre-computed result set based on that determination. The pre-computed result set is computed based on the object. The server computes an updated pre-computed result set using the identifier by applying the received update to the pre-computed result set.


