As a bootstrapped startup, its important that we are using the right tech. This is particularly true for our data operations – including our internal business intelligence, analytics and ML products. In our case, the right tech means flexible, scalable, managed and cost effectiven. Since we started designing and building our data infrastructure, we’ve had great experiences with Snowflake for data warehousing. In this article I’d like to share 5 good reasons why you should consider Snowflake for your own data projects.
FYI – I’m not affiliated with Snowflake in any way. I just love the product.
1. Easy to scale
Snowflake has the ability to create multiple “virtual warehouses” that handle the computation of queries to your databases. These warehouses are super simple to setup and can be scaled to different sizes according to your requirements (S/M/L/XL). The size of the warehouse cluster can also easily be configured for high concurrency.
2. Simplified User Access Management
Of course, for performance and privacy reasons all data applications have different read and write requirements and certain users should only have access to certain tables. In Snowflake, the user permissions can be configured and processed using their query language meaning that configurations can be made reproducible.
3. Cost Effective Usage Model, including Separation of Storage and Compute
Snowflake has an on-demand usage model that we have found to be very cost effective in comparison to competitors. Data is stored separately to compute and tends to be significantly cheaper. Compute resources can be auto-suspended as not to burn too many credits, only resuming when triggered for a query.
In addition, the compute warehouses can be scaled up and down on a needs basis. Overall, this system was a pleasant experience and helped us to build a cost effective service. One gripe however, initially we found the opacity of the cost per credit system frustrating. We had to experiment for sometime in order to estimate our costs properly and it felt intentionally unclear.
4. ExcellentFeatures for Handling Semi-Structured Data
A fantastic feature not supported by all competitors is the ‘variant’ data type for handling semi-structured data. I can’t praise Snowflake enough for their implementation.
Often, modern data applications require the movement of data between flexible semi-structured JSON formats and highly structured, flat tables. In the past this could be really painful. However, Snowflake has a data type for storing native JSON within table columns! Best of all, it’s queryable with standard SQL.
Of course, the variant queries do have their limits and it’s better to properly design your tables but it’s a great feature that makes our lives so much easier.
5. A User Friendly Frontend Interface
Finally, Snowflake has a nice user interface that allows you to interact with your databases and data warehouses without writing code. It has some nice features like the table ‘preview’ and it allows you to configure various warehouse and security settings from the console. It’s a solid feature for getting a read on your infrastructure without too much setup effort.
There you have it. 5 reasons to choose Snowflake as your data warehouse option. Overall, its a fantastic service and worth considering for many projects.
Amplify your personal or company brand with Seenly, a bootstrapped startup developing intelligent scheduling solutions for Linkedin, Twitter and Facebook. Sign up for free and try our service today.