Snowflake enables sharing of data through named Snowflake objects called shares which supports data sharing by sharing tables, secure views, and secure UDFs in our Snowflake database (Data Provider) with other Snowflake accounts (Data Consumer).
If the data consumer does not have a Snowflake account then we can create a reader account through which we can share data without requiring the consumer to become a Snowflake customer. All database objects shared between accounts are read-only so data consumers cannot make any change to the data.
In secure data sharing, data is not actually copied or transferred between accounts; it means that shared data does not take up any storage in a consumer account. The only charges to consumers are for the compute resources used to query the shared data. In the case of a reader account, the provider will be charged for the compute resources used by users in the reader account.
Data shares and reader accounts must be located in the same region of the same Cloud Provider (AWS, Azure or GCP). Data consumers cannot re-share the shared data with other accounts. In reader accounts data consumers are allowed to create new users.
To start sharing data we need to do the following:
• Create an empty share using CREATE SHARE DDL or via Snowflake Web UI.
• Add objects to the share by granting privileges. For database/schema grant USAGE privilege and for objects (tables, secure views, and secure UDFs) in the shared schema grant SELECT privilege to share.
• Add one or more accounts to the share using ALTER SHARE DDL or via Snowflake Web UI.
• Review accounts added to the share using SHOW GRANTS OF SHARE DDL.
• That’s all the share is now ready to be consumed by Data Consumer.
DataTerrain, with years of experience and reliable experts, is ready to assist. We have served more than 250 customers in the US and over 70 customers worldwide. We are flexible in working hours and do not need any long-term binding contracts.