Skip to main content

Understanding the Snowflake Reader

Distributor overview of the Encompass Snowflake Reader: a paid, read-only Snowflake account for querying production data or connecting BI tools like Power BI. Requires setup by Encompass; v22.01+.

B
Written by Bailey Naas-Thornton

Minimum Version Required: 22.01

Pre-Conditions

  • Encompass Snowflake Readers require a manual setup by Encompass, and do incur a fee.
    ​
    ​

  • Please contact Encompass to get started.

Steps

Warning: Snowflake Reader Accounts are recommended only for technical users. Utilizing and managing the account requires SQL database management experience.

Encompass does not provide direct support on managing your Snowflake account.

Encompass systems can opt-in to utilizing a Snowflake Reader instance. This is a Snowflake account, setup by the Encompass team as a sub-account to the primary Encompass Snowflake instance.


In this account, Encompass will share a read-only database that contains all of the same information as the production Encompass database, allowing you to connect to it directly (example: via ODBC) and run queries on the data. This also includes access to the online Snowflake interface, called Snowsight.
​
​

It is important to note: the data is not replicated to the reader account, it instead provides a direct read-only view to the actual production data, so there is no additional delay in data updating for queries run in the reader account.

Example use cases include:

  • Connecting a 3rd party BI tool, such as Tableau, PowerBI, Qlik, Looker, Sigma, etc.
    ​
    ​

  • Extracting the data for usage in another service or integration (note: Encompass APIs are typically more efficient for this, but sometimes ODBC access is preferred)
    ​
    ​

  • Running direct queries in the Snowflake UI to troubleshoot or gain insight into the underlying system data

Setup process for Encompass Snowflake Readers:

  1. Reach out to Encompass to request a reader account is added
    ​
    ​

  2. Encompass will send you an SOW for the cost of adding the account
    ​
    ​

  3. After the SOW is signed, Encompass will create the account and setup 1 initial admin user, which is shared to the primary contact at your organization
    ​
    ​

  4. The person who receives the initial user can login and add addional users with their desired permission levels
    ​
    ​

  5. Usage of the Snowflake account is tracked by Snowflake, and Encompass places the usage charges (a pass-through) onto your quarterly Encompass invoice

Other items to be aware of:

  • After the initial account creation, Encompass is not responsible for access controls in the reader account. It is your organization's responsibility to control the permissions and users in that sub-account.
    ​
    ​

  • Snowflake does support various levels of permission, includuing row level permissions. For information about these controls, start with the Snowflake GRANT Documentation, User Management Documentation, and the Row Access Policy Documentation. These are not setup by default and will need to be setup by the administrator at your organization, if they are needed.
    ​
    ​

  • Because this is a technical service, standard Encompass support cannot help with configuring the account or troubleshooting queries. Please use the Snowflake documentation to research issues in these areas
    ​
    ​

  • Snowflake performance varies based on the size of the warehouse selected, and the amount of time it is running. Encompass charges are a pass-through of your actual Snowflake usage. See Understanding Snowflake Cost for more information
    ​
    ​

  • Enrolling in a Encompass Snowflake Reader has a minimum time period of 1 quarter, but can be cancelled at any time after.

Best Practices

  • Ensure your warehouses in Snowflake are always auto-suspending.
    ​
    ​

  • Always start with the X-Small instance size in Snowflake and scale up from there as needed. Most workloads do not have issues running on a single X-Small warehouse.
    ​
    ​

  • Snowflake is a columar database, which means that queries are typically faster when utilizing the least amount of columns possible. Use the Snowflake Query Profiler to optimize queries and make them faster/cheaper.
    ​
    ​

  • Create individual users for each person who will be accessing Snowflake (not shared users) and close access when they no longer need it. This ensures security, especially if someone were to leave the company or move to another department.
    ​
    ​

Did this answer your question?