Accessing listings in a data exchange
AssigneeSnowflake Inc.
InventorsPui Kei Johnston Chu, Benoit Dageville, Matthew J. Glickman, Christian Kleinerman, Prasanna Krishnan, Justin Langseth
Life of this patent
Estimating the term…
Abstract
A data warehouse storing databases for a plurality of users, including service providers hosting data for other users of the data warehouse may implement a data exchange. The data warehouse to verify identity of users and execute instructions with respect to databases of the data warehouse.
Claims30
A method of providing controlled access to a data exchange comprising:
- creating, in the data exchange, a listing referencing data of a first database of a plurality of databases, wherein the listing comprises access controls and a data share associated with a first user, the access controls comprising controls on access to the data share by a second user;
- adding the listing to a catalog comprising one or more selectable listings;
- and
- in response to receiving a request from the second user to access the listing from the catalog:
- filtering, by a hardware processor, the data of the first database based on the access controls of the listing to generate filtered data of the data of the first database;
- creating a reference database comprising additional data from a second database and a reference to the filtered data that was filtered from the data of the first database, the reference database comprising a secure database view supporting database operations to the filtered data using the reference to the filtered data within the first database and the additional data from the second database, wherein the secure database view is provided by a secure join operation between the filtered data within the first database and the second database;
- and
- adding a reference to the reference database to a set of consumed data shares associated with the second user.
A system for providing controlled access to a data exchange comprising:
- a memory;
- and
- a hardware processor, operatively coupled to the memory, the hardware processor to:
- create, in the data exchange, a listing referencing data of a first database of a plurality of databases, wherein the listing comprises access controls and a data share associated with a first user, the access controls comprising controls on access to the data share by a second user;
- add the listing to a catalog comprising one or more selectable listings;
- and
- in response to a request from the second user to access the listing from the catalog, the hardware processor further to:
- filter the data of the first database based on the access controls of the listing to generate filtered data of the data of the first database;
- create a reference database comprising additional data from a second database and a reference to the filtered data that was filtered from the data of the first database, the reference database comprising a secure database view supporting database operations to the filtered data using the reference to the filtered data within the first database and the additional data from the second database, wherein the secure database view is provided by a secure join operation between the filtered data within the first database and the second database;
- and
- add a reference to the reference database to a set of consumed data shares associated with the second user.
A non-transitory computer-readable medium having instructions stored thereon which, when executed by a hardware processor cause the hardware processor to:
- create, in a data exchange, a listing referencing data of a first database of a plurality of databases, wherein the listing comprises access controls and a data share associated with a first user, the access controls comprising controls on access to the data share by a second user;
- add the listing to a catalog comprising one or more selectable listings;
- and
- in response to receiving a request from the second user to access the listing from the catalog:
- filter, by the hardware processor, the data of the first database based on the access controls of the listing to generate filtered data of the data of the first database;
- create a reference database comprising additional data from a second database and a reference to the filtered data that was filtered from the data of the first database, the reference database comprising a secure database view supporting database operations to the filtered data and the additional data from the second database, wherein the secure database view is provided by a secure join operation between the filtered data within the first database and the second database;
- and
- add a reference to the reference database to a set of consumed data shares associated with the second user.
Dependencies are inferred from the claim text.