Overview of key features¶
This topic lists the notable and significant features supported in the current release. It doesn’t 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).
-
Introduction to 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.
- Snowflake CLI (open source command-line client).
- SnowSQL (Python-based command line client).
- 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.