11. One or more non-transitory computer-readable media storing one or more computer programs which, when executed via one or more processors, causes performance of the steps of: obtaining, via at least one of the one or more processors, a query job for execution by a database management system and a cost estimate for the database management system to execute the query job; based on the cost estimate, dividing, via at least one of the one or more processors, the query job into a plurality of sub-query tasks for execution by the database management system; causing, via at least one of the one or more processors, the plurality of sub-query tasks to be executed by the database management system; after the database management system has finished executing a first sub-query task of the plurality of sub-query tasks, determining, via at least one of the one or more processors, a value of a last result returned by the database management system for the first sub-query task; and causing, via at least one of the one or more processors, the database management system to initiate execution of a next sub-query task of the plurality of sub-query tasks; wherein the next sub-query task includes the determined value of the last result returned by the database management system for the first sub-query task; wherein the first sub-query task includes a rate limiter that limits the number of results returned by the first sub-query task when executed by the database management system.
11. One or more non-transitory computer-readable media storing one or more computer programs which, when executed via one or more processors, causes performance of the steps of: obtaining, via at least one of the one or more processors, a query job for execution by a database management system and a cost estimate for the database management system to execute the query job; based on the cost estimate, dividing, via at least one of the one or more processors, the query job into a plurality of sub-query tasks for execution by the database management system; causing, via at least one of the one or more processors, the plurality of sub-query tasks to be executed by the database management system; after the database management system has finished executing a first sub-query task of the plurality of sub-query tasks, determining, via at least one of the one or more processors, a value of a last result returned by the database management system for the first sub-query task; and causing, via at least one of the one or more processors, the database management system to initiate execution of a next sub-query task of the plurality of sub-query tasks; wherein the next sub-query task includes the determined value of the last result returned by the database management system for the first sub-query task; wherein the first sub-query task includes a rate limiter that limits the number of results returned by the first sub-query task when executed by the database management system. 18. The one or more non-transitory computer-readable media of claim 11 , wherein the one or more computer programs, when executed via the one or more processors, further causes performance of the steps of: determining, via at least one of the one or more processors, if a job execution queue is full with jobs items; wherein each job item, of the jobs items in the jobs execution queue, represents a query job for which execution of at least a portion of the query job by the database management system is initiated but not complete; enqueing, via at least one of the one or more processors, a job item representing a new query job onto the end of the job execution queue only if the job execution queue is not full; and if the job execution queue is full, waiting, via at least one of the one or more processors, until the job execution queue is no longer full before enqueing the job item representing the new query job onto the end of the job execution queue.