Snowflake for SQL Server users - Part 5 - Editions and Security Features

Like most products, Snowflake comes in a number of editions, and you can see the current editions in the main image above. (Keep in mind that they could always change at any time and to check their site for the current options).
First thing I need to say is that I really like the way that most of the SQL code surface is pretty much identical across editions. I wish that was complete coverage but it currently doesn’t include materialized views.
Note: That was a great change when the SQL Server team did the same back in SQL Server 2016 SP1.
There is no free edition like we have with SQL Server Express. Similarly, there’s no free option for developers like we have with SQL Server Developer Edition. That’s not surprising though, as they aren’t the cloud provider, they are purchasing services from cloud providers. I find that the Standard edition is pretty low cost though: you only pay a fairly low amount for storage, and you only pay for compute when you use it. So that’s not too bad.
Differences in Editions
The main difference between Standard and Premier is that the latter comes with premier support. So that’s not a bad distinction from say development tasks, to production tasks. I’d rather see that as just a single edition, with support an optional extra over all editions.
Snowflake has a feature called Time Travel. This allows you to see what data looked like at earlier times. It’s a bit like temporal tables but also quite different to it. I’ll talk more about it in another post.
Standard and Premier both have one day of time travel though, and Enterprise edition takes you up to 90 days. I like to see that sort of feature used as a differentiator between editions. It mostly wouldn’t require code changes when working with different editions.
Business Critical basically introduces more security. It adds HIPAA and PCI compliance, and the ability to use customer-managed encryption keys. I can’t say that I love the idea of core compliance as a distinction between editions. Everyone’s data is important to them. Customer managed keys are a good edition differentiator though.
Snowflake data gets encrypted anyway, and with a key that changes each month (for new data). But on lower editions, it doesn’t get re-keyed. What Business Critical also adds is annual key rotation. Data that’s a year old gets decrypted and re-encrypted with a new key.
VPS or Virtual Private Snowflake is for people who can’t tolerate the idea of any sort of shared Snowflake infrastructure. The Snowflake team do a completely separate deployment of the whole Snowflake stack, just for each customer. It’s super expensive (I heard it starts at over $50M AUD) and so I can’t imagine too many customers using it, but I’m sure there will be a few, including right here in Australia.
I heard that VPS was only available on AWS at the time of writing, but I’m sure that will change. And I’m guessing if you front up with $50M+, and say you want it on Azure, it’s unlikely they’d say no.
For an index to all posts in this series, see the first post here.
2019-09-06