Snowflake is the leading cloud data warehouse platform. Moreover, it is the first data warehouse that was created for the cloud. In this section, we will launch a Snowflake instance and connect to it with Tableau. Currently, Snowflake is available for AWS and Azure. We are going to use the AWS version of Snowflake.
Snowflake has a multi-cluster shared architecture, and it separates storage and computes. This allows it to easily scale up and down on the fly without any disruption.
Snowflake is an SQL data warehouse that supports structured and semi-structured data, such as JSON, AVRO, or XML.
The Snowflake architecture consists of the following three layers:
- Cloud services: This is a collection of services such as authentication, and so on
- Query processing: Snowflake executes queries using a virtual warehouse, for example, an MPP cluster with multiple compute nodes using Amazon EC2 or Azure virtual machines
- Database storage: Snowflake stores optimized data in Amazon S3 or Azure Blob Storage
Let's take a look at the following diagram that depicts the preceding mentioned layers:
There is the same principle when we allow Snowflake to do the heavy lifting and then, Tableau renders the results. As a result, we don't need to use Tableau extracts.
With a live connection, we should avoid a custom SQL data source because often it is counterproductive, and could be run multiple times on the dashboard. Tableau itself can generate much more efficient queries.