Gaining clarity in the “Preview App” with Snowsight — Perfect vision into Snowflake
Transitioning from SQL Server Management Studio to the classic interface in Snowflake felt a little bit like trading a car in for a bicycle while still expecting to go 60 miles per hour. The classic interface did the job, but I was used to being able to do a lot more without much difficulty. The scene was set for the “Preview App” in Snowflake in 2019 with the acquisition of Numeracy and a demo at Snowflake Summit. I’ve been impatiently waiting for the new and very promising IDE to be available to the masses since then. I am happy to say that my wait is over.
I started my presentation in the rapid-fire tips session at the Snowflake Summit ’21 with a joke that I’ll amuse you with now:
What superpower do all snowflake data Superheroes have in common?
SNOW-SIGHT!
The query editor and data visualization tools are the two critical components of the new interface that makeup Snowsight. This was introduced to the Snowflake community in the middle of 2020 as the next generation of the data analyst experience. I’ve been using Snowsight almost daily since then. Here are the top 10 of my favorite features in no particular order.
1. Accessing the new interface
Did you notice that there are always multiple ways to accomplish anything in Snowflake? Sometimes I try to figure out how many ways I can do the same task just for fun. Accessing the new interface is no exception.
You can get to it by clicking on the “Preview App” Icon in the top right corner in the classic interface.
Or you can also just simply go to app.snowflake.com in your favorite browser. All of the accounts a user ever connected to will appear on the list.
There is also an option to enter a different account name with a convenient explanation for where to get the account name from.
What is incredible is that both the new and classic interfaces in Snowflake work in Chrome and Microsoft Edge browsers on Macs and Windows machines. I didn’t appreciate this level of agnosticism until I had to support Mac users who needed Microsoft tools. With Snowflake’s SaaS IDE the only issue I have switching between a Mac and a Windows laptop is remembering which shortcut keys to use to take a screenshot. And yes, I have both types of laptops. And no, I do not have a real reason for that.
It’s the little things that make me happy — warm summer days, ocean waves, children playing, ability to personalize the new interface. This is not productivity or an analytics feature, but I spend a big portion of my week working in Snowflake and I appreciate the ability to make it my own. You can, too, make it uniquely yours by going to the profile setting and adding an image of your choice.
2. IntelliSense with SQL auto-complete
IntelliSense was and still is one of the biggest selling points for using Snowsight over the classic interface. It behaves the same way as many other IDEs and allows users to tab to fill in values. If you haven’t used the new interface for a while, you will notice that IntelliSense now works across databases regardless of the one set for the worksheet.
Plus, there is a bonus Easter egg: not only does it tell you whether an object is a view or a table, but it also provides the number of rows for each table object. If I put a penny in a jar for every time this reminded me not to run a “SELECT * FROM” a large table without adding a where clause or a limit, I’d have an embarrassingly large jar full of pennies.
3. User-friendly syntax errors
There is nothing worse than troubleshooting vague syntax errors. Snowsight stepped up its game with self-explanatory error messages that point you to the area that is causing trouble.
4. Execute multiple SQL statements
Executing multiple SQL statements in Snowsight is very easy — just highlight the lines and execute.
There are a couple of ways to start the execution of a query:
- The execute button in the top right corner
- Shortcut keys: command return on a Mac or ctrl-enter on Windows.
Snowsight will flag the executing statement by adding a blue pipe in front of it.
My birthday wish this year was to see the multiple results set support added to the tool. I am joking, but wouldn’t it be nice?
5. Search
There are search boxes throughout multiple sections in the new interface — Worksheets, Dashboards, Snowflake Data Marketplace. Just look for the magnifying glass inside a text box.
I want to spend a little time on the query result search. I didn’t initially realize that it was even there in the result window because of the wealth of other information presented to me. But I find myself using this feature quite a bit for data discovery. Let’s say I am exploring a new data set and want to see how many columns a certain value appears in. All I have to do is just run my query and then add a string to the search box. The result will be filtered down to just rows that have the value I am looking for in any column. The matching rows will also be conveniently highlighted. See the image below for an example:
I am hoping to see a wild card cross databases object and column search capability added to the new interface soon. It is possible to write a query to do that but it would be a much better user experience to be able to do so directly in the tool.
6. Organize
The classic interface in Snowflake saves all worksheets created by a user. Every…Single…One… It is a great feature but searching those worksheets is not particularly user-friendly. The new interface makes it very easy to get organized by renaming worksheets, creating new folders, and moving worksheets between those folders from the same menu.
Every worksheet maintains version history so if you ever overwrote an important query you can always get it back.
A small bonus feature
After years of performance tuning production databases, I have a rule that no initial data exploration query should take more than 10 seconds. Occasionally, I start executing a query and get distracted by something else. On one of those occasions, I noticed that after about one minute of execution a window popped up with a hyperlink to the query plan. This window also showed the number of rows that would be produced by the query. In my case, it was a great reminder to terminate the query before it cost too many credits. But if I were running a real query, having easy access to the query plan, as well as knowing how many rows would be returned, is very handy.
7. Compute
The Compute section of the new user interface contains a wealth of information from Query History to Warehouses and their usage to Resource Monitors. It’s one of those sections I don’t use often but am sure glad it’s there when I need it.
Query History is very intuitive. It exposes the result produced by the query through the View Result option. Choosing the “Open in Worksheets” option will open the query in a new worksheet.
8. Account
Make sure you are best friends with your Snowflake admin because to view Usage and Users, you have to be part of a role with elevated privileges.
The usage section visualizes consumption, storage, and transfers and allows for drill-throughs to pretty granular details.
RBAC (Role-Based Access Control) is one of my favorite features of Snowflake. Graphical representation of RBAC hierarchy is one of my favorite features of the new interface. Put the 2 of them together and you will find me lost in the Account/Roles area tracing roles and how they connect and roll up into each other. Before the new interface, there was no easy way to visualize RBAC. It would be nice to have the ability to zoom into each role but what’s there now is already very helpful.
9. Charts and Dashboards
Confession time. When I first saw this capability demoed I was unimpressed. Why would anyone need another visualization tool when every company already has at least one with many more advanced capabilities and bells and whistles?
Visualizations in Snowsight are not meant to replace enterprise visualization tools. Its functionality, however, fills a pretty big gap. The charts and dashboards in Snowsight allow Snowflake users to quickly visualize data in the tool that is readily available to everyone without needing any additional licenses or extensive training. There are no additional layers of scheduled refreshes and caching and no additional business logic to be worried about. You write a query and visualize it right then and there.
The chart and dashboard capabilities are nothing fancy but are solid and get the job done and can be easily shared with other Snowflake users. This brings me to my favorite feature #10.
10. Sharing
I like this feature, I use it a lot to share both queries/charts and dashboards. I share SQL snippets with others to help them get better at SQL. Sharing is very easy and intuitive. Simply click on the share button
and follow the menu or just copy the URL from your browser. Sharing a query does not automatically give the recipient permissions to execute this query and view data. The shared queries will only succeed for users with appropriate permissions.
I wish there was a way to move shared worksheets and dashboards to a collaborative space with multiple contributors like Google Docs for example. Maybe someday.
“That’s all, folks!”
While this is not a comprehensive list of everything available in the new user interface, I hope I piqued your interest enough to give it a try.
And to the Snowflake product and development teams who are working on these tools — I am looking forward to all of the fixes, enhancements, and new features!