Data access statement translation
First Claim
1. A computer-implemented method, comprising:
- intercepting a first set of statements sent by an executing application, the first set of statements configured to be executed on a relational data storage to generate a first result data set, the first set of statements described using first query language that is a version of Structured Query Language (SQL) supported by the relational data storage;
translating the first set of statements into a second set of statements described using a second query language that is different than the first query language;
executing the second set of statements on a non-relational data storage that supports the second query language;
receiving a second result data set from the non-relational data storage, the second result data set generated from the executing of the second set of statements on the non-relational data storage;
sending the second result data set to the executing application; and
after receiving the second result data set, determining whether the executing application exhibits one or more of a failure, an error, or an exception when the second set of statements are executed on the non-relational data storage.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for dynamic translation of data access statements. A first set of statements is sent by an executing process to access a first data storage that supports a first query language. The first set of statements is intercepted and translated into a second set of statements configured to access a second data storage that supports a second query language. The second set of statements may be executed on the second data storage, and the result data set may be sent to the executing process that generated the first set of statements. The first and second storages may employ different data storage formats, such as relational and non-relational storage formats. The behavior of the executing process may be monitored to determine the feasibility of modifying the source code of the process to employ a different query language.
-
Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
intercepting a first set of statements sent by an executing application, the first set of statements configured to be executed on a relational data storage to generate a first result data set, the first set of statements described using first query language that is a version of Structured Query Language (SQL) supported by the relational data storage; translating the first set of statements into a second set of statements described using a second query language that is different than the first query language; executing the second set of statements on a non-relational data storage that supports the second query language; receiving a second result data set from the non-relational data storage, the second result data set generated from the executing of the second set of statements on the non-relational data storage; sending the second result data set to the executing application; and after receiving the second result data set, determining whether the executing application exhibits one or more of a failure, an error, or an exception when the second set of statements are executed on the non-relational data storage. - View Dependent Claims (2, 3, 4)
-
-
5. A system, comprising:
at least one computing device configured to implement one or more services, wherein the one or more services are configured to; intercept a first set of statements sent by an executing application, the first set of statements configured to be executed on a first data storage to generate a first result data set, the first set of statements described using a first query language supported by the first data storage; translate the first set of statements into a second set of statements described using a second query language that is different than the first query language; generate a second result data set from executing the second set of statements on a second data storage that supports the second query language; send the second result data set to the executing application; and determine whether the executing application exhibits one or more of a failure, an error, or an exception when the second set of statements are executed on the second data storage. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14)
-
15. One or more computer-readable media storing instructions which, when executed by at least one processor, instruct the at least one processor to perform actions comprising:
-
accessing a first set of statements sent by an application, the first set of statements configured to be executed on a first data storage to generate a first result data set the first set of statements described using a first query language supported by the first data storage; translating the first set of statements into a second set of statements described using a second query language that is different than the first query language; generating a second result data set from executing the second set of statements on a second data storage that supports the second query language; sending the second result data set to the application; and comparing the first result data set and the second result data set. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification