Fault tolerance based query execution
First Claim
1. A computer implemented method for executing a plurality of queries, the method comprising:
- receiving the plurality of queries from a user, the plurality of queries including a plurality of operators;
based on the received plurality of queries, determining, by a processor of the computer, a fault tolerance degree for the plurality of operators, wherein determining the fault tolerance degree includes;
calculating, by the processor of the computer, a query outdegree for an operator from the plurality of operators by counting a number of the plurality of queries that include the operator from the plurality of operators, wherein the counted number of the plurality of queries is the query outdegree corresponding to the operator from the plurality of operators; and
determining, by the processor of the computer, the fault tolerance degree for the plurality of operators based on the calculated query outdegree;
based on the determined fault tolerance degree, assigning, by the processor of the computer, a plurality of nodes to the plurality of operators; and
executing the received plurality of queries by the assigned plurality of nodes.
2 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments of systems and methods for a fault tolerance based query execution are described herein. Queries are received from users, the queries including operators. A multi-query optimization is performed on the operators included in the queries to obtain a query plan. A fault tolerance degree is determined for the operators included in the query plan. Based on the fault tolerance degree of the operators, nodes are assigned to the operators included in the query plan. The assigned nodes execute the operators included in the query plan to execute the queries. In one aspect, the nodes simultaneously execute the operators included in the query plan.
19 Citations
17 Claims
-
1. A computer implemented method for executing a plurality of queries, the method comprising:
-
receiving the plurality of queries from a user, the plurality of queries including a plurality of operators; based on the received plurality of queries, determining, by a processor of the computer, a fault tolerance degree for the plurality of operators, wherein determining the fault tolerance degree includes; calculating, by the processor of the computer, a query outdegree for an operator from the plurality of operators by counting a number of the plurality of queries that include the operator from the plurality of operators, wherein the counted number of the plurality of queries is the query outdegree corresponding to the operator from the plurality of operators; and determining, by the processor of the computer, the fault tolerance degree for the plurality of operators based on the calculated query outdegree; based on the determined fault tolerance degree, assigning, by the processor of the computer, a plurality of nodes to the plurality of operators; and executing the received plurality of queries by the assigned plurality of nodes. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer readable storage medium to tangibly store instructions, which when executed by a computer, cause the computer to:
-
receive a plurality of queries from a user, the plurality of queries including a plurality of operators; based on the received plurality of queries, determine a fault tolerance degree for the plurality of operators, wherein determining the fault tolerance degree includes; calculate a query outdegree for an operator from the plurality of operators by counting a number of the plurality of queries that include the operator from the plurality of operators, wherein the counted number of the plurality of queries is the query outdegree corresponding to the operator from the plurality of operators; and determine the fault tolerance degree for the plurality of operators based on the calculated query outdegree; based on the determined fault tolerance degree, assign a plurality of nodes to the plurality of operators; and execute the received plurality of queries by the assigned plurality of nodes. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer system for executing a plurality of queries, the computer system comprising:
-
a memory to store a program code; and a processor communicatively coupled to the memory, the processor configured to execute the program code to; receive the plurality of queries from a user, the plurality of queries including a plurality of operators; based on the received plurality of queries, determine a fault tolerance degree for the plurality of operators, wherein determining the fault tolerance degree includes; calculate a query outdegree for an operator from the plurality of operators by counting a number of the plurality of queries that include the operator from the plurality of operators, wherein the counted number of the plurality of queries is the query outdegree corresponding to the operator from the plurality of operators; and determine the fault tolerance degree for the plurality of operators based on the calculated query outdegree; based on the determined fault tolerance degree, assign a plurality of nodes to the one or more operators; and execute the received plurality of queries by the assigned plurality of nodes. - View Dependent Claims (14, 15, 16, 17)
-
Specification