IP Library Granted Patent US 12688207
Granted Patent B2
US 12688207 · App. 18/902,556 · Granted Jul 21, 2026

Multi-level database catalog

Inventors: Vinay Singh (Sammamish, WA); Krishnaditya Kandregula (Redmond, WA); Sachet Saurabh (Sammamish, WA); Parikshit S Pol (Redmond, WA); Maheshdatta Mishra (Plainfield, IL)
Assignee: Amazon Technologies, Inc.
G06F16/285G06F9/54
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 12688207
App. No.
18/902,556
Granted
Jul 21, 2026
Kind
B2
Abstract

An improved data system supports creation of multiple hierarchical database catalogs under a particular account. Users or organizations have the flexibility to organize their data, native or external, into an n-level hierarchy of their choice. There is a root database catalog of the account, and other catalogs ( 1 or n-levels) are created under it. The data system has extract, transform, and load (ETL) features that allows data to be moved between different data sources and targets.

Claims (96)

1 . A system comprising:

one or more data storage media to store specific computer-executable instructions; and

one or more computer hardware processors in communication with the one or more data storage media, wherein the specific computer-executable instructions configure the one or more computer hardware processors, upon execution of the specific computer-executable instructions, to at least:

receive, via an Application Programming Interface (API), a first command to create a hierarchy of database catalogs;

create, based at least in part on the first command, a catalog data structure comprising a first database catalog with a second database catalog, wherein the second database catalog is a child catalog of the first database catalog;

receive, via the API, a second command to add or update a first governance policy for the first database catalog;

update, based at least in part on the second command, the catalog data structure with the first governance policy for the first database catalog that results in a first updated catalog data structure;

receive, via the API, a third command to add or update a second governance policy for the second database catalog;

update, based at least in part on the third command, the first updated catalog data structure with the second governance policy for the second database catalog that results in a second updated catalog data structure;

receive, via the API, a fourth command to create a first database associated with the second database catalog;

determine that the fourth command is authorized based at least in part on the second governance policy; and

create, based at least in part on the fourth command, the first database associated with the second database catalog that results in a third updated catalog data structure.

2 . The system of claim 1 , wherein further computer-executable instructions configure the one or more computer hardware processors to at least:

receive, via the API, a fifth command to create a connection, the fifth command comprising (i) a connection type and (ii) a connection property indicating an external data store;

establish the connection with the external data store based at least in part on (i) the connection type and (ii) the connection property, wherein the connection is associated with a connection identifier;

receive, via the API, a sixth command to mount an external database catalog, the sixth command comprising (i) a first identifier identifying a third database catalog from the third updated catalog data structure, (ii) the connection identifier, and (iii) a second identifier identifying an external catalog from the external data store;

request, with the connection, a data set from the external data store associated with the second identifier; and

create, based at least in part on the sixth command and the data set, a child node linked to the third database catalog identified by the first identifier that results in a fourth updated catalog data structure.

3 . The system of claim 1 , wherein further computer-executable instructions configure the one or more computer hardware processors to at least:

receive, via the API, a fifth command to create a catalog link, the fifth command comprising (i) a first identifier identifying a third database catalog from the third updated catalog data structure and (ii) a second identifier identifying a fourth database catalog from a different catalog data structure; and

create, based at least in part on the fifth command, a link between (i) the third database catalog and (ii) the fourth database catalog.

4 . The system of claim 3 , wherein additional computer-executable instructions configure the one or more computer hardware processors to at least:

receive a query associated with the third updated catalog data structure, wherein the query canonically refers to the fourth database catalog as if it were included in the third updated catalog data structure;

execute the query against a database associated with the fourth database catalog that results in a first result set; and

provide the first result set from the query that is executed.

5 . The system of claim 1 , wherein further computer-executable instructions configure the one or more computer hardware processors to at least:

receive, via the API, a fifth command to add or update a tag for the second database catalog; and

update, based at least in part on the fifth command, the third updated catalog data structure with the tag for the second database catalog that results in a fourth updated catalog data structure.

6 . The system of claim 5 , wherein the tag is associated with access control, and wherein additional computer-executable instructions configure the one or more computer hardware processors to at least:

receive, via the API, a sixth command to access data associated with the second database catalog;

determine a user profile associated with the sixth command;

determine that the user profile is not associated with the tag; and

deny, to the user profile, access to the data associated with the second database catalog.

7 . A computer-implemented method comprising:

receiving, via an Application Programming Interface (API), a first command to create a hierarchy of database catalogs;

creating, based at least in part on the first command, a catalog data structure comprising a first database catalog with a second database catalog, wherein the second database catalog is a child catalog of the first database catalog;

receiving, via the API, a second command to add or update a governance policy for the second database catalog;

updating, based at least in part on the second command, the catalog data structure with the governance policy for the second database catalog that results in a first updated catalog data structure;

receiving, via the API, a third command to create a first database associated with the second database catalog;

determining that the third command is authorized based at least in part on the governance policy; and

creating, based at least in part on the third command, the first database associated with the second database catalog that results in a second updated catalog data structure.

8 . The computer-implemented method of claim 7 , further comprising:

receiving, via the API, a fourth command to create a connection, the fourth command comprising (i) a connection type and (ii) a connection property indicating an external data store;

establishing the connection with the external data store based at least in part on (i) the connection type and (ii) the connection property;

receiving, via the API, a fifth command to mount an external catalog, the fifth command comprising (i) a first identifier identifying a database catalog from the second updated catalog data structure, (ii) the connection, and (iii) a second identifier identifying a catalog from the external data store;

fetching, with the connection, a data set from the external data store associated with the second identifier; and

creating, based at least in part on the fifth command and the data set, a child node linked to a database catalog identified by the first identifier that results in a third updated catalog data structure.

9 . The computer-implemented method of claim 7 , further comprising:

receiving, via the API, a fourth command to create a catalog link, the fourth command comprising (i) a first identifier identifying a third database catalog from the second updated catalog data structure and (ii) a second identifier identifying a fourth database catalog from a different catalog data structure; and

creating, based at least in part on the fourth command, a link between (i) the third database catalog and (ii) the fourth database catalog.

10 . The computer-implemented method of claim 9 , further comprising:

receiving a query associated with the second updated catalog data structure, wherein the query canonically refers to the fourth database catalog as if it were included in the second updated catalog data structure;

executing the query against a database associated with the fourth database catalog that results in a first result set; and

providing the first result set from the query that is executed.

11 . The computer-implemented method of claim 7 , further comprising:

receiving, via the API, a fourth command to add or update a tag for the second database catalog; and

updating, based at least in part on the fourth command, the second updated catalog data structure with the tag for the second database catalog that results in a third updated catalog data structure.

12 . The computer-implemented method of claim 11 , wherein the tag is associated with access control, further comprising:

receiving, via the API, a fifth command to access data associated with the second database catalog;

determining a user profile associated with the fifth command;

determining that the user profile is not associated with the tag; and

denying, to the user profile, access to the data associated with the second database catalog.

13 . The computer-implemented method of claim 7 , wherein the second updated catalog data structure is associated with a first account, further comprising:

receiving, via the API, a fourth command to mount a database catalog associated with a second account, the fourth command comprising (i) a first identifier identifying a database catalog from the second updated catalog data structure and (ii) a second identifier identifying the database catalog associated with a second account;

fetching a data set from the database catalog identified by the second identifier; and

creating, based at least in part on the fourth command and the data set, one or more children nodes linked to the database catalog identified by the first identifier that results in a third updated catalog data structure.

14 . A system comprising:

one or more data storage media to store specific computer-executable instructions; and

one or more computer hardware processors in communication with the one or more data storage media, wherein the specific computer-executable instructions configure the one or more computer hardware processors, upon execution of the specific computer-executable instructions, to at least:

receive, via an Application Programming Interface (API), a first command to create a connection, the first command comprising (i) a connection type and (ii) a connection property indicating an external data store;

establish the connection with the external data store based at least in part on (i) the connection type and (ii) the connection property;

receive, via the API, a second command to mount an external catalog, the second command comprising (i) a first identifier identifying a first database catalog, (ii) the connection, and (iii) a second identifier identifying a catalog from the external data store;

fetch, with the connection, a data set from the external data store associated with the second identifier; and

create, based at least in part on the second command and the data set, a child node linked to the first database catalog that results in a catalog data structure.

15 . The system of claim 14 , wherein further computer-executable instructions configure the one or more computer hardware processors to at least:

receive, via the API, a fourth command to create a connection, the fourth command comprising (i) a connection type and (ii) a connection property indicating an external data store;

establish the connection with the external data store based at least in part on (i) the connection type and (ii) the connection property;

receive, via the API, a fifth command to mount an external catalog, the fifth command comprising (i) a first identifier identifying a catalog from the catalog data structure, (ii) the connection, and (iii) a second identifier identifying a catalog from the external data store;

fetch, with the connection, a data set from the external data store associated with the second identifier; and

create, based at least in part on the fifth command and the data set, one or more children nodes linked to a catalog identified by the first identifier that results in an updated catalog data structure.

16 . The system of claim 15 , wherein the first database catalog comprises at least one of a table or a volume.

17 . The system of claim 14 , wherein further computer-executable instructions configure the one or more computer hardware processors to at least:

receive, via the API, a third command to create a catalog link, the third command comprising (i) a third identifier identifying a third database catalog from the catalog data structure and (ii) a second identifier identifying a fourth database catalog from a different catalog data structure; and

create, based at least in part on the third command, a link between (i) the third database catalog and (ii) the fourth database catalog.

18 . The system of claim 17 , wherein additional computer-executable instructions configure the one or more computer hardware processors to at least:

receive a query associated with the catalog data structure, wherein the query canonically refers to the fourth database catalog as if it were included in the catalog data structure;

execute the query against a database associated with the fourth database catalog that results in a first result set; and

provide the first result set from the query that is executed.

19 . The system of claim 14 , wherein further computer-executable instructions configure the one or more computer hardware processors to at least:

receive, via the API, a third command to add or update a tag for the first database catalog; and

update, based at least in part on the third command, the catalog data structure with the tag for the first database catalog that results in a second updated catalog data structure.

20 . The system of claim 19 , wherein the tag is associated with access control, wherein additional computer-executable instructions configure the one or more computer hardware processors to at least:

receive, via the API, a fourth command to access data associated with the first database catalog;

determine a user profile associated with the fourth command;

determine that the user profile is not associated with the tag; and

deny, to the user profile, access to the data associated with the first database catalog.