Data Sharing and Marketplace
Secure data sharing, reader accounts, listings, clean rooms, and cross-organization governance.
Data Sharing and Marketplace From Scratch
Snowflake data sharing lets one account provide live governed data to another account without copying files back and forth. Marketplace builds on this for discoverable data products.
Why this matters: Companies constantly exchange data with customers, partners, vendors, and internal business units. File exports create stale copies, security risk, and operational overhead.
The Concepts You Must Own
- ✓Secure shares expose selected databases, schemas, tables, or views to consumers.
- ✓Consumers query shared data without owning a physical copy.
- ✓Reader accounts can serve consumers without their own Snowflake account.
- ✓Listings package shares for discovery and governed distribution.
- ✓Clean rooms support privacy-preserving collaboration patterns.
| Concept | Meaning | Why it matters |
|---|---|---|
| Share | Provider object for granting data access. | Controlled data distribution. |
| Consumer | Account using shared data. | Queries current provider data. |
| Reader account | Provider-managed consumer account. | Useful when customer lacks Snowflake. |
| Listing | Marketplace/discoverable package. | Commercial or internal data products. |
| Clean room | Governed collaboration environment. | Privacy-preserving joint analysis. |
Step-by-Step Workflow
- ✓Create curated provider views that expose only intended data.
- ✓Create a share and grant usage/select on approved objects.
- ✓Add consumer accounts or publish a listing.
- ✓Monitor usage and maintain data contracts.
- ✓Use clean room patterns when both parties need controls over sensitive joins.
CREATE SHARE CUSTOMER_USAGE_SHARE;
GRANT USAGE ON DATABASE ANALYTICS TO SHARE CUSTOMER_USAGE_SHARE;
GRANT USAGE ON SCHEMA ANALYTICS.SHARING TO SHARE CUSTOMER_USAGE_SHARE;
GRANT SELECT ON VIEW ANALYTICS.SHARING.CUSTOMER_DAILY_USAGE
TO SHARE CUSTOMER_USAGE_SHARE;
ALTER SHARE CUSTOMER_USAGE_SHARE
ADD ACCOUNTS = XY12345;
-- Consumer side:
CREATE DATABASE PROVIDER_USAGE
FROM SHARE PROVIDER_ACCOUNT.CUSTOMER_USAGE_SHARE;Do not read the example as magic syntax to memorize. Read it as a production habit: name the objects clearly, make assumptions visible, preserve enough metadata to debug later, and keep the business promise attached to the SQL.
Common Mistakes That Break Snowflake Projects
- ✓Sharing raw tables instead of stable curated views.
- ✓Forgetting that object names and schemas become part of a data product contract.
- ✓Exposing sensitive columns because internal grants were copied blindly.
- ✓Not monitoring whether consumers still use a share.
- ✓Treating sharing as a one-time setup instead of a product lifecycle.
How to debug this topic
Start by asking what promise failed: freshness, correctness, access, speed, or cost. Then inspect the Snowflake evidence: query history, warehouse metering, task history, copy history, grants, row counts, and sample records. Good Snowflake debugging is not guessing. It is reading the platform metadata until the failure has a shape.
Production Notes
- ✓Publish data dictionaries and freshness expectations with shared datasets.
- ✓Use secure views when business logic or filtering must be controlled.
- ✓Create provider-side monitoring for share usage and failures.
- ✓Review legal/compliance requirements before cross-organization data sharing.
Production standard: A Snowflake design is not complete when the query returns rows. It is complete when the team knows who owns it, how fresh it should be, how access is controlled, what it costs, how to detect failure, and how to recover safely.
Explain It Like a Professional
Snowflake secure data sharing lets providers expose selected data to consumers without file copies. Consumers query live shared data. Strong answers mention curated views, reader accounts, Marketplace listings, clean rooms, governance, contracts, and auditing.
Mini project
Create a customer-facing share for daily usage metrics. Expose only aggregated data through a secure view, document freshness, add a consumer account, and build a usage-monitor query.
Questions you should answer out loud
- ✓How would you explain Data Sharing and Marketplace to a non-technical manager?
- ✓Which Snowflake objects, roles, or SQL statements does this topic use?
- ✓What can fail in production and which metadata view would you inspect first?
- ✓What is the cost or security risk if this is implemented carelessly?
- ✓How would you test that the result is correct and rerunnable?
🎯 Key Takeaways
- ✓Data sharing reduces stale file-copy workflows.
- ✓Share curated, governed objects, not accidental raw tables.
- ✓Consumers can query shared data live.
- ✓Marketplace and clean rooms extend sharing into data products.
- ✓A shared dataset needs ownership, documentation, and monitoring.
Discussion
0Have a better approach? Found something outdated? Share it — your knowledge helps everyone learning here.