Hypercube Memory Cache Multi-Version Concurrency Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Query evaluation systems face challenges in managing large and complex hypercubes, particularly in ensuring data consistency and efficiency when dealing with increasing data volumes over time.
Innovation Solution
The system implements a multiversion concurrency control method that uses snapshotting of value objects to manage updates in hypercubes, storing snapshot chains with validity periods to ensure data consistency and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire hypercube is copied to ensure data consistency during updates, then data consistency is improved, but memory resource consumption increases substantially
Solution Approach 1:
The patent segments the hypercube data into individual versioned cells, where each cell maintains its own version history independently. This allows updates to be applied at the cell level rather than requiring full hypercube copies, reducing memory consumption while maintaining consistency for affected data portions.
Solution Approach 2:
The patent implements copy-on-write semantics where full copies are only made when necessary (when a cell is updated). Most reads operate on shared immutable versions, and copies are created incrementally only for modified cells, rather than copying the entire hypercube structure.
2Reliability
If version information is stored for each location in the hypercube, then data consistency across versions is improved, but device complexity increases
Solution Approach 1:
The patent merges the version metadata storage with the existing hypercube cell structure. Version information is integrated into the cell data structure itself rather than requiring separate external version stores, reducing overall system complexity while maintaining version tracking capabilities.
Solution Approach 2:
The versioned cell structure serves multiple functions simultaneously: it stores the actual data values, maintains version history, enables time-travel queries, and supports concurrency control. This multi-functionality reduces the need for separate specialized components.
Data Source
Figure 1
Figure 2
Figure 3A~3B
AI summary
A system, method, and device for managing updates to a hypercube is provided. The method includes (i) obtaining a hypercube comprising a plurality of locations, wherein a particular location has an anchor object that stores version information for the particular location, and the particular location comprises a first formula that is evaluated to return a value for the particular location, (ii) in response to receiving the request for the value, determining that the particular location comprises the first formula, (iii) in response to determining that the particular location comprises the first formula, evaluating the first formula to obtain a result, and (iv) storing the result for the particular location in association with the version information for the particular location.