Snowflake Data Sharing Introduction (Snowflake Certification)
Data Sharing is one of the key differentiator in Snowflake and certification exam will ask 4-5 questions on this subject area.
Data Sharing feature saves the cost, bring a lot of flexibilities when comes to data movement over traditional approaches (FTP/APIs/ETLs/Cloud Storage like S3 etc). Shared objects are 1st class objects and no hard limit on sharing. Shared objects, providers, consumers, readers & limitation with different snowflake editions are key concepts and knowing/understanding them for practical purpose is very important.
Snowflake Data Sharing : Genera Cheat Sheet
- No data copy and no movement anywhere.
- The sharing feature is achieved by using global service layer and metadata layer, hence this operation does not cost even a single penny.
- Storage in producers account, compute (VHW) in consumer’s account.
- Once share object is created, one or more consumer can be added.
- Reader’s account is an alternative to share data if consumer does not have Snowflake account.
- No hard limits on the number of shares you can create or the number of accounts you can add to a share.
- Traditional Data Sharing (some questions may come asking for advantage snowflake over traditional approach)
- Email - easy but 25Mb limit, not secure
- FTP - easy but administration and deconstruct
- ETLs - mature but time taking and complex/costly, build for specific purpose
- APIs - okay for small data and issue with large data set
- Cloud Storage - lot of service available but DML not supported on these data set, less performance when query data
Important Notes for the Certification Exam
- Snowflake enables sharing of DB through share objects, created by data providers and “imported” by data consumers.
- Share objects does not come under database or schema context. They are at account level.
- Snowflake uses secure data sharing to share account usage data and sample data sets with all Snowflake accounts
- All database objects (tables, views etc) shared between accounts are read-only
- Tip: objects cannot be modified or deleted, including adding or modifying table data, even can not be cloned)
- Data sharing is currently only supported between accounts in the same region. [Important]
- Any full Snowflake account can both provider and consumer shared data [Important]
- Sharing data from multiple table via secure views. [Important]
- Tip: for secure views, grant reference usage is given on each database.
- VPS (Virtual Private Snowflake) does NOT support Secure Data Sharing [Important]
- The webUI does not currently support add/removing secure UDFs from shares. To be done via SQL [Important]
Snowflake Caching Summary Video
Snowflake SnowPro Practice & Reading Guide
SnowProc Certification Cheat Sheet
Refer topic wise important notes and cheat sheet
- Snowflake SnowPro Complete Guide
- Architecture Cheat Sheet
- Snowflake Data Sharing Cheat Sheet
- Snowflake SnowPipe Cheat Sheet
- Snowflake Stream & Task Jump Start
- Snowflake Stream And Task Beginner's Guide