Skip to main content

Guide: Snowflake Egress

Customer Snowflake Egress Implementation Guide

Patrick Pohler avatar
Written by Patrick Pohler
Updated over a week ago

Summary

Cherre Egress for Snowflake allows Cherre customers to access most of their transformed data in their own Snowflake Data warehouse allowing Cherre to be incorporated into larger data strategies and integrate with additional data sets within the organization.

The implementation of the egress is very straightforward and leverages Snowflake’s native data sharing capabilities. The basic steps of the implementation are:

  1. Send Snowflake Account Identifier & list of desired tables

  2. Create Database from Cherre Egress for Snowflake Data Share

  3. Identify or create role to apply Cherre Egress for Snowflake Data Share permissions to

  4. Import Cherre Egress for Snowflake Data Share permissions to desired role

  5. Execute Cherre Egress for Snowflake Readiness Checks

Once these steps are completed, clients will have direct access to their Cherre data in Snowflake.

Introduction to Cherre Egress for Snowflake

The Cherre Egress for Snowflake uses Snowflake Data Sharing to deliver a read-only copy of select Cherre data, including custom ingest data and Data Partner specific, into a client hosted Snowflake environment via the Cherre Analytics API.

The Snowflake Database Share will be initially seeded with data that has already been ingested by Cherre to date, and then updated incrementally based on the client’s Egress configuration. Generally this is daily. Access to the shared data is controlled by client managed Snowflake Database Roles.

Implementation Checklist

  1. Send Snowflake Region & Account Identifier as well as a list of desired tables/schema to Cherre

  2. Create Database from Cherre Egress for Snowflake Data Share

  3. Identify or create a role to apply Cherre Egress for Snowflake Data Share permissions

  4. Import Cherre Egress for Snowflake Data Share permissions

  5. Run Cherre Egress for Snowflake Readiness Checks

Implementation Steps

Send Snowflake Account Identifier & List of Desired Tables to Cherre

Before starting the implementation of a Cherre Egress for Snowflake, there is some information Cherre needs before it can start the configuration:

Once Cherre has these details, the implementation of a Cherre Egress for Snowflake can begin.

Create Database From Cherre Database Share

Once Cherre has successfully deployed and configured Cherre Egress for Snowflake for the client, the first step is to create a database from the newly created Cherre Share. Clients can find details on this in the Snowflake documentation under “Creating a Database from a Share”.

Here is a sample SQL command to create the database:

CREATE DATABASE <name> FROM SHARE <Cherre provided share name>;

Connector Stages

Cherre delivers data through 3 different Connector “Stages” that allow clients, partners and Cherre team members to test and verify data in a Connector before it moves to production.

DEV Stage

The DEV stage is meant to allow for the review of Connector updates, including schema changes, transformation updates, and other updates that could impact downstream systems and products.

QC Stage

The QC stage is meant to support pre-production environments for clients and partners. Once updates are verified within the DEV stage, QC stage pipelines are meant to support what is often referred to as a UAT environment for products.

PUB Stage

The PUB stage represents a production environment pipeline that is stable and is subject to SLAs within our agreements.

In order to support Cherre’s DEV, QC, and PUB Connector stages, up to 3 Snowflake databases can be made available to clients. For all data delivered through each stage of a Connector, the data will be made available in the associated Snowflake database and share.

Identify or Create Role to Apply Cherre Egress for Snowflake Data Share Permissions

Clients can either import permissions to the Cherre Egress for Snowflake Database Share to an existing role or create a new one. The choice is up to the client. It all depends on how the client wants to apply permissions to their data. The permissions on the shared data are provided by Cherre and can be applied to one or more roles.

Import Cherre Egress for Snowflake Data Share Permissions

To import the Cherre Egress for Snowflake Share permissions and apply them to a role, use the following command:

GRANT IMPORTED PRIVILEGES ON DATABASE <database_name> TO ROLE <role_name>;

Repeat this step for each role the permissions should be applied to.

Once this is complete the Cherre Snowflake for Egress is live!

Monitoring Cherre Egress for Snowflake

The volume and frequency of the actual data being egressed is highly dependent on the dataset. For example, data being ingested daily will have daily egress records whereas data being ingested monthly will only produce records monthly. Clients should consider this when applying data quality monitors to their Cherre Egress for Snowflake data. Most data reliability tools can dynamically support this.

Did this answer your question?