Query Cache Differential Store Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face inefficiencies in handling changes to primary data, requiring recalculation or full search of primary stores when data changes, leading to increased computation and memory access cycles.

Innovation Solution

A method and apparatus that utilize a query store and a differential store, where the differential store stores pointers to changed data in the primary store, allowing for efficient update and retrieval of query results without recalculating affected results, with the option to partition and dynamically adjust storage based on data type and size.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data changes in the primary store are handled by recalculation or full search, then data consistency is maintained, but computation and memory access cycles increase

Engineering Contradiction:
Improvedata consistencyVSAvoidcomputation and memory access cycles
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the storage system into three distinct stores: primary store for original data, query store for pre-computed results, and differential store for change tracking. This segmentation allows independent optimization of each component - the differential store tracks only changes rather than storing complete data sets, reducing computation while maintaining consistency through targeted updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The differential store acts as an intermediary between the primary store and query store. Instead of directly comparing or recalculating all query results when primary data changes, the system uses the differential store to capture and propagate only the necessary changes, significantly reducing memory access cycles while ensuring query store consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If a cache is used to store query results, then access speed improves, but storage space is consumed

Engineering Contradiction:
Improveaccess timeVSAvoidstorage space
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential information needed for cache validation - storing in the differential store just the indicators of data changes rather than complete data copies. This extraction approach maintains fast access capability while minimizing storage space consumption by keeping the differential store compact.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Rather than storing complete copies of all primary store data in the cache (excessive action), the system stores only the differential information - partial data representing changes. This partial storage approach provides sufficient information for query validation while conserving storage resources.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If the differential store stores detailed change information, then update precision improves, but storage overhead increases

Engineering Contradiction:
Improvechange tracking precisionVSAvoidstorage overhead
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent creates simplified copies of change information in the differential store - storing pointers or indicators that reference primary store data rather than duplicating the actual data. This copying strategy maintains precise change tracking capability while dramatically reducing storage overhead by storing only metadata about changes rather than the changes themselves.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8856449B2Method and apparatus for data storage and access
Publication Date: 2014.10.07 WSOU INVESTMENTS LLC
  • US8856449B2 patent drawing
  • US8856449B2 patent drawing
  • US8856449B2 patent drawing

AI summary

A query cache stores queries and corresponding results of the queries, the results of the queries being derived from a primary store. A differential store stores a pointer to data of the primary store which has changed and which affects the result of the queries stored in the query store. A new query may be satisfied by accessing the corresponding query in the query store and determining, by reference to the differential store, whether data relating to the query in the primary store has changed since the query store was compiled and, completing the new query, by accessing the corresponding data in the primary store, if applicable. Data in the differential store may be arranged and partitioned according to labels. The partitioning may be varied according to predetermined rules.