A Snowflake Overview for Business Owners
You’re looking for a way to unite all your data and analytics solutions under one roof. You have a data lake, or you have a data warehouse, and you’re tired of constantly scaling it up, having to make copies of data, and maintaining and transforming it. The manpower is just too much and will only keep growing. Enter Snowflake. It unites your data lakes, data warehouses, data marts, and even your cloud storage, making your data accessible on any computer that has a Snowflake login. Snowflake is the new way to unite all your data - both on-premise and in the cloud - into one unified “source of truth” so that you can get to using your data rather than just managing it.
At csg, we’re a huge fan of Snowflake. The company has only been around for five years, but they are making waves in the data world because their solution works. Their youth is an asset, as they’re the only database architecture that is designed completely for the cloud. Whereas other companies are trying to catch up with technological advances, Snowflake just looked at the available technology holistically and created a solution that unites it all.
If you’re wondering what Snowflake is all about, its advantages, disadvantages, and how it can integrate with your current data strategy, you’re not alone. Many companies are in the process of assessing Snowflake as a solution. It’s our hope that this helps. As you read on and questions arise, we’re here for you.
what is snowflake?
Snowflake seeks to solve the problems of ever-evolving data storage technology by building a completely new architecture that unites all the previous ones into one solution. It works above all your current data storage workloads, processing both structured and semi-structured data faster than ever before, bringing companies quick insights.
Snowflake’s unique architecture, hosted in the cloud, can read data from many different sources and then almost instantly make it available to users- both internally and for customers. This means that if a change is made, your customers and employees won’t have to wait to see updated information. The copy is almost instant. Snowflake works more quickly than any solution we have ever seen, and we love that Snowflake is committed to making it faster year after year.
In short, Snowflake is a brand-new, multi-cluster, shared data warehouse that is built for the cloud and delivered as a service. Those three attributes are important for understanding how Snowflake works and why it’s an extremely effective solution, so here are a few takeaways for each:
Multi-Cluster Shared Data Warehouse:
Instead of having one large repository for data that manages all workloads at once, Snowflake partitions your data into different clusters of computers that can work simultaneously, without affecting each other. Each cluster can work on the same data at the same time, without any need for manual copying original data sets or transforming the data. The data is shared in that multiple users can access the same data at any time throughout the day, and any changes are made available for all users nearly instantly. Snowflake makes organization-wide access effortless.
Better yet, your IT team can remain confident that granting more access won’t cause more engineering headaches because Snowflake’s unique architecture allows for Time Travel, where an administrator can easily revert to a previous original version of your data. This is all possible because development occurs in separate branches that merely point back to the original data, rather than making changes directly to it, allowing for maximum access and minimal risk of data loss or compromise. There’s no need to copy your data.
Snowflake’s unique architecture also allows for extremely efficient data processing. Because Snowflake is built to operate in multiple processing clusters that communicate in the cloud, those clusters are all processing your analyst team’s queries at once (“scaling out”). As you’re building up a database in Snowflake and preparing the data, you can select the necessary capacity (Small, Medium, Large, XL, etc.) for your workload to maximize processing efficiency while balancing costs (“scaling up”). You can even have Snowflake automatically expand and contract as necessary for the workload. With these features you’ll get insight faster than ever before and without overloading your system.
Built for the Cloud:
Using a completely different architecture than what is used for data warehouses, Snowflake is built for the cloud. This gives users instant access to resources. It seems too good to be true, but the new architecture is what makes it possible. Snowflake developers prioritized cloud functionality and used it to your absolute advantage.
So why is being “built for the cloud” a benefit? It solves the problems of integration, access, and efficiency.
As mentioned previously, the unique architecture of Snowflake allows for the integration of several types of data sources, and you can even connect several cloud platforms at once into an overarching cloud strategy. Instead of building out a current system or changing it completely, you can unite all your data using the cloud. If you ever need to increase your data storage and processing capacity, this cloud-capable environment makes that process much easier. With Snowflake’s architecture, your analytics capabilities can grow as fast as your company.
Once your data is available in Snowflake, the cloud allows it to be accessed almost instantly by anyone across the organization who has internet access. You can easily and securely share your workloads with users outside of the organization in order to benefit and strengthen your company’s strategic partnerships. Snowflake allows for completely secure access where users can view data and even make changes without affecting the work of other users.
Never again will you have to worry about being able to quickly access data across multiple platforms and in multiple formats. Snowflake’s unique architecture that is built for the cloud solves that.
Delivered as a Service:
Delivered as a service, Snowflake takes a portion of the burdensome work off your hands- so that you can focus even more on your core business goals and initiatives. That’s what Snowflake is doing with their new architecture and payment options. Instead of paying for a large data warehouse that you have to maintain with labor hours, equipment upgrades, and constant monitoring, Snowflake can take care of that for you, and you only pay for how much you actually use when you use it.
For example: If you only have two employees accessing your data at 6:00 a.m., then you’re only paying for the amount of data that those two employees actually access. You pay by the second, so once they suspend the databases they’re not using in Snowflake, you’re no longer paying for it.
Alternatively, if by noon you have three hundred users that all need access, Snowflake just spins up more clusters to take care of the increased workload. You pay at the same rate for the seconds of processing used, and then once they all suspend their databases and go to lunch you’re no longer paying for it, and you didn’t have to invest in architecture planning to ensure that your system could perform well under that size of a workload. Snowflake did all of that for you. It’s brilliant.
Many companies find that they save money on hardware and architecture hours when they move to Snowflake. This frees up budgets and employee hours to benefit overarching business goals instead of infrastructure. Your money and your labor hours can be redirected to what matters most for your company. That’s a platform as a service.
Here’s our summary of the advantages and disadvantages to weigh for yourself.
Advantages of Snowflake:
- Platform as a Service (PaaS) Managed Environment: Allows for up-to-date feature additions and security updates with no on-premise hardware to maintain
- Intuitive User Interface: Simple and clean web browser user interface
- High performance: Fast data movement and querying
- Elastic Scaling: Easily expanded or contracted for as-needed throughput and performance
- Secure – Data is encrypted both at rest and in transit, and through Snowflake’s role-based security assignments for monitoring use
- Integrates with Other Cloud Platforms: Works with any of the major cloud hosting environments – Azure, AWS, Google
- Integration of All Data Sources: Native connectivity to major cloud sources, including API sources, or on-premise files
- Tableau Connectivity: Native connectivity from Tableau (partnership) for reporting and analysis
- Third Party Partnerships: There are many third-party partnership options for extending services and uses, such as Azure Data Factory, Stitch, Domo, Fivetran, UserIO, and many more
- “Time travel” Feature: Restore lost data quickly or roll back to a previous state of data
Disadvantages of Snowflake:
- Costs May Be Difficult To Estimate Snowflake use costs $2/credit, but you don’t really know the value of a credit for your company until you can tell how much processing and storage you will be using.
- No Native Ability for Multi-Threaded Workflows Snowflake relies on third party partners to accomplish more complex workflows for integrating and transforming data. Snowflake is working now to develop this as a native capability with their partners, but it’s not there yet.
- Extraction of On-Premises Files is Limited For now, on-premises data must be extracted as files and in limited volumes. Snowflake recommends extracting your data data to cloud storage first before moving that data into Snowflake.
Snowflake is for your business if…
- You need to quickly start up an efficient analytics platform.
- You have many users wanting to query your data at one time. Snowflake is much easier to scale out than a traditional database.
- You have high volumes of data and need efficient analysis.
- You need to read data that is structured in different ways. Many databases can’t read data that is unstructured or that is semi-structured, but Snowflake can efficiently read both structured and semi-structured data. This ensures that no useful data source is off-limits for analysis.
You do not need Snowflake if…
- You are already invested in an existing solution that does not have performance issues or management/overhead concerns
- You need a data repository to keep your various applications in sync
- Your source data needs prepped for analysis. You may need very complex data preparation and transformation in order to ready your data for analytics and discovery. Csg would be glad to help with this preparation, but it will need to be taken care of before implementing Snowflake. Once the data is transformed, though, Snowflake’s unique architecture allows it to deliver data to your analysts with terrific speed and efficiency.
assess if Snowflake can benefit your company’s data strategy