All Case Studies Design Development Interviews Machine Learning Project Management

Snowflake Overview: What It Is, Its Main Advantages, Architecture, and Use Cases

Snowflake is a data-warehousing platform we use at Netguru to create outstanding and profitable big data products for our clients. The startup based in San Mateo (California) has just received a $479 million late round of funding. The newest series raises the capital to $1.42 billion, and more surprisingly, boosts the company's valuation to $12.4 billion. Snowflake has just entered the exclusive list of the top 20 most valuable global unicorns (privately held tech companies) and the top 10 most expensive US unicorns. What makes Snowflake so special?

Big data service of the future

Here's some explanation of why Snowflake is valued so high. The two VC funds that invested in the company are Dragoneer Investment Group and Salesforce Ventures. The latter investment may be especially important, as it followed a strategic partnership of Snowflake and Salesforce announced in June. Salesforce, a sales and marketing automation platform (we also use in Netguru), pivoted from being a sales and marketing automation software provider to a customer data warehouse.

Snowflake provides an enterprise solution that makes the gathering, processing, using big data easy. They compete with platforms such as Google BigQuery, Amazon Redshift, or Azure SQL Warehouse. While Snowflake can operate on any of the top cloud computing providers, it cannot run on private cloud infrastructures (on-premises or hosted).

Snowflake creates value by providing a full 360-degree data analytics stack for corporations and their partners. Salesforce has already acquired leading data visualization software, such as Einstein Analytics and Tableau. With Snowflake, they can create a great product.

How do we know it? Because we’ve used Snowflake to deliver end-user tools for business analysts that make it possible for Netguru’s corporate clients to leverage and monetize their data.

Advantages of data warehousing with Snowflake

A data warehouse is a system designed to integrate big data sets from many sources, process it, and deliver analytical reports on demand. Business analysts and decision-makers can send queries and receive answers on the fly.

Traditionally, big data stores were built by organizations in-house, with data engineers using open-source software, such as Apache Hadoop. You'd need a team of data engineers to develop and support such a system. These specialists are in high demand and low supply.

Snowflake provides a ready-to-use analytic data warehouse supplied as Software-as-a-Service (SaaS). There's no virtual or physical hardware you need to take care of. There's no software to install, and the Snowflake team takes care of maintaining the system. You also get updates of the latest version of the software. 

Their solution is faster, easier to use, and far more flexible than traditional data warehouses.

Additionally, Snowflake's data warehouse is not built on an existing database or "big data" software platform such as Hadoop. Instead, it uses a new SQL database engine with a unique architecture designed for the cloud. Any software engineer with SQL experience can understand Snowflake and work with it.

You can use Snowflake out-of-the-box with any of the major cloud computing providers, as it's independent software. It's straightforward to integrate the data warehouse with external tools.

How Netguru uses Snowflake

Here's an example of how we help our clients leverage Snowflake’s data warehouse solution. A big enterprise retailer wanted to monetize the vast amounts of data they have collected years. The idea was to give access to the data to external customers, who  might find it very valuable

In the olden days of traditional data warehousing, the solution would be for our clients to share subsets of the data with their customers, who would integrate them with their analytical systems. The downside was it would take time and generate costs for the companies interested in buying access to the data.

Thanks to Snowflake, we could build a complete end-user tool for business analysts. They can buy access to a section of our client's database and ask advanced questions. Our application written in JavaScript and Python connects to the Snowflake data warehouse installed in the client's Azure cloud infrastructure, receives the data, and delivers answers as easy-to-understand visualizations: tables, charts, graphs.

Our goal was to deliver the analysis in less than 5 seconds. Thanks to Snowflake, we met it effortlessly. All the process – including sending the queries, downloading the data, and preparing visualizations – takes under 5 seconds.

Snowflake Architecture

Snowflake can deliver results so quickly because it's a hybrid of traditional shared-disk database and shared-nothing database architectures. Just like the shared-disk database, it uses a central repository accessible from all compute nodes for persisted data. On the other hand, similar to shared-nothing architectures, Snowflake processes queries using MPP (massively parallel processing) compute clusters where each node stores a portion of the entire data set locally. 

This approach combines the simplicity of a shared-disk architecture, with the performance and scale-out benefits of a shared-nothing architecture.

Snowflake architecture

Source: https://docs.snowflake.net/manuals/user-guide/intro-key-concepts.html

Snowflake's unique architecture consists of three essential layers: Database Storage, Query Processing, and Cloud Services.

Connecting your data to Snowflake

A SaaS vendor that wants to win global markets needs to focus on accessibility. That's where Snowflake spends a big chunk of the funds raised. Thanks to these efforts,  you can integrate Snowflake with other services in many ways:

  • web-based UI
  • command-line clients (e.g., SnowSQL)
  • ODBC and JDBC drivers
  • native connectors (e.g., Python)
  • apps like ETL tools (e.g., Informatica) and BI tools.

Leveraging Snowflake

The sky-high valuation of Snowflake shows the massive potential of universal, easy-to-use data warehousing solutions. In 2020, most people agree that data is the new oil. Companies are learning how to collect, store, and process big data. Now, the biggest challenge for these organizations is to find a practical and scalable way to monetize it. 

Connecting Snowflake with a well-designed end-user application can significantly increase the margins on selling or renting access to your organization's database. It also makes it easier to experiment with new products and offer them to internal or external business analysts and decision-makers. We are observing Snowflake's growth, intending to be at the cutting edge of the data warehousing disruption.


 

Sky-high performance using cloud services from Netguru
How to scale your web application PDF
READ ALSO FROM Big Data
Read also
Need a successful project?
Estimate project or contact us