Parallel processing database system
AssigneeEMC IP Holding Company LLC
InventorsCaleb E. Welton, Hitoshi Harada, Jeffrey Ira Cohen, Lei Chang, Radhika Reddy, Tao Ma, Zhanwei Wang
Life of this patent
Estimating the term…
Abstract
A method and system for executing database queries in parallel using a shared metadata store. The metadata store may reside on a master node, where the master node is the root node in a tree. The master node may distribute query plans and query metadata to other nodes in the cluster. These additional nodes may request additional metadata from each other or the master nodes as necessary.
Claims27
A parallel processing database system, comprising:
- a master node comprising a processor and a database catalog, wherein the database catalog includes metadata defining database objects, and wherein the master node is configured to receive a query from a client node, to obtain metadata from the database catalog using a catalog server session that is established in connection with the query, to send one or more query plans and corresponding metadata to one or more of a plurality of worker nodes, to receive a request from a first worker node of the one or more of the plurality of worker nodes, the request being for additional metadata to be used in connection with execution of the corresponding query plan, and to obtain the additional metadata from the database catalog using the catalog server session that was established in connection with the query in response to receiving the request for additional metadata, wherein the request is received from the first worker node in the event that the first worker node determines that received corresponding query metadata is not sufficient to execute the corresponding query plan, and in the event that at least one other worker node of the plurality of worker nodes is queried for the additional metadata and the at least one other worker node does not have the additional metadata;
- and
- the plurality of worker nodes in communication with the master node, wherein one or more of the plurality of worker nodes receive a corresponding query plan and corresponding query metadata from the master node, and wherein the one or more of the plurality of worker nodes are configured to use the corresponding query metadata received from the master node in connection with execution of the corresponding query plan.
A method comprising:
- receiving, by a master node, a query from a client node, wherein the master node comprises at least one processor configured to maintain a database catalog that includes metadata defining database objects, and wherein the master node is in communication with a plurality of worker nodes;
- obtaining, by the master node, metadata from the database catalog using a catalog server session that is established in connection with the query;
- sending, by the master node, a corresponding query plan and corresponding query metadata to one or more of the plurality of worker nodes, wherein the one or more of the plurality of worker nodes are configured to use the corresponding query metadata received from the master node in connection with execution of the corresponding query plan;
- receiving, by the master node, a request from a first worker node of the one or more of the plurality of worker nodes, the request being for additional metadata to be used in connection with the execution of the corresponding query plan, wherein the request is received from the first worker node in the event that the first worker node determines that received corresponding query metadata is not sufficient to execute the corresponding query plan, and in the event that at least one other worker node of the plurality of worker nodes is queried for the additional metadata and the at least one other worker node does not have the additional metadata;
- and
- in response to receiving the request for additional metadata, obtaining, by the master node, the additional metadata from the database catalog using the catalog server session that was established in connection with the query.
A computer program product embodied in a tangible non-transitory computer-readable storage medium and comprising computer instructions for:
- receiving, by a master node, a query from a client node, wherein the master node comprises a database catalog that includes metadata defining database objects, and wherein the master node is in communication with a plurality of worker nodes;
- obtaining, by the master node, metadata from the database catalog using a catalog server session that is established in connection with the query;
- sending, by the master node, a corresponding query plan and corresponding query metadata to one or more of the plurality of worker nodes, wherein the one or more of the plurality of worker nodes are configured to use the corresponding query metadata received from the master node in connection with execution of the corresponding query plan;
- receiving, by the master node, a request from a first worker node of the one or more of the plurality of worker nodes, the request being for additional metadata to be used in connection with the execution of the corresponding query plan, wherein the request is received from the first worker node in the event that the first worker node determines that received corresponding query metadata is not sufficient to execute the corresponding query plan, and in the event that at least one other worker node of the plurality of worker nodes is queried for the additional metadata and the at least one other worker node does not have the additional metadata;
- and
- in response to receiving the request for additional metadata, obtaining, by the master node, the additional metadata from the database catalog using the catalog server session that was established in connection with the query.
A method A method comprising:
- receiving, by a master node, a query from a client node, wherein the master node comprises at least one processor configured to maintain a database catalog that includes metadata defining database objects, and wherein the master node is in communication with a plurality of worker nodes;
- obtaining, by the master node, metadata from the database catalog using a catalog server session that is established in connection with the query;
- sending, by the master node, a corresponding query plan and corresponding query metadata to one or more of the plurality of worker nodes, wherein the one or more of the plurality of worker nodes are configured to use the corresponding query metadata received from the master node in connection with execution of the corresponding query plan;
- determining, by a first worker node, that received corresponding query metadata is not sufficient to execute the corresponding query plan;
- in response to determining that the received corresponding query metadata is not sufficient to execute the corresponding query plan, requesting, by the first worker node, additional metadata from one or more other of the plurality of worker nodes;
- receiving, by the master node, a request from at least one worker node of the one or more of the plurality of worker nodes, the request being for additional metadata to be used by the first worker node in connection with the execution of the corresponding query plan;
- and
- in response to receiving the request for additional metadata, obtaining, by the master node, the additional metadata from the database catalog using the catalog server session that was established in connection with the query.
Dependencies are inferred from the claim text.