Row-Column Subsystem Caching for Column-Partitioned Database Tables
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In row-based operations involving column-partitioned database tables, significant resource time is wasted reconstructing rows from partitioned columns, which are often stored in distant locations, leading to inefficient use of database system resources.
Innovation Solution
A row-column subsystem is implemented to cache column values of previously read rows from column-partitioned database tables, allowing for retrieval of referenced column values from the cache instead of re-retrieving them from storage, thereby reducing resource usage and improving query efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If column partitioning is used to store database tables, then storage efficiency and query selectivity are improved, but row reconstruction time and resource usage increase
Solution Approach 1:
The system pre-retrieves and caches column values that are likely to be needed for row reconstruction, based on query analysis and access patterns. By performing the retrieval action in advance and storing results in a cache structure, the system eliminates the need to re-retrieve these columns when reconstructing rows, directly resolving the time loss issue while preserving the storage efficiency benefits of column partitioning
2Ease of operation
If column values are retrieved from storage for row reconstruction, then complete rows can be formed, but resource overhead increases
Solution Approach 1:
Instead of repeatedly retrieving and moving actual column data from storage for every row reconstruction operation, the system creates and maintains a cached copy of frequently accessed column values. This copy resides in faster memory, allowing rapid row reconstruction without the energy cost of repeated data movement from storage, thus reducing resource overhead while maintaining operational ease
Solution Approach 2:
The system performs preliminary retrieval and caching of column values before they are actually needed for row reconstruction. By anticipating which columns will be needed and preparing them in advance in a cache, the system eliminates repeated resource-intensive retrieval operations, reducing overall resource overhead while ensuring rows can be easily formed when needed
Data Source
AI summary
A database system may include a storage device to store a plurality of database tables. At least a portion of the database tables may be column-partitioned. The database system may also include a processor in communication with the storage device and a row-column subsystem executable by the processor to receive a request to locate a row of a column-partitioned database table. The row in the request may be used to provide a response to a query. The row-column subsystem may be further executable to determine if referenced column values of the requested row are stored in a cache associated with the row-column subsystem. The row-column subsystem may be further executable to retrieve the referenced column values of the row in the request from the cache in response to the determination that the column values are in the cache. The row-column subsystem may be further executable to provide the referenced column values for evaluation with respect to query conditions of the query. A method and computer-readable medium may also implement the row-column subsystem.


