Interactive Database Filtering via Cached Result Sets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional database systems face performance issues when users access and view large amounts of data remotely, as they require multiple requests to the database, leading to a significant load on both the database and network systems, and traditional filtering mechanisms operate on a row or item level, failing to support access to classes of data effectively.
Innovation Solution
Implementing a client-side data filter agent that enables interactive filtering of data views, allowing users to change and filter data on a class level without constant database access, by caching result sets and using a list view manager to generate views dynamically, with interactive graphic representations and filter tools for refining queries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If users access and view large amounts of database data remotely, then data accessibility and user interaction are improved, but the load on database and network systems increases significantly
Solution Approach 1:
The system performs preliminary actions by caching result sets from database queries in memory before users need to view the data. This pre-computation and pre-storage of data in an easily accessible format allows users to interact with and filter data without triggering additional database access, thereby improving data accessibility while avoiding the energy loss associated with repeated database and network operations.
2Adaptability or versatility
If traditional database access mechanisms are used for filtering data, then row-level filtering is achieved, but access to classes of data and interactive viewing is limited
Solution Approach 1:
The system transitions from traditional row-level filtering to class-level filtering by organizing cached data into hierarchical structures where data can be filtered and viewed by class categories. This dimensional change in data organization allows users to interactively explore data at multiple levels of abstraction, improving both the versatility of filtering capabilities and the ease of user interaction through more intuitive class-based navigation.
3Reliability
If multiple database requests are made to change views on data, then real-time data updates are achieved, but performance and response time deteriorate
Solution Approach 1:
The system creates and maintains copies of database result sets in memory caches. These cached copies can be updated selectively and distributed to multiple users without requiring repeated access to the original database. This copying mechanism ensures data freshness for active users while maintaining high system performance by avoiding redundant database requests and reducing network traffic.
4Adaptability or versatility
If remote access to multiple rows of data is implemented, then data viewing capability is improved, but database system performance and user experience suffer
Solution Approach 1:
The system segments the large result sets into manageable cached portions organized by data classes and user permissions. This segmentation allows the system to provide comprehensive data viewing capability by making relevant segments available in cache, while maintaining high performance by only caching and transmitting necessary portions rather than entire data sets. Users can interact with segmented data locally without burdening the database system.
Data Source
AI summary
Interactive database viewing is provided. A server associated with a database accesses a stored result set from a database query. The server presents a portion of the result set in a list view to a client device remote from the server and the cache memory, where the portion presented is based on filter selection based on fields of the data. In response to changes to the filter selection, the server can dynamically alter the list view without having to again access the database. If a change to the filter selection requests data outside the cached result set, the server accesses the database and updates the cached result set. Inline editing of the data in the list view can be applied back to the database by the server.


