IP Library Granted Patent US 9,747,335
Granted Patent B2
US 9,747,335 · App. 14/313,741 · Granted Aug 29, 2017

Generic operator framework

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,747,335
App. No.
14/313,741
Granted
Aug 29, 2017
Kind
B2
Abstract

In accordance with aspects of the disclosure, systems and methods are provided for query optimization including generating a knowledge based container for one or more new operators, building a generic operator structure for the knowledge based container generated for each new operator, and applying optimization rules to each new operator based on the generic operator structure built for each new operator to thereby increase extensibility of the query optimizer using a structured query language (SQL).

Claims (50)

1. A computer system including instructions recorded on a non-transitory computer-readable medium and executable by at least one processor, the system comprising:

an operator generator configured to generate a new operator to add to a structured query language (SQL) query optimization process of a query by a query optimizer under a generic operator framework,

wherein, under the generic operator framework, the new operator has a generic operator data structure that includes specifications for input attributes, output attributes and bypass attributes of the new operator;

a knowledge base container configured to hold the generic operator data structure of the new operator;

a specification handler configured to build, on query compile, the generic operator data structure of the new operator with reference only to the specifications for input attributes, output attributes and bypass attributes of the new operator; and

a rule applicator coupled to the query optimizer, the rule applicator configured to apply optimization rules based on the generic operator data structure of the new operator during the structured query language (SQL) query optimization process of the query optimizer.

2. The system of claim 1 , wherein the generic operator data structure includes a table defining the input attributes, output attributes and bypass attributes of the new operator.

3. The system of claim 1 , wherein the generic operator data structure includes an operator catalog structure including one or more implementation details specified for the new operator defining one or more functions, characteristics, parameters, and properties specified for the generic operator.

4. The system of claim 1 , wherein the system further comprises:

a request handler configured to receive a request for generating the new operator.

5. The system of claim 1 , wherein the generic operator framework further includes:

a parsing handler to modify an existing operator structure according to the generic operator data structure specified for the new operator.

6. The system of claim 1 , wherein the generic operator framework further includes:

a revision handler to revise the optimization rules applied to the new operator based on an existing operator structure and the generic operator data structure.

7. The system of claim 1 , wherein the generic operator framework is to generate the new operator for the SQL using the knowledge based container without altering functionality of the query optimizer.

8. The system of claim 1 , wherein the generic operator framework is to generate the new operator for the SQL using the knowledge based container by determining whether the query optimizer is able to support the new operator.

9. The system of claim 1 , wherein the system further comprises:

a query plan generator to generate at least one query execution plan to access data from a database using the knowledge based container, wherein the generic operator framework extends the query optimizer based on the query execution plan.

10. The system of claim 9 , wherein the at least one query execution plan defines one or more execution paths for accessing data from the database.

11. The system of claim 9 , wherein the system further comprises:

a query plan analyzer to evaluate the at least one query execution plan by simulating one or more physical operations associated with the new operator.

12. The system of claim 9 , wherein the system further comprises:

an execution handler to execute the at least one query execution plan by performing physical operations associated with the new operator.

13. A computer program product, the computer program product tangibly embodied on a non-transitory computer-readable storage medium and including instructions that, when executed by at least one processor, are configured to:

generate a new operator to add to a structured query language (SQL) query optimization process of a query by a query optimizer under a generic operator framework,

wherein, under the generic operator framework, the new operator has a generic operator data structure that includes specifications for input attributes, output attributes and bypass attributes of the new operator;

hold the generic operator data structure of the new operator in a knowledge base container;

build, on query compile, the generic operator data structure of the new operator with reference only to the specifications for input attributes, output attributes and bypass attributes of the new operator; and

apply optimization rules based on the generic operator data structure of the new operator during the structured query language (SQL) query optimization process of the query by the query optimizer.

14. The computer program product of claim 13 , wherein the generic operator data structure includes a table defining the input attributes, output attributes and bypass attributes of the new operator.

15. The computer program product of claim 13 , wherein the generic operator data structure includes an operator catalog structure including one or more implementation details specified for the new operator defining one or more functions, characteristics, parameters, and properties specified for the new operator.

16. The computer program product of claim 13 , the instructions further configured to:

receive a request for generating the new operator; and

extend the query optimizer using the knowledge based container for the new operator without altering functionality of the query optimizer.

17. The computer program product of claim 13 , the instructions further configured to:

receive a request for generating the new operator; and

extend the query optimizer using the knowledge based container by determining whether the query optimizer is able to support the new operator.

18. The computer program product of claim 13 , the instructions further configured to:

modify an existing operator structure according to the generic operator data structure specified for the new operator; and

revise the optimization rules applied to the generic operator based on the existing operator structure and the generic operator data structure built for the new operator.

19. The computer program product of claim 13 , the instructions further configured to:

generate at least one query execution plan to access data from a database using the knowledge based container and define one or more execution paths for accessing data from the database;

extend the query optimizer based on the at least one query execution plan and evaluate the at least one query execution plan by simulating one or more physical operations associated with the new operator; and

execute the at least one query execution plan by performing physical operations associated with the new operator.

20. A computer-implemented method, comprising:

generating a new operator to add to a structured query language (SQL) query optimization process of a query by a query optimizer under a generic operator framework,

wherein, under the generic operator framework, the new operator has a generic operator data structure that includes specifications for input attributes, output attributes and bypass attributes of the new operator;

holding the generic operator data structure of the new operator in a knowledge base container;

building, on query compile, the generic operator data structure of the new operator with reference only to the specifications for input attributes, output attributes and bypass attributes of the new operator; and

applying optimization rules based on the generic operator data structure of the new operator during the structured query language (SQL) query optimization process of the query by the query optimizer.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2015
From: LEE, BOYUNG; KIM, KI HONG; YOON, YONGSIK
To: SAP AG
Reel/Frame 036303/0044 →
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →