Optimizer with neural network estimator
First Claim
1. A computer-operated apparatus for generating selectivity values in a database management system (DBMS), the DBMS having one or more tables for storing data, each table having zero or more user-defined routines (UDRs), said apparatus comprising:
- a feature vector extractor coupled to said one or more database tables, said feature vector extractor being adapted to convert said UDR into a base representation;
a neural network coupled to the feature vector extractor for generating selectivity values based on the base representation; and
an optimizer coupled to said neural network, said optimizer dynamically applying said neural network to determine an optimum query search sequence for the DBMS based on the generated selectivity values.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer operated apparatus estimates values needed by an optimizer in a database management system (DBMS). The DBMS has one or more tables for storing data, each table having zero or more columns of user-definable data types and zero or more associated user-defined routines (UDRs). The apparatus has a feature vector extractor connected to the database tables for converting the UDR inputs into a base type representation. A neural network receives the feature vector and generates estimated values which are provided to the optimizer of the DBMS. The neural network can be trained periodically using randomly generated queries, or it can be trained dynamically by capturing data generated during a query. During operation, the optimizer dynamically invokes the neural network to generate estimates such as selectivity and cost per call for determining optimum query search sequence.
101 Citations
25 Claims
-
1. A computer-operated apparatus for generating selectivity values in a database management system (DBMS), the DBMS having one or more tables for storing data, each table having zero or more user-defined routines (UDRs), said apparatus comprising:
-
a feature vector extractor coupled to said one or more database tables, said feature vector extractor being adapted to convert said UDR into a base representation; a neural network coupled to the feature vector extractor for generating selectivity values based on the base representation; and an optimizer coupled to said neural network, said optimizer dynamically applying said neural network to determine an optimum query search sequence for the DBMS based on the generated selectivity values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer system, comprising:
-
a processor; a memory array coupled to said processor; a display coupled to said processor; a data storage device coupled to said processor for storing a database management system (DBMS) with one or more tables for storing data, each table having zero or more user-defined routines (UDRs); a feature vector extractor coupled to said one or more database tables, said feature vector extractor being adapted to convert said UDR into a base representation; a neural network coupled to the feature vector extractor for generating selectivity values based on the base representation; and an optimizer coupled to said neural network, said optimizer dynamically applying said neural network to determine an optimum query search sequence for the DBMS based on the generated selectivity values. - View Dependent Claims (11, 12, 13)
-
-
14. A computer implemented method for generating selectivity values for a database management system (DBMS) optimizer, the DBMS having one or more tables for storing data, each table having zero or more columns of user-definable data types, comprising:
-
selecting data from the database; extracting feature vectors from the data; applying said feature vectors to a neural network to dynamically generate selectivity values; and applying said selectivity values to said optimizer to determine an optimum query search sequence for the DBMS. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. Computer software for a database management system (DBMS), the computer software residing on a computer-readable medium and comprising instructions for causing a computer to perform the following operations:
-
select data from a database; extract feature vectors from the selected data; generate selectivity values by applying the extracted feature vectors to a neural network; and determine an optimum query search sequence for the DBMS by applying the generated selectivity values to an optimizer. - View Dependent Claims (22, 23, 24, 25)
-
Specification