Snowflake is a cloud-based data warehouse that enables its users to take an active role in data storage and analysis without time-intensive processes like maintenance. With Snowflake, organizations can store and query data across all departments without sacrificing performance or paying unnecessary fees. Snowflake utilizes a column store database. As such, it is best used as a data warehouse, rather than the backend of an OLTP system.
Snowflake’s architecture consists of three main components that give organizations the ability to grow their environment with their organization. Each component is decoupled from the others, meaning they are independently scalable. One layer can be scaled while another is kept constant in order to meet the needs of every organization.
The Database Storage layer consists of the user-selected cloud service. Organizations can choose from Amazon S3, Microsoft Azure, and Google Cloud Platform. Existing accounts are not needed, as Snowflake creates one for you.
The Query Processing layer executes processing tasks written in standard ASCII SQL to the specified data warehouse. Snowflake employs Massive Parallel Processing to analyze the query in an efficient manner. A warehouse can be scaled up or down within minutes and turned off when finished to mitigate costs.
The Cloud Services layer coordinates everything that goes on within an organization’s environment. This generally consists of security, optimization, warehouse management, and metadata management.
With a native ODBC and JDBC connection, Snowflake can be seamlessly integrated with other applications such as BI and ETL tools. Integration with R and Python are also supported.
Instead of a one-size-fits-all approach, Snowflake has chosen to let organizations have all the power with none of the hassle. Snowflake’s scalability and maintenance free architecture enable businesses to get back to what is important – leveraging data to smart, meaningful business decisions without the hurdles that come with a traditional data warehouse.