IP Library Granted Patent US 11,436,224
Granted Patent B2
US 11,436,224 · App. 15/993,405 · Granted Sep 6, 2022

Parallel processing database system with a shared metadata store

Inventors: Caleb E. Welton (Foster City, CA); Hitoshi Harada (Foster City, CA); Jeffrey Ira Cohen (Sunnyvale, CA); Lei Chang (Beijing, CN); Radhika Reddy (Foster City, CA); Tao Ma (Beijing, CN); Zhanwei Wang (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F16/24542G06F16/10G06F16/11G06F16/148G06F16/182G06F16/1858G06F16/2453G06F16/2455G06F16/2471G06F16/24524G06F16/24532G06F16/27G06F16/907H04L65/60H04L67/1097H05K999/99G06F16/113G06F16/217G06F16/245G06F16/43
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,436,224
App. No.
15/993,405
Granted
Sep 6, 2022
Kind
B2
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, and the master node may distribute this metadata with query plans to worker nodes. The worker nodes may request additional metadata from the master node when necessary.

Claims (57)

1. A method, comprising:

obtaining, by a node that performs one or more data operations, metadata associated with processing at least part of a query submitted to a system via a client node via one or more networks, wherein the metadata is communicated to the node from a master node;

processing, by the node, the at least the part of the query;

determining, by the node, that additional metadata is required in connection with processing the at least the part of the query;

in response to a determination that the additional metadata is required in connection with processing the at least the part of the query, communicating, by the node, a request for the additional metadata, wherein the request for additional metadata is a multicast request to one or more other nodes, wherein the node maintains a list of the other nodes;

after a predetermined period of time:

determining that the one or more other nodes do not have the additional metadata; and

communicating, by the node, a request for the additional metadata to the master node.

2. The method of claim 1 , wherein the metadata is communicated to the node in connection with an indication of the at least the part of the query that is to be processed by the node.

3. The method of claim 2 , wherein the master node communicates a query plan to the node, the query plan comprising the indication of the at least the part of the query that is to be processed by the node.

4. The method of claim 3 , wherein the metadata is comprised in the query plan.

5. The method of claim 3 , wherein the metadata is stored in a database catalog that comprises database objects, and the metadata is associated with corresponding ones of the database objects.

6. The method of claim 5 , wherein the master node obtains the metadata from the database catalog, and the node obtains the metadata in connection with the indication of the at least the part of the query that is to be processed by the node.

7. The method of claim 6 , wherein a separate catalog server session is established between the master node and the database catalog for each query received by the master node.

8. The method of claim 7 , wherein in response to establishing a catalog server session, a snapshot of a metadata catalog corresponding to the database catalog is stored.

9. The method of claim 8 , wherein in response to determining that the one or more other nodes do not have the additional metadata, the additional metadata is obtained from the snapshot of the metadata catalog.

10. The method of claim 8 , wherein during execution of the query, any update to the metadata catalog does not cause an update to the snapshot of the metadata catalog corresponding to the query.

11. The method of claim 1 , wherein in response to a determination that one of the one or more other nodes has the additional metadata, the one of the one or more other nodes communicates the additional metadata to the node.

12. The method of claim 1 , further comprising:

running, by the node, a query execution process in response to receiving a query plan comprising an indication of the at least the part of the query that is to be processed by the node, wherein the node comprises the query execution process that is configured to execute a database query.

13. A node, comprising:

one or more processors configured to:

obtain metadata associated with processing at least part of a query submitted to a system via a client node via one or more networks, wherein the metadata is communicated to the node from a master node;

process the at least the part of the query;

determine that additional metadata is required in connection with processing the at least the part of the query; and

in response to a determination that the additional metadata is required in connection with processing the at least the part of the query, communicating, by the node, a request for the additional metadata, wherein the request for additional metadata is a multicast request to one or more other nodes, wherein the node maintains a list of the other nodes;

one or more memories coupled to the one or more processors, configured to provide the one or more processors with instructions;

after predetermined period of time:

determine that the one or more other nodes do not have the additional metadata; and

communicate, by the node, a request for the additional metadata to the master node.

14. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

obtaining, by a node that performs one or more data operations, metadata associated with processing at least part of a query submitted to a system via a client node via one or more networks, wherein the metadata is communicated to the node from a master node;

processing, by the node, the at least the part of the query;

determining, by the node, that additional metadata is required in connection with processing the at least the part of the query;

in response to a determination that the additional metadata is required in connection with processing the at least the part of the query, communicating, by the node, a request for the additional metadata, wherein the request for additional metadata is a multicast request to one or more other nodes, wherein the node maintains a list of the other nodes;

after predetermined period of time:

determine that the one or more other nodes do not have the additional metadata; and

communicate, by the node, a request for the additional metadata to the master node.

15. A system, comprising:

a node, comprising:

one or more node processors configured to:

obtain metadata associated with processing at least part of a query submitted to a system via a client node via one or more networks, wherein the metadata is communicated to the node from a master node;

process the at least the part of the query;

determine that additional metadata is required in connection with processing the at least the part of the query; and

in response to a determination that the additional metadata is required in connection with processing the at least the part of the query, communicating, by the node, a request for the additional metadata, wherein the request for additional metadata is a multicast request to one or more other nodes, wherein the node maintains a list of the other nodes; and

one or more node memories coupled to the one or more node processors, configured to provide the one or more node processors with instructions; and

a master node, comprising:

one or more master node processors configured to:

obtain the query from the client node;

develop a query plan based at least in part on the query;

determine the metadata for the node to use in connection with the at least the part of the query;

obtain the metadata from a database catalog that comprises database objects, wherein the metadata is associated with corresponding ones of the database objects; and

provide, to the node, an indication of the at least the part of the query to be processed by the node and the corresponding metadata;

one or more master node memories coupled to the one or more master node processors, configured to provide the one or more master node processors with instructions;

after predetermined period of time:

determine that the one or more other nodes do not have the additional metadata; and

communicate, by the node, a request for the additional metadata to the master node.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2018
From: WELTON, CALEB E.; HARADA, HITOSHI; COHEN, JEFFREY IRA; CHANG, LEI; REDDY, RADHIKA; MA, TAO; WANG, ZHANWEI
To: EMC CORPORATION
Reel/Frame 046226/0259 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2018
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046449/0538 →
Continuity (4)
Continuation 15227518 · Aug 3, 2016
Continuation 13838749 · Mar 15, 2013
Provisional Application 61769043 · Feb 25, 2013
Related Publication 20180276274A1 · Sep 27, 2018
Cited By (1)
US 12,271,375