Canonical Table Repository for Database Query Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern businesses face challenges in efficiently accessing and manipulating large datasets stored in cloud-based data warehouses, as complex queries often incur costs and require significant time for response.
Innovation Solution
The method involves maintaining a canonical table repository of transformed tables, whereupon receiving a request for a table, a description of its canonical version is generated, and if derivable from existing canonicalized tables, the requested table is transformed and provided without issuing a new database query.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If database queries are issued to access tables from cloud-based data warehouses, then data can be retrieved, but it incurs cost and requires significant time for response
Solution Approach 1:
The system performs preliminary action by caching frequently accessed tables in a local repository before they are actually requested. When a table is first accessed, it is retrieved from the cloud database and stored in the local cache with metadata about its structure and content. Subsequent requests for the same table can be satisfied from the local cache without issuing new queries to the cloud database, thereby reducing response time and costs.
Solution Approach 2:
The system creates a copy of the cloud database tables and stores them in a local repository. This local copy serves as a surrogate for the original cloud-based tables, allowing the system to serve data requests from the local copy rather than repeatedly querying the cloud database. The local copy includes the actual data and metadata about the table structure, enabling fast local access.
2Ease of operation
If complex queries are constructed to manipulate data in cloud databases, then data can be accessed, but it increases cost and processing time
Solution Approach 1:
The system performs preliminary action by pre-processing and caching table data in the local repository with metadata describing the table structure, data types, and relationships. When users need to manipulate data, they can work with the pre-processed local copies without constructing complex queries against the cloud database. The system maintains the ease of operation by providing the same data access interfaces while reducing processing time through local data availability.
3Productivity
If a local repository of canonicalized tables is maintained, then query costs and time are reduced, but device complexity increases
Solution Approach 1:
The system implements universality by creating a multi-functional local repository that serves multiple purposes: it acts as a cache for frequently accessed tables, a storage location for canonicalized table versions, and a reference database for table metadata and relationships. This single structure handles data retrieval, data manipulation, and query optimization functions, reducing the need for separate complex systems while maintaining high productivity.
Data Source
AI summary
Servicing database requests using derivations of canonicalized tables including maintaining a canonical table repository of canonicalized tables, wherein each canonicalized table is a transformed version of a table previously retrieved from a database; receiving, from a client computing system, a request for a table from the database; generating a description of a canonical version of the requested table; determining that the canonical version of the requested table is derivable using a canonicalized table in the canonical table repository; and in response to determining that the canonical version of the requested table is derivable using the canonicalized table in the canonical table repository: transforming the canonicalized table in the canonical table repository based on the received request for the table, including deriving a portion of the requested table using the canonicalized table in the canonical table repository; and providing, to the client computing system, the transformed canonicalized table.


