Overview of Key Features¶
This topic lists the notable/significant features supported in the current release. Note that it does not list every feature provided by Snowflake.
Security, Governance, and Data Protection¶
Choose the geographical location where your data is stored, based on your region.
User authentication through standard user/password credentials.
Enhanced authentication:
All communication between clients, including all Snowflake connectors and drivers, and the server is protected through TLS.
Deployment inside a cloud platform VPC (AWS or GCP) or VNet (Azure).
Isolation of data (for loading and unloading) using:
Support for PHI data (in compliance with HIPAA and HITRUST CSF regulations) — requires Business Critical Edition (or higher).
Automatic data encryption by Snowflake using Snowflake-managed keys.
Snowflake Time Travel (1 day standard for all accounts; additional days, up to 90, allowed with Snowflake Enterprise) for:
Querying historical data in tables.
Restoring and cloning historical data in databases, schemas, and tables.
Snowflake Fail-safe (7 days standard for all accounts) for disaster recovery of historical data.
Column-level Security to apply masking policies to columns in tables or views — requires Enterprise Edition (or higher).
Row-level Security to apply row access policies to tables and views — requires Enterprise Edition (or higher).
Object Tagging to apply tags to Snowflake objects to facilitate tracking sensitive data and resource usage — requires Enterprise Edition (or higher).
Differential privacy to protect data against targeted privacy attacks. — requires Enterprise Edition (or higher).
Standard and Extended SQL Support¶
Most DDL defined in SQL:1999, including:
Standard DML such as UPDATE, DELETE, and INSERT, as well as more advanced DML:
Temporary and transient tables for transitory data.
Analytical aggregates (Group by cube, rollup, and grouping sets).
Parts of the SQL:2003 analytic extensions:
Scalar and tabular user-defined functions (UDFs), with support for Java, JavaScript, Python, Scala, and SQL.
Stored procedures and procedural language support (Snowflake Scripting)
Snowflake Information Schema for querying object and account metadata, as well as query and warehouse usage history data.
Recursive queries, including:
Tools and Interfaces¶
Snowsight for account and general management, monitoring of resources and system usage, and querying data.
Virtual warehouse management from the GUI or command line, including creating, resizing (with zero downtime), suspending, and dropping warehouses.
Snowflake Extension for Visual Studio Code - Detailed instructions for installing, configuring and using the Snowflake Extension for Visual Studio Code.
Apps and Extensibility¶
APIs for Java, Python, and Scala with which you can build applications that process data in Snowflake without moving data to the system where your application code runs.
A framework for creating applications to share data content and application logic with other Snowflake accounts.
A RESTful API for accessing and updating data.
Support for running Streamlit apps natively in Snowflake to create and share custom web apps for machine learning and data science.
Support for developing procedures and user-defined functions (UDFs) with a handler in one of several programming languages.
Extensive set of client connectors and drivers provided by Snowflake:
Snowpark Container Services is a fully managed container offering that helps you easily deploy, manage, and scale containerized applications.
Connectivity¶
Broad ecosystem of supported 3rd-party partners and technologies.
Support for using free trials to connect to selected partners.
Data Import and Export¶
Support for bulk loading and unloading data into/out of tables, including:
Load any data that uses a supported character encoding.
Load data from compressed files.
Load most flat, delimited data files (CSV, TSV, etc.).
Load data files in JSON, Avro, ORC, Parquet, and XML format.
Load from files in cloud storage or local files using the Snowflake web interface or command line client.
Support for continuous data loading from files:
Use Snowpipe to load data in micro-batches from internal (i.e. Snowflake) stages or external (Amazon S3, Google Cloud Storage, or Microsoft Azure) stages.
Support for accessing data in S3-compatible storage.
Data Sharing¶
Support for both sharing data in secured objects and sharing data in non-secure views with other Snowflake accounts:
Provide data to other accounts to consume.
Consume data provided by other accounts.
Support for collaborators using Snowflake Data Clean Rooms to share data in a privacy-preserving environment.
Replication and Failover¶
Support for replication and failover across multiple Snowflake accounts in different regions and cloud platforms:
Replicate objects between Snowflake accounts (within the same organization) and keep the objects and stored data synchronized.
Configure failover to one or more Snowflake accounts for business continuity and disaster recovery.