View Cache Segmentation for Efficient Query Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems face inefficiencies in managing cache specifications for views, leading to excessive CPU and memory consumption due to the need for additional processing on cached query results, especially when subsequent queries require data manipulation operations.
Innovation Solution
Implementing multiple cache specifications for a single view, each with distinct grouping and filtering criteria, allowing the system to select the most efficient cache for a given query based on a matching heuristic, thereby reducing unnecessary processing and memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a single cache is used for a view, then memory consumption is reduced, but additional processing is required on cached query results which increases CPU usage and time
Solution Approach 1:
The patent divides a single cache into multiple segment caches, each storing query results for specific subsets of rows defined by segment conditions. This segmentation allows the system to retrieve only relevant cached results without processing entire cache contents, resolving the contradiction by reducing both memory consumption (through targeted caching) and processing time (through direct segment access).
Solution Approach 2:
Different segments of the cache are optimized for different query patterns and data subsets. Each segment cache is tailored to specific segment conditions, providing local quality optimization where each cache segment is specialized for its particular data subset, thereby improving query processing efficiency while maintaining reasonable memory usage.
2Use of energy by moving object
If cached query results are reused for subsequent queries, then computing resources are saved, but data manipulation operations require additional processing which consumes memory and processor resources
Solution Approach 1:
The system performs preliminary actions by pre-segmenting the cache into multiple segment caches based on segment conditions before queries are executed. This preliminary organization allows subsequent queries to directly access relevant segments without requiring additional processing of unrelated data, thus saving computing resources while minimizing memory and processor resource consumption during query execution.
3Productivity
If multiple caches with different specifications are created for a single view, then query processing efficiency is improved, but memory consumption increases
Solution Approach 1:
Instead of creating entirely separate caches, the patent segments a single cache into multiple segment caches that share the same underlying storage structure. This segmentation approach improves query processing efficiency by enabling targeted access to specific data subsets while avoiding the memory overhead of duplicating entire cache contents across multiple caches.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Technologies are described for managing multiple cache specifications for a single view in a database environment. For example, a plurality of caches can be crated for the single view. Each of the plurality of caches can have a different cache specification. A query can then be received that operates on the single view. One of the plurality of caches can be selected for processing the query based at least in part on the cache specifications. The query can be processed using the selected cache. Results of processing the query can be output.