Predictive query execution in analytical databases
AssigneeSisense Ltd.
InventorsJonathan Goldfeld, Ariel Yaroshevich, Eldad Farkash
Life of this patent
Estimating the term…
Abstract
A computerized system (e.g. implementing a database management system, abbreviated as DBMS) and a method of operating the system is disclosed for allowing predictive execution of instructions and/or queries. As disclosed herein, in predictive execution mode (also referred to herein as “predictive mode”), instructions and/or queries are executed by the computerized system (e.g. a DBMS) before a request to execute the instructions and/or queries is received from an external entity (e.g. host).
Claims26
A computer implemented method of executing queries in a database system operating according to an operator-at-a-time execution model;
- the method comprising, operating a processing circuitry for:
- storing in a persistent computer storage medium, information indicative of instructions previously executed in the database system;
- responsive to an indication that at least one condition has been met:
- executing a group of instructions comprising part or all of the instructions previously executed in the database system, wherein at least one given instruction in the group is executed before a corresponding request to execute the given instruction is received at the database system;
- linking each intermediate, resulting from the execution of a respective instruction in the group of instructions, to a node in a data-structure that interrelates the node to at least one other node of the data-structure, the node representing the respective instruction, wherein different nodes in the data-structure represent different respective intermediates and instructions, wherein each intermediate is generated by execution of a respective instruction being part of a query;
- storing the intermediates resulting from the execution of the instructions in the group in a computer memory in the database system and rendering the intermediates to be available during execution of future database queries.
A computerized device operating in a database system operating according to an operator-at-a-time execution model;
- the computerized device being operatively connected to a persistent computer storage medium and comprising a processing circuitry configured to:
- store in a persistent computer storage medium, information indicative of instructions previously executed in the database system;
- responsive to an indication that at least one condition has been met:
- execute a group of instructions comprising part or all of the instructions previously executed in the database system, wherein at least one given instruction in the group is executed before a corresponding request to execute the given instruction is received at the database system;
- link each intermediate, resulting from the execution of a respective instruction in the group of instructions, to a node in a data-structure that interrelates the node to at least one other node of the data-structure, the node representing the respective instruction, wherein different nodes in the data-structure represent different respective intermediates and instructions, wherein each intermediate is generated by execution of a respective instruction being part of a query;
- store the intermediates resulting from the execution of the instructions in the group in a computer memory in the database system and rendering the intermediates to be available during execution of future database queries.
A database management system (DBMS) comprising a query kernel operating in a database system operating according to an operator-at-a-time execution model;
- the query kernel being operatively connected to a persistent computer storage medium and comprising a processing circuitry configured to:
- store in a persistent computer storage medium, information indicative of instructions previously executed in the database system;
- responsive to an indication that at least one condition has been met:
- execute a group of instructions comprising part or all of the instructions previously executed in the database system, wherein at least one given instruction in the group is executed before a corresponding request to execute the given instruction is received at the database system;
- link each intermediate, resulting from the execution of a respective instruction in the group of instructions, to a node in a data-structure that interrelates the node to at least one other node of the data-structure, the node representing the respective instruction, wherein different nodes in the data-structure represent different respective intermediates and instructions, wherein each intermediate is generated by execution of a respective instruction being part of a query;
- store the intermediates resulting from the execution of the instructions in the group in a computer memory in the database system and rendering the intermediates to be available during execution of future database queries.
A non-transitory program storage device readable by a computerized device, tangibly embodying a program of instructions executable by the computerized device to perform method operations of executing queries in a database system operating according to an operator-at-a-time execution model;
- the method comprising:
- storing in a persistent computer storage medium, information indicative of instructions previously executed in the database system;
- responsive to an indication that at least one condition has been met:
- executing a group of instructions comprising part or all of the instructions previously executed in the database system, wherein at least one given instruction in the group is executed before a corresponding request to execute the given instruction is received at the database system;
- linking each intermediate, resulting from the execution of a respective instruction in the group of instructions, to a node in a data-structure that interrelates the node to at least one other node of the data-structure, the node representing the respective instruction, wherein different nodes in the data-structure represent different respective intermediates and instructions, wherein each intermediate is generated by execution of a respective instruction being part of a query;
- storing the intermediates resulting from the execution of the instructions in the group in a computer memory in the database system and rendering the intermediates to be available during execution of future database queries.
Dependencies are inferred from the claim text.