Performing complex operations in a database using a semantic layer
First Claim
1. A computer-implemented method, comprising:
- implementing a database executing on a computer system;
receiving a data request from an application in the database executing on the computer system, the data request specifying standard structured query language (SQL) operations and custom application operations to be performed for said application, wherein the custom application operations include a plurality of functions, and wherein at least two of the plurality of functions are free of side effects;
processing, on the computer system, the data request in a semantic layer of the database, the semantic layer processing the standard SQL operations and the custom application operations, and wherein, in response to receiving the data request, the semantic layer generates a logical execution plan comprising said standard SQL operations and said custom application operations;
converting, on the computer system, the logical execution plan into a physical execution plan using algebraic transformations and cost based optimizations based on database statistics, wherein the physical execution plan comprises native executable database operations for performing the standard SQL operations and the custom application operations, and wherein the physical execution plan indicates that the at least two of the plurality of functions that are free of side effects are executed in parallel;
executing the physical execution plan on the database, and in accordance therewith, generating a data result, wherein the at least two of the plurality of functions that are free of side effects are executed in parallel; and
sending the data result from the database to the application.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention includes a database with a semantic layer for performing standard SQL and complex operations custom to one or more application. In one embodiment the present invention includes receiving a data request from an application in a database, the data request specifying standard SQL operations and custom application operations to be performed for said application. The data request is processed in a semantic layer of the database. The semantic layer processes the standard SQL operations and the custom application operations and generates a logical execution plan comprising the standard SQL operations and the custom application operations. The logical execution plan is converted into a physical execution plan, which is executed by the database to generate a data result. The data result may be sent back to the application.
-
Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
implementing a database executing on a computer system; receiving a data request from an application in the database executing on the computer system, the data request specifying standard structured query language (SQL) operations and custom application operations to be performed for said application, wherein the custom application operations include a plurality of functions, and wherein at least two of the plurality of functions are free of side effects; processing, on the computer system, the data request in a semantic layer of the database, the semantic layer processing the standard SQL operations and the custom application operations, and wherein, in response to receiving the data request, the semantic layer generates a logical execution plan comprising said standard SQL operations and said custom application operations; converting, on the computer system, the logical execution plan into a physical execution plan using algebraic transformations and cost based optimizations based on database statistics, wherein the physical execution plan comprises native executable database operations for performing the standard SQL operations and the custom application operations, and wherein the physical execution plan indicates that the at least two of the plurality of functions that are free of side effects are executed in parallel; executing the physical execution plan on the database, and in accordance therewith, generating a data result, wherein the at least two of the plurality of functions that are free of side effects are executed in parallel; and sending the data result from the database to the application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising:
-
implementing a database executing on a computer system; receiving a data request from an application in the database executing on the computer system, the data request specifying standard structured query language (SQL) operations and custom application operations to be performed for said application, wherein the custom application operations include a plurality of functions, and wherein at least two of the plurality of functions are free of side effects; processing, on the computer system, the data request in a semantic layer of the database, the semantic layer processing the standard SQL operations and the custom application operations, and wherein, in response to receiving the data request, the semantic layer generates a logical execution plan comprising said standard SQL operations and said custom application operations; converting, on the computer system, the logical execution plan into a physical execution plan using algebraic transformations and cost based optimizations based on database statistics, wherein the physical execution plan comprises native executable database operations for performing the standard SQL operations and the custom application operations, and wherein the physical execution plan indicates that the at least two of the plurality of functions that are free of side effects are executed in parallel; executing the physical execution plan on the database, and in accordance therewith, generating a data result, wherein the at least two of the plurality of functions that are free of side effects are executed in parallel; and sending the data result from the database to the application. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A system comprising:
-
one or more processors; memory; and one or more executable software components, executable by said processors to; implement a database executing on a computer system; receive a data request from an application in the database executing on the computer system, the data request specifying standard structured query language (SQL) operations and custom application operations to be performed for said application, wherein the custom application operations include a plurality of functions, and wherein at least two of the plurality of functions are free of side effects; process the data request in a semantic layer of the database, the semantic layer processing the standard SQL operations and the custom application operations, and wherein, in response to receiving the data request, the semantic layer generates a logical execution plan comprising said standard SQL operations and said custom application operations; convert the logical execution plan into a physical execution plan using algebraic transformations and cost based optimizations based on database statistics, wherein the physical execution plan comprises native executable database operations for performing the standard SQL operations and the custom application operations, and wherein the physical execution plan indicates that the at least two of the plurality of functions that are free of side effects are executed in parallel; execute the physical execution plan on the database, and in accordance therewith, generating a data result, wherein the at least two of the plurality of functions that are free of side effects are executed in parallel; and send the data result from the database to the application. - View Dependent Claims (17, 18, 19, 20)
-
Specification