Architecture Overview Flashcards
Supported Data Types in Snowflake
Most basic SQL data types
Cloning in Snowflake
Cloning in Snowflake is a relatively unique feature to Snowflake. This allows for direct replication of an object.
What objects can be cloned in Snowflake?
- Databases
- Schemas
- Non-temporary tables
Cloned Object inheritance
Cloned Objects inherit the parameter values set at the account level by default, but can be overwritten by individual objects.
Do changes made to the source of a clone flow over to the clone?
No
Requirements to create a clone tables?
You must have SELECT access to that table.
Requirements to create clones for pipes, streams, or tasks?
OWNERSHIP access on the object.
Requirements to create a clone for remaining objects? (excluding table, pipes, streams, and tasks)
USAGE
Does a clone contribute to overall data storage costs?
Only after the clone has been modified from its source.
Secure Data Sharing
Enables selected objects in a database within your account to be shared with other Snowflake accounts.
Objects that can be shared with Secure Data Sharing
- Tables
- External Tables
- Secure Views
- Secure Materialized Views
- Secure UDFs
Access Writes on shared database objects?
Read-only
Are there any limits on the shares you can export/import as a provider/consumer?
No
Is any data copied with Secure Data Sharing?
No, all sharing is accomplished through Snowflake’s Cloud Services Layer, so shared data does not take up any storage in the consumers account.
Shares
Snowflake enables the sharing of databases through shares, which are created by data providers and imported by consumers.
Shares are named objects that encapsulate all the information required to share a database.
Components of a Share
- Privileges that grant access to the database(s) and the schema(s) containing the objects to share.
- Privileges that grant access to the specific objects in the database.
- The consumer accounts with which the database and its objects are shared.
Data Provider
Any Snowflake account that creates shares and makes them available to other Snowflake accounts to consume. As a provider you share a database with one or more Snowflake account.
Data Consumer
Any account that chooses to create a database from a share made available by a provider.
Once a shared database is added to your account you may query that database just as you would any other database in your account.
Can data sharing be done between non-Snowflake accounts?
No, you must create a Snowflake reader account if your Consumer is not ready to become a Snowflake customer.
Who does a reader account belong to?
It belongs to the Provider account that created it.
Limitations of a Reader Account?
Reader Accounts can query data that has been shared with it, but cannot perform any DML tasks allowed with a full account.
Snowflake Data Marketplace
Data Marketplace uses Snowflake Secure Data Sharing to connect providers of data with Consumers directly within Snowflake itself.
This allows for third party data providers to provide datasets directly into your Snowflake account to query without transformation.
Snowflake Data Marketplace provides a single location to source this data from various vendors.
Snowflake Marketplace Availability
Data Marketplace is available to all Snowflake accounts except for Azure Government hosted accounts and VPS accounts.
Role Requirements to create Databases from Snowflake Marketplace
Users/role with the IMPORT SHARE privilege are the only ones who can create databases from Snowflake Marketplace.