A method for managing database resources in a massively parallel processing, MPP, database system, the method comprising: determining, by a global resource manager, whether a queue of queries contains any queries, wherein the queries are added to the queue upon reception from a coordinator node; if the queue contains any queries, then transmitting, by the global resource manager to a plurality of data nodes, a WOCE message, wherein the WOCE message comprises the queue of queries with their resource requirements; and receiving, in response, by the global resource manager from the plurality of data nodes, a plurality of sets of query candidates that the data nodes can execute with their available resources, where the response indicates the portions of the queries that each data node can handle with their available resources; determining an intersection of the plurality of sets of query candidates to determine a group of executable queries of the queue of queries; while the group of executable queries of the queue of queries is not empty, repeat the following steps: selecting a first query from the group of executable queries of the queue of queries and removing it from the queue; transmitting, by the global resource manager to the data nodes that will participate in the selected query with individual resource managers managing resources locally, a plurality of reserve resource messages for the first query; receiving, by the global resource manager from the data nodes that will participate in the selected query, a plurality of acknowledgement messages; and transmitting, by the global resource manager to the coordinator node, an execute query message to execute the selected query when the plurality of acknowledgement messages are positive acknowledgements indicating the success of the resource reservation. determining, by a global resource manager, whether a queue of queries contains any queries, wherein the queries are added to the queue upon reception from a coordinator node; if the queue contains any queries, then transmitting, by the global resource manager to a plurality of data nodes, a WOCE message, wherein the WOCE message comprises the queue of queries with their resource requirements; and receiving, in response, by the global resource manager from the plurality of data nodes, a plurality of sets of query candidates that the data nodes can execute with their available resources, where the response indicates the portions of the queries that each data node can handle with their available resources; determining an intersection of the plurality of sets of query candidates to determine a group of executable queries of the queue of queries; while the group of executable queries of the queue of queries is not empty, repeat the following steps: selecting a first query from the group of executable queries of the queue of queries and removing it from the queue; transmitting, by the global resource manager to the data nodes that will participate in the selected query with individual resource managers managing resources locally, a plurality of reserve resource messages for the first query; receiving, by the global resource manager from the data nodes that will participate in the selected query, a plurality of acknowledgement messages; and transmitting, by the global resource manager to the coordinator node, an execute query message to execute the selected query when the plurality of acknowledgement messages are positive acknowledgements indicating the success of the resource reservation. selecting a first query from the group of executable queries of the queue of queries and removing it from the queue; transmitting, by the global resource manager to the data nodes that will participate in the selected query with individual resource managers managing resources locally, a plurality of reserve resource messages for the first query; receiving, by the global resource manager from the data nodes that will participate in the selected query, a plurality of acknowledgement messages; and transmitting, by the global resource manager to the coordinator node, an execute query message to execute the selected query when the plurality of acknowledgement messages are positive acknowledgements indicating the success of the resource reservation.