Data Sharing Across Clouds
Give partners the data without giving away the files
Modern clouds share governed datasets across organizations — no emailing CSVs, no ETL between orgs — via reader/shareable catalogs, external cross-cloud replication and cleanrooms.
What you will learn
- Distinguish native listing/shares, external catalogs and cleanrooms
- Design sharing with respect to timeliness, cost and revocation
- Apply governance: lineage, restrictions and audit of who sees what
What is this?
Data sharing replaces file-shipping with governed, direct access between clouds: an owner publishes a table (Snowflake share, BigQuery listings, AWS Data Exchange) and a consumer reads it live without ETL; external catalogs (Unity Catalog, BigQuery Omni/Cross-cloud replication) bridge stores across clouds; cleanrooms allow analysis on the union of two parties' data without either seeing raw records. Sharing is reversible — the owner can revoke or restrict access at the metadata layer instead of 'deleting the file'.
Why do you need it?
- No 3-hour CSV wrangling: consumers read the vendor's latest rows the moment they change.
- Governance stays with the producer: row/column via data policies, revocation at any time.
- Cleanrooms unlock collaborative analytics without a courtroom for the raw data.
- Reduced duplicate storage: you don't copy payloads you share read-only.
Mental model
A publishing house giving libraries a reading-room license, not printed copies
Data sharing
The library reads every edition live in a governed reading room; the publisher revokes a subscription, not a book. Data shares are reading-room licenses — live, revocable, and nothing leaves the publisher's hands.
How it works
- Lists/shares: producer publishes a catalog entry with permissions; reader's account binds it read-only.
- External catalogs: Iceberg/Delta catalogs attached across clouds let one engine query another's data (BigQuery on S3, Databricks UC on Snowflake).
- Cleanrooms: differential-privacy or SQL-limited analysis on combined datasets; raw rows never cross.
- Replication: for latency/cost, copy a subset with a schedule rather than live reads.
- Security: producer-side row/column policies, consumer-side contracts, full audit logs on both ends.
Producer publishes, consumer binds; both sides audit.
In production
- A marketplaces shares inventory availability with 200 suppliers via BigQuery listings; suppliers query live demand without ever holding the file.
- Two health insurers run a cleanroom cohort study: dimension counts aggregate on their combined data; no patient rows cross systems.
- A financial vendor replicates a read-only copy of its curves daily across regions to keep cross-cloud consumers fast, then revokes access when the contract ends.
Best practices
- Publish with row/column policies from day 1; retrofitting governance on shared data is painful.
- Prefer live reads for freshness; replicate only when latency/cost mandates it.
- Write the revoke-and-audit plan into the contract: what gets cut, what log survives.
- Test consumer expectations (freshness SLA, schema) against the share like any external contract.
Common mistakes
- Emails with CSVs 'temporarily' that become the architecture for years.
- Sharing a full table when a materialized view with policies would do.
- Forgetting that external catalogs still bill cross-cloud egress for large scans.
- Cleanroom hubris: a wrong aggregation on shared data leaks individuals — validate before sharing.
Debugging tips
- Consumer 'can't see data' → check binding activation, row/column policies and region replication lag, in that order.
- Slow shared queries → the scan runs in the producer's region; consider replicating a partition locally.
- Denied after a contract change → re-verify listing permissions on both the catalog and the underlying policies.
- Cleanroom anomaly → validate the join key space; common key leakage is the classic subtle bug.
Interview checkpoint
Hands-on lab
- Model a producer's share with row/column policies
- Simulate binding and revocation of a consumer
- Enforce cleanroom-style output restrictions
Model a Governed Share and Cleanroom
30 min · advanced
Quick quiz
The best reason to use a data share over emailing a CSV:
A cleanroom lets both parties run analytics on combined data without exposing raw rows.