What is our primary use case?
We needed a data warehouse and we made a decision on what is the right tool for us as a data warehousing tool by comparing products. We looked into Microsoft Azure, Red Shift and Snowflake. In the end, we decided on Snowflake because it looks more up to date, it seemed much better purposed as a data cloud solution.
It was developed from scratch and dedicated to being used on the cloud and that was what we were looking for. It was not just an on-premises system which was then converted to use on the cloud. It was completely developed from scratch and purely focus on the cloud.
Because it was programmed with that dedication, it has some significant advantages.
What is most valuable?
The thing I find most valuable is that scalability, space storage, and computing power is separate. When you scale up, it is live from one second to the next — constantly available as you scale — so there is no downtime or interruption of services.
It has something like a time machine, as it is from Apple it incorporates that feature in a way similar to their operating system. So whenever you need a version of the data to test with, you can just go back and take a copy of what was backed up yesterday. It makes some things very easy. It backs up your data warehouses, so for example in our case, a colleague deleted a complete database and we just need to do an undrop on the database and the data was there again.
This helps you to have a development environment with current data. You can just clone your production environment and you have a development environment. Everything you do you can test it on real production data without destroying the production data itself.
These are significant advantages.
What needs improvement?
The company is constantly working to improve the product. Now they have a focus on data sharing, which is really great. We already share data with others who do not have Snowflake. That alone is already great. But if the other counterparts also have Snowflake, then it is extremely easy to share data. You can control access at low levels and even on the cell level. It is very secure.
With the improvements they continue to make, there is nothing now that I would say I miss or features that need to be added. Maybe there could be some more connectors to other systems, but this is what they are constantly developing anyway.
For how long have I used the solution?
We have been using this product for two years.
What do I think about the stability of the solution?
The product is very stable. We never had an issue with stability. It is reliable and it is extremely fast. For example, we had a stock procedure that took half an hour to complete on our SQL cluster, and in Snowflake it was running in two minutes. So that is a significant time savings for just one task.
What do I think about the scalability of the solution?
The number of people at our company currently using the solution depends on what we are trying to accomplish. We have four developers in Snowflake and then we also have users who are leaving data with us for our further analysis. That may be around ten other users.
With the growing data set we have and the increase in the size of our business, we will increase the use of Snowflake, but not with respect to the number of users. We are a small company and all the users who need to use it are already using it. We have more data that we need to load and which we want to integrate before we will make more usage of Snowflake.
How are customer service and technical support?
There is nothing for us to complain about when it comes to technical support. The response time is really great. Whenever we have an issue there is some delay because they are in San Francisco in the United States so there is a time difference. But when we raise an issue, we get answers immediately. We may not get the solution immediately, as that is not always possible. But we get some type of immediate response and days later we have a solution. The tech support is quite responsive.
Which solution did I use previously and why did I switch?
We use several products together for our framework. We have our data warehouse which is in Snowflake, we use Domo for standard reporting and we use R for data science analysis.
Before we had Snowflake we had a different solution. We switched to Snowflake because we felt the need to modernize our data warehouse architecture. We were also thinking about having other solutions in the cloud to reduce administration costs. With no effort on our part, we could have a stronger system compared to the effort and cost of doing a similar thing on-premises. This was the biggest advantage of Snowflake. We really do not need to have those administrative efforts anymore. Now we don't take care about when we run out of storage or that we need to buy better CPUs because if we need more computing power, we don't worry about it, we just use it and it is there.
How was the initial setup?
The setup for the product was straightforward. For us, it was a little bit of a challenge because when we implemented the data warehouse, we also changed the architectural concept and we implemented a better framework. Because this framework was new to us it complicated our installation. But Snowflake itself, if you want to use and you have a data warehouse already in place with the right framework, then it is straightforward. You just store your data in and that's it. What you use on top is material for orchestrating all the load jobs. But this is other integrations and other choices that are really outside Snowflake itself.
The initial deployment from purchase until it was up and running in production took two months.
What about the implementation team?
We had a consulting company help us for the initial two months of the setup and then afterward we did everything by ourselves. We were quite satisfied working with the consultants and they helped us to implement quickly. We mainly needed them because we implemented this metadata framework. In the beginning, we had this consultancy for analyzing our platform, which to select and which tools should be used. After we completed this initial portion of the project over the two months, we needed them mainly for completing the implementation of the metadata framework.
Snowflake itself is easy to learn. If you know SQL it is really not very hard. Everything is well documented and it is not a problem.
What's my experience with pricing, setup cost, and licensing?
The whole licensing system is based on credit points. That means you commit to using it and you pay for what you use. You can also make a license agreement with the company so that you buy credit points and then you use them. So if you buy credit points that you think will last you for a year, you pay a certain amount of money and then you have these credit points available. What you do not use in one year can be carried over to the next year and it is that easy. The advantage of buying more is that you get a discount when you buy a bigger package with more credits.
What other advice do I have?
There is not really much advice I can give people considering this solution except that they should use it and enjoy it. It really sounds simple but that is it. Of course, you need to be careful with the usage of your credit points. Because there are so many possibilities in configuring the way you build your data warehouse or infrastructure, the data warehouse might seem logical, but it is not the best with respect to using credit points. You need to be careful about this. It probably takes half-a-year experience and then you will know how to do it. If you don't know what you are doing, Snowflake also helps to optimize your usage so that you do don't use too many credits points. After one year, we realized we had spent a huge number of credit points and we talked to Snowfake and then they came to us and we analyzed our systems together and we optimized the usage.
On a scale from one to ten where ten is the best, I would rate Snowflake as at least nine. Why not a ten is only because maybe there is something better on the market which is a ten that I don't know about. For me, it is already a ten.
Which deployment model are you using for this solution?
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Amazon Web Services (AWS)