Fair scheduling for mixed-query loads
First Claim
Patent Images
1. A computer-implemented method, comprising:
- obtaining a computer-executable query job and a cost estimate to execute the query job;
based on the cost estimate exceeding a threshold cost, determining to divide the query job into a plurality of computer-executable sub-query tasks;
causing each of the plurality of sub-query tasks to be separately executed by a database management system;
wherein causing each of the plurality of sub-query tasks to be separately executed by the database management system includes;
causing the database management system to initiate execution of a first sub-query task of the plurality sub-query tasks, the first sub-query task including rate limiter that limits the number of results returned by the first sub-query task;
after the database management system has finished executing the first sub-query task, determining a value of a last result returned by the database management system for the first sub-query task;
causing the database management system to initiate execution of a next sub-query task of the plurality of sub-query tasks, the next sub-query task including the determined value of the last result returned by the database management system for the first sub-query task;
wherein the method is performed using one or more processors.
9 Assignments
0 Petitions
Accused Products
Abstract
A fair scheduling system with methodology for fairly scheduling queries for execution by a database management system is disclosed. The techniques involve obtaining computer-executable query jobs and cost estimates to execute the query jobs. For example, the cost estimate can be a number of results the query is expected to return. Based on the cost estimates, the fair scheduling system causes the database management system to execute the query jobs as separately executable sub-query tasks in a round-robin fashion which can decrease latency of low cost queries concurrently executing with high cost queries.
212 Citations
16 Claims
-
1. A computer-implemented method, comprising:
-
obtaining a computer-executable query job and a cost estimate to execute the query job; based on the cost estimate exceeding a threshold cost, determining to divide the query job into a plurality of computer-executable sub-query tasks; causing each of the plurality of sub-query tasks to be separately executed by a database management system; wherein causing each of the plurality of sub-query tasks to be separately executed by the database management system includes; causing the database management system to initiate execution of a first sub-query task of the plurality sub-query tasks, the first sub-query task including rate limiter that limits the number of results returned by the first sub-query task; after the database management system has finished executing the first sub-query task, determining a value of a last result returned by the database management system for the first sub-query task; causing the database management system to initiate execution of a next sub-query task of the plurality of sub-query tasks, the next sub-query task including the determined value of the last result returned by the database management system for the first sub-query task; wherein the method is performed using one or more processors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A fair scheduling system, comprising:
-
one or more computing devices; one or more non-transitory computer-readable storing instructions which, when executed by the one or more computing devices, cause the one or more computing devices to perform a method comprising; obtaining a computer-executable query job and a cost estimate to execute the query job; based on the cost estimate exceeding a threshold cost, determining to divide the query job into a plurality of computer-executable sub-query tasks; causing each of the plurality of sub-query tasks to be separately executed by a database management system; wherein causing each of the plurality of computer-executable sub-query tasks to be separately executed by the database management system includes; causing the database management system to initiate execution of a first sub-query task of the plurality sub-query tasks, the first sub-query task including rate limiter that limits the number of results returned by the first sub-query task; after the database management system has finished executing the first sub-query task, determining a value of a last result returned by the database management system for the first sub-query task; causing the database management system to initiate execution of a next sub-query task of the plurality of sub-query tasks, the next sub-query task including the determined value of the last result returned by the database management system for the first sub-query task. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification