BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to grid computing and more particularly to database query processing within an in memory data grid.

Description of the Related Art

Grid computing refers to the use of the computing resources of multiple different computers in a computer communications network to a single computational problem concurrently. Grid computing provides substantial advantage when addressing scientific or technical problems that require a great number of computer processing cycles or access to large amounts of data. Generally, grid computing requires the use of computer program logic enabled to divide a computational problem into management and independently computable problem subsets, and to assign those subsets to as many computing resources in as many computers as required and available. To many, grid computing is thought of as distributed and large-scale cluster computing and as a form of network-distributed parallel processing.

A data grid, in contrast, to a computational grid includes a system composed of multiple servers that work together to manage information and related operations in a distributed environment. An “in memory” data grid, in turn, is a data grid that stores the information in memory in order to achieve very high performance, and uses redundancy—by keeping copies of that information synchronized across multiple servers—in order to ensure the resiliency of the system and the availability of the data in the event of server failure. An in memory data grid achieves low response times for data access by maintaining stored information in memory and in an application object form, and by sharing that information across multiple servers. In other words, applications may be able to access required information without any network communication and without any data transformation step such as an object relational mapping.

When considering adoption of an in memory data grid, adopters consider as a major obstacle the need to modify applications to ‘talk’ to the data grid. In this regard, these applications are typically coded to interface with a database by way of querying according to a known interface, and modifying applications to respect a grid as opposed to a database can be an expensive proposition. An alternative approach includes the creation of stored procedures to interrogate a data grid as opposed to a database. Even still, the stored procedure approach still requires the modification of the underlying application.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the present invention address deficiencies of the art in respect to data grid integration and provide a novel and non-obvious 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.

In an aspect of the embodiment, only those of the database queries that are included in the listing of database queries are routed to the data grid. Alternatively, in another aspect of the embodiment, only those of the database queries that are included in the listing of database queries are routed to the database management system. In yet another aspect of the embodiment, only those of the database queries that are included in the listing of database queries are routed to the data grid and only when the data grid is determined not have been contemporaneously utilized above a threshold level. Optionally, when the database queries are routed to the data grid, the database queries are provided to the data grid for handling by a correspondingly specified data grid handler in the listing of the database queries.

Additional aspects of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The aspects of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.

