Snowflake is provided as a Software as a Service solution, with almost zero management or tuning options. This raises the question, How do you tune the Snowflake database when there are no indexes, and few options available to tune the database platform?
The fact is, Snowflake was designed for simplicity, almost no performance tuning options. Instead of describing technical tuning options, this article summarises the top five best practices to maximise query performance.
Separate Query Workloads
The single most important method to maximise throughput and minimise latency on Snowflake is to segment query workloads. The diagram below illustrates what should be common design pattern of every Snowflake deployment — separation of workloads.
Unlike other database systems, Snowflake was built for the cloud, and supports an unlimited number of Virtual Warehouses — effectively independently sized compute clusters, that share access to a common data store. This EPP architecture (Elastic Parallel…