Query Interception for In-Memory Data Grid Delegation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The integration of applications with in-memory data grids is hindered by the need to modify existing applications to interface with data grids, as they are typically coded to query databases, making the transition expensive and complex.
Innovation Solution
A method is introduced to intercept database queries from a computer program and selectively route them to an in-memory data grid or a database management system based on a query routing list, allowing seamless integration without modifying the application, by using a data grid interception logic and routing module that compares queries and determines the appropriate destination.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If applications are modified to interface with data grids directly, then data access performance is improved, but development cost and complexity increase
Solution Approach 1:
A query router is introduced as an intermediary component between the application and the data grid. The router intercepts database queries, determines whether to forward them to the data grid or the traditional database, and handles the routing logic. This mediator allows applications to maintain their existing database interface while still benefiting from data grid capabilities, thus avoiding direct application modification.
Solution Approach 2:
The system is segmented into separate functional components: the query router handles query routing decisions, the data grid handles in-memory data access, and the traditional database handles persistent storage. This segmentation allows each component to function independently, with the router acting as a gateway that directs queries to the appropriate destination without requiring application changes.
2Adaptability or versatility
If stored procedures are created to interrogate the data grid, then data access to data grid is enabled, but application modification is still required
Solution Approach 1:
The query router serves as an intermediary that eliminates the need for stored procedures. Instead of requiring applications to create and execute stored procedures against the data grid, the router intercepts standard database queries and automatically routes them to the appropriate destination, providing data grid accessibility without application modification or stored procedure creation.
3Speed
If all database queries are routed to the data grid, then data access performance is improved, but system reliability may be compromised
Solution Approach 1:
The query routing is made dynamic rather than static. The router continuously monitors data grid availability and performance, and dynamically adjusts routing decisions based on current system conditions. When the data grid is available and performant, queries are routed there for speed; when it is unavailable or under heavy load, queries are redirected to the traditional database for reliability.
Solution Approach 2:
The system implements feedback mechanisms where the router monitors data grid status, performance metrics, and error rates. This feedback information is used to make intelligent routing decisions, ensuring that queries are directed to the most reliable and performant destination at any given time, thus balancing speed and reliability requirements.
Data Source
AI summary
Embodiments of the present invention provide a method, system and computer program product for the seamless integration of an application with an in memory data grid. In an embodiment of the invention, a method for intercepting database queries from a computer program for delegation to an in memory data grid is provided. The method includes retrieving database queries from a database driver for a database management system from a requesting computer program and comparing at least a portion of each of the database queries to a listing of database queries. Thereafter, the database queries are selectively routed to a data grid, such as an in memory data grid, in lieu of the database management based upon the comparison.

