As per snowflake “Snowflake is an analytic data warehouse provided as Software-as-a-Service (SaaS). Snowflake provides a data warehouse that is faster, easier to use, and far more flexible than traditional data warehouse offerings.”
Snowflake is a cloud-based data warehouse or data storage service that enables adoption of multi-cloud strategy. It doesn’t consume IT resources for setting up, configuring or maintenance. It couples a unique SQL query engine with architecture suited, specifically for cloud. It allows separate storage and computing to scale capabilities. So, users can separately pay for storage and computation. Snowflake comes with inbuilt usage simplicity. You need not invest in installing, managing and configuring any software or hardware. Maintenance, upgrades or fine tuning of the snowflake data platform are all handled by snowflake.
The architecture of snowflake cloud data warehouse is unique..
Snowflake data architecture has a central data repository from which persisted data can be accessed across all the compute nodes in the data platform but query processing is done using MPP compute clusters (Massively Parallel Processing), where individual nodes of the cluster locally store a part of the entire data set. So, the database architecture can be called hybrid with a combo of shared disk and shared nothing database.
The entire snowflake architecture can be divided into three independently scalable layers
Storage, compute and cloud services
- The storage layer carries all structured, semi structured and unstructured data. The data is stored and maintained, structured, compressed, organized, and the file size is determined by Snowflake. It runs independent of the compute layer.
- The compute layer is composed of virtual warehouses and performs the data processing tasks for queries. The separation of compute and storage layers ensures that compute resources can automatically scale when the queries are running without the need for redistribution or rebalancing of the data in storage.
- The cloud services layer is a layer that coordinates all activities across Snowflake which includes Authentication, Infrastructure management, Metadata management, Query parsing and, access control
The separation of the storage and compute layers and their ability to individually scale can be attributed to Snowflake being famous. Companies can pay for storage and computation separately. So, if an organization has high storage needs but minimum need for CPU cycles, the organization need not pay for an integrated bundle of storage and compute and can pay only for the resources it is using in both. It helps save your cost without sacrificing the goals of your solutions.
SQL that Snowflake uses
Snowflake supports SQL standard set which is a subset of ANSI standards ( 1999-2003). This implies that most SQL statements which execute against Netezza, Teradata or Oracle will execute on Snowflake, without requirement of any changes. Snowflake has multiple extensions which ensures quick migration of SQL.
Security on Snowflake
Snowflake security features include
- IP whitelisting
- Multifactor Authentication
- System for Cross Domain Identity management (SCIM) for managing user and group identities
- Key pair authentication
- Ingested data in snowflake is protected through AES256 encryption
Snowflake is PCI-DSS compliant, High trust CSF compliant, HIPAA compliant, SOC I Type II and SOC 2 Type II complaint.
Snow flake’s Cloud First Approach
Snowflake was built specifically for cloud. Due to its cloud first approach, it can be easily used for multi-cloud and cross-cloud applications and systems.
If you want to implement Snowflake for your organization data, connect with Ismile Technologies. We have experts who can help optimize costs and provide consultation on every aspect of Snowflake migration.