Hypercube Cache Versioning With Anchor Pointers for Concurrent Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing query evaluation systems face challenges in efficiently managing large and complex hypercubes with changing data, leading to substantial memory resource consumption and scalability bottlenecks due to the need for data consistency during long-running processes.
Innovation Solution
Implementing a multi-version concurrency control system that snapshots and versions data at the value object level, using anchor objects and snapshot chains to ensure data consistency without blocking reads and writes, and efficiently managing memory usage through localized storage and cleanup operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire hypercube is copied to ensure data consistency during updates, then data consistency is maintained, but memory resource consumption increases substantially
Solution Approach 1:
The patent segments the hypercube data into individual versioned objects, where only the specific data objects being modified are copied to create new versions, rather than copying the entire hypercube. This segmentation allows processes to access consistent versions of data without requiring full hypercube copies, thereby maintaining data consistency while reducing memory consumption.
Solution Approach 2:
The patent implements selective copying by creating copies only of the specific data objects that need versioning, rather than copying the entire hypercube. Each data object maintains its own version history, allowing processes to access appropriate versions without requiring full dataset copies, thus reducing memory resource consumption while preserving data consistency.
2Reliability
If full copies of the hypercube are made for versioning, then data consistency is ensured, but the system complexity and overhead increase
Solution Approach 1:
The patent divides the versioning mechanism into individual data object level, where each object maintains its own version metadata and history. This segmentation simplifies the overall system by avoiding the complexity of managing full hypercube copies, as only specific objects are versioned and tracked independently.
Solution Approach 2:
The patent adds a version dimension to individual data objects rather than creating separate full hypercube copies for each version. This dimensional approach allows processes to access historical versions by navigating the version dimension of specific objects, reducing system complexity compared to managing multiple full hypercube instances.
3Quantity of substance
If the hypercube data is updated in place, then memory usage is efficient, but concurrent read processes may access inconsistent data
Solution Approach 1:
The patent creates new versioned copies of data objects before in-place updates occur, ensuring that existing processes continue to access the original consistent versions while new processes can access the updated versions. This preliminary versioning action allows efficient in-place updates without compromising data consistency for concurrent readers.
Solution Approach 2:
The patent introduces version metadata as an intermediary layer between the data objects and accessing processes. This metadata tracks version information and guides processes to the appropriate data versions, allowing in-place updates to proceed efficiently while maintaining data consistency through the intermediary version control mechanism.
4Reliability
If version information is stored centrally, then data consistency is maintained, but access speed and scalability decrease
Solution Approach 1:
The patent segments version information storage to be distributed across individual data objects rather than centralized. Each data object contains its own version metadata, allowing processes to access version information locally without centralized bottlenecks, thereby improving access speed while maintaining data consistency through decentralized version tracking.
Solution Approach 2:
The patent implements local version information storage within each data object, allowing processes to access version metadata locally without querying a central repository. This local quality approach improves access speed by eliminating centralized bottlenecks while maintaining data consistency through locally embedded version control information.
Data Source
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 associated anchor object that stores version information for the particular location, (ii) receiving a request to store an updated value for the particular location, and (iii) storing the updated value for the particular location of hypercube, the updated value being stored with associated version information stored in the anchor object for the particular location.


