What is our primary use case?
We use Snowflake as a database or data warehouse. We rely on AWS S3 services for computing and storage. It provides security, including role-based access and data encryption, and is handled at the database level in Snowflake. We use DBT for the data loading process, applying business logic to create the final tables in DBT, which then load the data.
What is most valuable?
Some features include the ability to handle semi-structured data, such as JSON. It supports various database sizes. Also, storage and compute resources are independent.
For how long have I used the solution?
I have been using Snowflake Analytics for seven to eight months.
What do I think about the scalability of the solution?
It's all hosted on AWS because Snowflake doesn't have its storage. Both computing, such as clustering and storage, are managed through AWS services like S3. Since S3 already provides scalability, Snowflake leverages those built-in properties.
How are customer service and support?
When we started configuring Snowflake for our project development, we contacted support. They provided guidance on implementing security measures, including multi-factor authentication. The vendor required us to use MFA because it adds an extra layer of security, ensuring the protection of both development and production environments.
To enable multi-factor authentication, we were asked to download and use a separate application to receive notifications and approvals. This added security measure was mandatory to enhance the system's overall protection.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
I worked with Redshift, and it's introduced many new features since then. Most recent projects have used Snowflake or other databases like SQL Server. While Redshift is still an option, Snowflake has gained more popularity.
Both Redshift and Snowflake are columnar databases, and they share similar features, such as the ability to handle different database sizes. Redshift has incorporated these features in its newer versions. If a project is fully integrated with AWS, clients might prefer Redshift as their data warehouse instead of Snowflake. It depends on their specific needs and infrastructure.
How was the initial setup?
The initial setup wasn't too difficult or straightforward. Some configurations, like setting up files, followed a typical procedure. Certain steps, such as enabling multi-factor authentication, are essential nowadays for adding an extra layer of security. This has become common in most software services to enhance security.
The configuration process wasn’t overly challenging. It took me around one and a half days to complete the setup. We were a team of three developers, and after configuring, we created user credentials and began development.
What was our ROI?
The main costs in Snowflake come from computing and storage. If you allocate more storage but store less data with minimal usage, you can opt for a smaller database size, such as extra small, to save costs. Computing costs depend on how long processes or queries run. You can manage optimization and performance tuning to reduce costs. For example, if a process is scheduled to run every hour, but data refreshes only twice a day, you can adjust the schedule accordingly. You only run jobs when needed, reducing computing time and overall cost.
In short, you can control costs by managing storage and optimizing query performance based on actual data usage. Multiple factors, such as query timing and data refresh rates, play a role in minimizing expenses.
What other advice do I have?
If you're using a service like Redshift, the pricing would likely be comparable to Snowflake. With Snowflake, you're paying for the service and the underlying cloud infrastructure since these are separate costs. Snowflake operates as a software package that must be installed on a cloud platform like Azure, GCP, or AWS, meaning you also need to use their computing, clustering, and storage services. This makes the total cost dependent on both Snowflake and the cloud provider.
Snowflake offers extensive features with a data warehouse background, including full SQL support and compatibility with T-SQL; other systems, like Redshift, also provide many similar features. That said, Snowflake has continued to grow in functionality and market appeal, making it more widespread. To thoroughly compare the two, you must look closely at the latest features Redshift has added, as it may offer comparable capabilities depending on your requirements.
Overall, I rate the solution a nine out of ten.
Disclosure: I am a real user, and this review is based on my own experience and opinions.