Multi-dimensional Data Block Consistency for OLAP Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional OLAP systems are inefficient for interactive updating and 'what-if' scenario analysis due to their reliance on batch processing and the computational expense of updating multi-dimensional data sets, which limits their ability to support complex analytics and real-time changes.
Innovation Solution
The system employs a multi-dimensional data model with change logging and dependency checking, using cubes as calculation units and on-change applicators to efficiently manage updates and 'what-if' scenarios, allowing for parallel execution of multiple scenarios and efficient data recalculations based on the number of changes rather than the size of the data set.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If batch processing is used to update multi-dimensional data sets in OLAP systems, then data consistency is maintained, but the system cannot support interactive updating and real-time 'what-if' scenario analysis
Solution Approach 1:
The patent segments the multi-dimensional data set into independent blocks that can be updated individually. Each block represents a discrete unit of data that can be modified without requiring full recalculation of the entire data set, enabling interactive updating while maintaining consistency through block-level validation.
Solution Approach 2:
The system performs preliminary validation and dependency checking before applying updates to data blocks. This preliminary action ensures that changes maintain data consistency and satisfy constraints before being committed, allowing interactive updates without sacrificing reliability.
2Reliability
If all summary information is updated upon any data change in OLAP systems, then data consistency is maintained, but the computational cost becomes prohibitive for large data sets
Solution Approach 1:
The patent applies local quality by updating only the specific summary information that is directly affected by a data change, rather than recalculating all summaries. The system identifies and updates only the relevant blocks and their dependent aggregates, significantly reducing computational cost while maintaining consistency where needed.
Solution Approach 2:
The system performs partial updating by applying changes to only the necessary portions of the data set and summary information. Instead of exhaustive recalculation, it applies minimal necessary updates based on dependency analysis, reducing computational overhead while maintaining data integrity.
3Adaptability or versatility
If multiple users run complex 'what-if' scenarios simultaneously in OLAP systems, then analytical capability is enhanced, but maintaining data consistency and isolating changes becomes computationally expensive
Solution Approach 1:
The patent segments the data set into blocks that can be independently updated for different scenarios. Each user's 'what-if' scenario operates on isolated blocks, allowing parallel execution without conflicts. This segmentation enables multiple users to run complex scenarios simultaneously while maintaining change isolation through block-level management.
Data Source
Figure 1
Figure 2
AI summary
Methods and apparatus for updating a database using a multi-dimensional data model in which data corresponding to the database are organized in multi-dimensional data blocks. Each data block has summary information associated therewith corresponding to a current state of evolution of the associated data block. Dependency information is maintained in the data model which identifies data dependencies within and among the data blocks. A list of change entries identifies changes made to the data blocks and times at which the changes were made. A request to apply a change entry to a data block is received. The change entry is applied to the data block, including generating a dependency list of data blocks whose data depends directly or indirectly from the updated data block. The data blocks in the dependency list are processed in accordance with a dependency update algorithm to update the data blocks in the dependency list.