Adaptive acceleration of retrieval queries
First Claim
Patent Images
1. A database server accelerator, comprising:
- a plurality of query execution machines, adapted to resolve database queries;
a plurality of respective memory units, adapted to cache data from the database, each memory unit being accessible only by its respective execution machine; and
a data-manager adapted to determine the data to be cached in each of the plurality of memory units.
1 Assignment
0 Petitions
Accused Products
Abstract
A database server accelerator, comprising a plurality of query execution machines, adapted to resolve database queries, a plurality of respective memory units, adapted to cache data from the database, each memory unit being accessible only by its respective execution machine, and a data-manager adapted to determine the data to be cached in each of the plurality of memory units.
215 Citations
84 Claims
-
1. A database server accelerator, comprising:
-
a plurality of query execution machines, adapted to resolve database queries;
a plurality of respective memory units, adapted to cache data from the database, each memory unit being accessible only by its respective execution machine; and
a data-manager adapted to determine the data to be cached in each of the plurality of memory units. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method of preparing a database command for execution by a multi-executor database server, comprising:
-
receiving a high level database command;
retrieving, from an execution plan cache, an execution plan including one or more executable operator statements, corresponding to the received database command, the execution plan not defining which executor is to execute each of the operator statements; and
converting the execution plan into an operational plan that, for each of the operator statements, states a group of one or more executors from which an executor which is to execute the statement is to be selected. - View Dependent Claims (22, 23, 24)
-
-
25. A database server, comprising:
-
a plurality of database execution machines;
a plurality of memory units, associated respectively with the execution machines, adapted to store data of a database; and
a resource governor adapted to periodically determine which portions of the database are to be stored in each of the memory units. - View Dependent Claims (26, 27, 28)
-
-
29. A database server, comprising:
-
at least one memory unit adapted to store data of a database;
a resource governor adapted to periodically determine which indices should be created for which portions of the database stored in the memory unit; and
an index creating unit adapted to automatically create the indices determined by the resource governor, responsive to the periodic determination. - View Dependent Claims (30, 31, 32)
-
-
33. A method of resolving a database command, comprising:
-
receiving a high level database command;
retrieving an execution plan corresponding to the received database command, the execution plan including at least one non-executable replaceable directive representing a group of a plurality of different sequences of one or more directives, which perform the same task; and
replacing the non-executable replaceable directive by one of the sequences of the group. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A method of caching data by a database server accelerator, comprising:
-
selecting queries to be handled by the accelerator; and
caching the data required to resolve the selected queries, responsive to the selection. - View Dependent Claims (49, 50, 51, 52, 53, 54, 55)
-
-
56. A method of determining a data organization of data of a database, comprising:
-
accumulating a roster of queries recently directed to the database;
grouping the queries of the roster into a plurality of clusters;
arranging the clusters in an order in which their data is to be handled; and
determining an organization for the data of queries of one or more clusters at least partially according to the order from the arranging. - View Dependent Claims (57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73)
-
-
74. A method of determining whether a query is to be handled by an accelerator, comprising:
-
determining whether the query can be resolved by the accelerator with its currently cached data;
determining at least one additional attribute of the accelerator or the query; and
determining whether to handle the query by the accelerator, responsive to the at least one additional attribute. - View Dependent Claims (75, 76, 77, 78)
-
-
79. A database server, comprising:
-
at least one memory unit adapted to store data of a database including tables, in verticals including one or more columns of the table, at least one of the tables being stored in a plurality of separate verticals; and
an execution machine adapted to resolve queries using the data in the at least one memory unit, the execution machine adapted to always load into a processor of the machine entire rows of verticals on which it operates. - View Dependent Claims (80, 81, 82)
-
-
83. A database server, comprising:
-
at least one memory unit adapted to store data of a database including tables, at least one of the tables being stored in a plurality of separate sub-portions;
an execution machine adapted to resolve queries using the data in the at least one memory unit; and
a resource governor adapted to determine the sub-groups in which the data to be stored in the at least one memory unit are to be organized, at least partially according to the queries expected to be received by the database server. - View Dependent Claims (84)
-
Specification