Query scheduling in a parallel-processing database system
Abstract
A system and method for scheduling database operations to one or more databases in a parallel-processing database system are described herein. After a query server generates a dynamic-link library (DLL) or other executable representative of one or more database operations to a database, the query server notifies a scheduling services module of the generation of the DLL and submits the DLL to a query agent. The query agent notifies the scheduling services module of its receipt of the DLL. Based on any of a variety of considerations, the scheduling services module schedules a time of execution for the DLL by one or more processing matrices that store the database. At the scheduled time, the scheduling services module directs the query agent to submit the DLL to the indicated processing matrices. The scheduling services module also can be adapted to monitor the execution of previously submitted DLLs by one or more processing matrices and adjust the scheduled times of execution for subsequent DLLs accordingly.
Claims
exact text as granted — not AI-modified1 . A system for scheduling database operations, the system comprising:
one or more processing matrices for executing at least one executable; one or more query agents for managing the execution of the at least one executable at the one or more processing matrices; and a scheduling module for scheduling a time for the execution of the at least one executable, adjusting the scheduled time of the execution of the at least one executable based on information received from the one or more processing matrices or the one or more query agent agents, and directing the one or more query agents to submit the at least one executable to the one or more processing matrices for execution at the scheduled time of execution.
2 - 25 . (canceled)
26 . The system of claim 1 , wherein each of the one or more processing matrices comprises a plurality of interconnected processing nodes operating in parallel.
27 . The system of claim 1 , wherein the at least one executable is representative of a compiled query having at least one database operation.
28 . The system of claim 1 , wherein the scheduling module adjusts the scheduled time of the execution of the at least one executable based in part on a difference between an expected execution time and an actual execution time of at least one executable previously executed by the one or more processing matrices.
29 . The system of claim 1 , wherein the scheduling module schedules executions of the at least one executable at each of the one or more processing matrices to minimize execution times for the at least one executable.
30 . The system of claim 1 , wherein the scheduling module schedules executions of the at least one executable at each of the one or more processing matrices to maximize utilization of each of the one or more processing matrices.
31 . A method for scheduling database operations, the method comprising:
scheduling a time for execution of at least one executable by one or more processing matrices; adjusting the scheduled time of the execution of the at least one executable based on information received from the one or more processing matrices or one or more query agents; and submitting, at the adjusted scheduled time, the at least one executable to the one or more processing matrices for execution at the scheduled time of execution.
32 . The method of claim 31 , wherein each of the one or more processing matrices comprises a plurality of interconnected processing nodes operating in parallel.
33 . The method of claim 31 , wherein the at least one executable is representative of a compiled query having at least one database operation.
34 . The method of claim 31 , wherein adjusting the scheduled time of the execution of the at least one executable is based in part on a difference between an expected execution time and an actual execution time of at least one executable previously executed by the one or more processing matrices.
35 . The method of claim 31 , wherein scheduling executions of the at least one executable at each of the one or more processing matrices is to minimize execution times for the at least one executable.
36 . The method of claim 31 , wherein scheduling executions of the at least one executable at each of the one or more processing matrices is to maximize utilization of each of the one or more processing matrices.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.