Snowflake private listing, marketplace listing, and data exchange reader accounts


Provider:

-- Create Database
CREATE DATABASE exchange_rates_db;

-- Use Database
USE DATABASE exchange_rates_db;

-- Create Schema
CREATE SCHEMA exchange_rates_schema;

-- Create Table
CREATE TABLE exchange_rates_schema.exchange_rates (
    date DATE,
    currency_from VARCHAR(3),
    currency_to VARCHAR(3),
    exchange_rate NUMBER
);

-- Insert Rows
INSERT INTO exchange_rates_schema.exchange_rates (date, currency_from, currency_to, exchange_rate)
VALUES
    ('2023-06-01', 'USD', 'EUR', 0.89),
    ('2023-06-01', 'USD', 'GBP', 0.78),
    ('2023-06-01', 'USD', 'JPY', 109.50),
    ('2023-06-01', 'EUR', 'USD', 1.12),
    ('2023-06-01', 'GBP', 'USD', 1.28),
    ('2023-06-01', 'JPY', 'USD', 0.0091),
    ('2023-06-01', 'EUR', 'GBP', 0.91),
    ('2023-06-01', 'EUR', 'JPY', 122.80),
    ('2023-06-01', 'GBP', 'EUR', 1.10),
    ('2023-06-01', 'JPY', 'EUR', 0.0081);

show shares;

Consumer:

SELECT * FROM EXCHANGE_RATES_LISTING.EXCHANGE_RATES_SCHEMA.EXCHANGE_RATES




Hello Data Pros, and welcome back to another exciting video of our Snowflake learning series!

In our last video, we discussed Snowflake's secure data sharing, and demonstrated how it works!

Today, we'll continue from where we left off, and explore Snowflake's advanced data sharing and collaboration features, such as private listing, marketplace listing, and data exchange! Furthermore, we will also talk about special-purpose Snowflake accounts known as reader accounts!

 

Let's jump right in, and talk about listings!

Snowflake listings are an enhanced method of Secure Data Sharing, using the same provider and consumer model.

 

For instance, with listings, you can easily share data across different regions and cloud platforms. Unlike direct sharing, which requires a manual replication setup, listings automate the replication of data.

However, it's important to note that there are additional costs at the provider's end for each region or cloud platform where the data is replicated.

 

Another interesting feature of listings is the option to charge consumers for data. This enables organizations to monetize their data assets.

 

When you choose listings, you can include additional metadata along with the shared data, such as a title, description, data dictionary, and sample queries. This makes it easier for consumers to understand and quickly start using the shared data.

 

Listings also allow providers to view consumer usage metrics, such as which consumers access the shared data the most, and which objects are accessed frequently. This helps providers in planning their future listing and pricing strategies accordingly.

 

Based on who can discover, listings can either be private or public. In a private listing, you explicitly specify Snowflake accounts that can discover your listings. On the other hand, a public listing is discoverable to all Snowflake customers through Snowflake’s marketplace.

 

Let’s go ahead and create a private listing.

You can create a listing using the provider-studio tab.

Give a name for your listing.

You have 2 options from here, you can select your existing share object, or Select the individual objects in your account that you want to share.

If you select individual objects, a new share is automatically created as part of this process, you can change the name of it as you wish.

Please provide some descriptions to help consumers get started quickly.

Add the consumer accounts that you want to give access to this listing.

Once you’re ready, go ahead and publish the listing.

 

Please note that paid listings are not available by default. To become a provider of paid listings, you need to contact Snowflake support and complete certain procedures.

 

Now, switching to a consumer account, the consumer can access private sharing and gain access to the data shared via private listings.

 

While it may seem similar to direct sharing that we covered in our previous video, please remember listings offer all these additional features beyond basic sharing.

 

 

Moving forward, let’s explore Marketplace listings! The marketplace is an excellent resource if you’re looking for common datasets from external sources. Take a look at this extensive list of business categories where data is available.

 

As we are already aware, listing allows you to monetize your data asserts, so based on the pricing the listing can be further categorized as Free,  Trial, and Paid.

 

To list your product on the Snowflake marketplace, you would use the same provider studio, but this time you should choose “Anyone on the Marketplace” on this prompt.

Please note, to become a marketplace data provider, you should reach out to Snowflake support and complete the formalities as mentioned already.

 

Continuing our journey, let's explore Data Exchange!

The Marketplace serves as a public hub, where any Snowflake account holder can participate as a provider or consumer.

 

However, if you want to set up a hub similar to the Snowflake Marketplace, but need full control over it, like deciding who can be a provider and who can be a consumer. And especially if you do not want to make it publicly discoverable to all users. For such use cases, Snowflake offers another collaboration feature called Data Exchange. As a Data Exchange owner, you have complete control over the hub.

If you're interested in setting up Data Exchange, please contact Snowflake support.

 

 

 

We've reached the final part of this video: reader accounts!

Typically, both providers and consumers are full-fledged Snowflake accounts. However, there are situations where you may need to share data with someone or an entity, that does not have a Snowflake account, or is not ready to sign up for some reason. In such cases, the provider can create reader accounts within their Snowflake account.

 

When these reader accounts query the shared data, or create materialized views, the respective compute and storage usage is billed to the provider's account.

 

As the name implies, reader account is intended primarily for querying data shared by the provider of the account. The reader account can work with data, by creating materialized views. However, they cannot perform the following tasks in a reader account.

 

The provider can create reader accounts with this command, alternatively it can be created using the snowflake UI.

The reader account gets its own Snowflake log in URL.

 

Once provisioned please copy this reader account detail. And provide access to the relevant shares as required.

 

Let’s log in with the reader account URL.

newly-created reader account initially includes only a single user, who serves as the administrator for the entire account.

The account administrator must then create a minimum set of additional objects within the account, including virtual warehouses, users, and roles as required.

 

The reader account can now create a database using the shared data from the provider, and start running queries against it.

 

That's all for today! Please stay tuned for our next video where we’ll explore more advanced Snowflake features!

If you found this video helpful, please give it a thumbs up, and hit that subscribe button to stay up-to-date with the latest technologies!

Thanks for watching!

 

 

 

 

 

If the consumer navigates to ‘Private Sharing’, and ‘Shared with You’, they will be able to see the new listing. They just need to select "Get" and follow the on-screen instructions.

They can now query the data that was included in the listing. With the fully qualified table name, they can even join this table to their own tables to gain more insights.

 

 

See how easy it is to get data available in the Snowflake Marketplace!

 

 

 

 

 

 




Comments

Popular posts from this blog

How to Install Airflow on Windows

How to Install DBT and Set Up a Project, Create Your First dbt Model

Airflow DAGs, Operators, Tasks & Providers