CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2017-159414, filed on Aug. 22, 2017, the entire contents of which are incorporated herein by reference.

FIELD

The present disclosure relates to a data providing technology.

BACKGROUND

A database server executes various processes in response to query statements (also referred to as queries) described in a query language such as a structured query language (SQL). For example, upon receiving a SQL statement (a SQL query), the database server parses the SQL statement based on management information of a database. After completing the parsing of the SQL statement, the database server generates an execution plan that enables the SQL statement to be executed. The database server executes one of the various processes based on the generated execution plan.

If data communication from the database server to a client occurs every time the client transmits a request, load on the database server is increased. Hence, there is a technology by which a cache server holds data having undergone first time reference by a client and provides the client with the data at the time of second time or later reference.

For example, Japanese Laid-open Patent Publication No. 2008-287660 discloses related art.

SUMMARY

According to an aspect of the invention, a data providing apparatus includes circuitry configured to store a query as a candidate query in a first memory in association with an execution plan and store data in a second memory when receiving the execution plan and the data from a database server in response to transmitting the query to the database server, perform searching the first memory for a first candidate query having content corresponding to content of a first query in response to receiving the first query from a first request source, when the first candidate query is detected by the searching, select a first execution plan associated with the first candidate query by referring to the first memory, extract specific data from the second memory on the basis of the selected first execution plan, and transmit the specific data to the first request source.

The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.

It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.

