Orchestrating performance of asynchronous database tasks
AssigneeAmazon Technologies, Inc.
InventorsJunaid Azad Mohammed, James Alexander Morle, Amol Saxena, Gourav Roy, Matthys Strydom, Vishwas Karthiveerya, Joshua Gordon Williams
Life of this patent
Estimating the term…
Abstract
A request that causes an asynchronous task is received at a database system. The database system performs the asynchronous task by recognizing that the request causes an asynchronous task, performs a write to a system table that records the asynchronous task for perform, detects, by a listener for asynchronous tasks, the write to the system table, and coordinates performance of the asynchronous task by a different request processor of the database system that is provisioned to perform the asynchronous task.
Claims20
A system, comprising:
- a plurality of computing devices, respectively comprising at least one processor and a memory, that implement a multi-tenant, database service;
- wherein the database service comprises a first query processor, an asynchronous task listener, and an asynchronous task manager;
- wherein the first query processor is configured to:
- receive, from a client of the database service, a request that instructs the database service to execute an asynchronous task with respect to a database table, wherein the first query processor is assigned to execute synchronous tasks received from the client or a different client with respect to the database table;
- and
- write to a system table to record the asynchronous task;
- wherein the asynchronous task listener is configured to:
- detect the write to the system table;
- and
- send a notification of the write to the asynchronous task manager;
- and
- wherein the asynchronous task manager is configured to:
- provision at least one second request query processor of the database service provisioned to execute the asynchronous task;
- and
- coordinate execution of the asynchronous task at the at least one second query processor.
A method, comprising:
- receiving, at a query processor of a database system from a client of the database system, request that instructs the database system to execute an asynchronous task with respect to a database table, wherein the query processor of the database system is available to execute other requests that instruct synchronous tasks during the execution of the asynchronous task received from the client or a different client of the database system;
- executing, by the database system, the asynchronous task, comprising:
- detecting, by a first request processor of the database system, that the request instructs the database system to execute the asynchronous task;
- writing, by the first request processor, to a system table to record the asynchronous task;
- detecting, by an asynchronous task listener, the write to the system table;
- and
- coordinating, by an asynchronous task manager, execution of the asynchronous task by at least one second request processor of the database system provisioned to execute the asynchronous task detected by the asynchronous task listener.
One or more non-transitory, computer-readable storage media, storing program instructions that when executed on or across one or more computing devices cause the one or more computing devices to implement:
- executing an asynchronous task that is instructed by a client of a database system in a request received at a query processor of the database system and is performed with respect to a database table, wherein the query processor of the database system is available to execute other requests that instruct synchronous tasks during the execution of the asynchronous task received from the client or another client of the database system, and wherein, in executing the asynchronous task, the program instructions cause the one or more computing devices to implement:
- receiving, from an asynchronous task listener, an indication of a write to a system table by a first request processor when the first request processor recognized that the request instructs the asynchronous task;
- and
- coordinating execution of the asynchronous task by at least one second request processor of the database system provisioned to execute the asynchronous task detected by the asynchronous task listener.
Dependencies are inferred from the claim text.