# Snowflake

## Introduction

[Snowflake](https://www.snowflake.com/en/) is a cloud-based data warehousing and analytics platform that enables users to analyze and process large data sets using SQL-like queries. It is highly scalable and allows users to store and query massive amounts of data in real time.

Check out our [Snowflake guides](https://docs.stacksync.com/two-way-sync/connectors/snowflake/authorize-snowflake) to get started and sync data to your other systems and databases!

## Supported Objects

Stacksync lets you sync the following Snowflake table types:

<table><thead><tr><th width="404">Object</th><th>Status<select><option value="a662c4f74a5246de8d959e2d6454c7e2" label="✅ Supported" color="blue"></option><option value="e419d109b16f48f6a6b41f71280b1cd1" label="❌ Not supported" color="blue"></option><option value="95e574ba8f4048a89aaa1f63b28591ef" label="🕘 Coming soon" color="blue"></option></select></th></tr></thead><tbody><tr><td>Standard tables (including Permanent, Transient and Temporary tables)</td><td><span data-option="a662c4f74a5246de8d959e2d6454c7e2">✅ Supported</span></td></tr><tr><td>Views (including materialized and non-materialized views)</td><td><span data-option="95e574ba8f4048a89aaa1f63b28591ef">🕘 Coming soon</span></td></tr><tr><td>External tables</td><td><span data-option="e419d109b16f48f6a6b41f71280b1cd1">❌ Not supported</span></td></tr></tbody></table>

**All field types are supported** except for [geospatial datatypes](https://docs.snowflake.com/en/sql-reference/data-types-geospatial) (i.e. geography and geometry).

## Things to keep in mind

* A Snowflake account with the `SECURITY_ADMIN` and `ACCOUNT_ADMIN` roles is required. The `SECURITY_ADMIN` role will be needed to create a Stacksync Role and User. The `ACCOUNT_ADMIN` will be needed to grant permissions to the Stacksync Role to grant access to the database and schemas, grant privilege to create schemas and tables in the specified database and allow read and write privilege to the tables in the specified database and schemas.
* To sync an existing table from Snowflake, the table must have a primary key which is not nullable and has a default value of `UUID_STRING()`.<br>
