9.0 preview: Query performance improvements
When you can ask questions faster, without waiting for a long running query or a page to load, you are able to stay in the flow of analysis. This lets you focus on your data and creatively explore the insights it has to offer, uninterrupted. That’s why in Tableau Version 9.0 we’ve invested in making performance enhancements across the product to help you get results faster and ask deeper questions.
Here are a few examples of the many improvements that we’ve made in Tableau 9.0. Each example illustrates how the improvement is impacting performance, using a standard 4-core commodity laptop. Of course, your mileage may vary based on the amount of data, the type of queries, and the underlying database that you are using. Bear in mind these are examples and not a statement of performance gains you should expect on every data set.
Data Engine Improvements
Tableau has a strong history of groundbreaking innovations in performance, most notably is Tableau’s Data Engine that first launched with Tableau 6.0. The Data Engine is an in-memory analytic database, designed for much faster queries.
Data Engine improvements in Tableau 9.0 now make the fast analytic data engine even faster, with features that are designed to make the most of your underlying hardware. This example shows a 10X performance improvement on 173M rows of data:
This visualization draws from a Tableau Data Extract file containing 173M rows of taxi payments data for 2013. The query for this view pulls the average tip amount by quarter, and shows that riders are more giving near the end of the year.
Opening this worksheet in Tableau 8.3 shows that the query is already pretty fast for this size of dataset: about 7 seconds. For the same worksheet in Tableau 9.0, the exact same query runs in less than 1 second. ! Due to Tableau’s improvements to the data engine, this is an improvement of 10x. Now users will have an even better experience seamlessly exploring data with Tableau’s Data Engine.
Tableau 9.0 also takes better advantage of the capabilities of source databases to execute more queries at the same time. This new “Parallel Queries" feature will improve Dashboard performance, on Desktop and Server. This example shows a 9X improvement on 157M rows of data:
This Dashboard shows flights data by airline from 1988 to 2013, based on 157M rows of data stored in a Tableau Data Extract file. Loading this Dashboard will run a number of queries including the number of flights for the top 3 carriers, flights over time, and the proportion of flights for each carrier on a state- by- state basis.
Not only is each query faster, but independent queries start at the same time in Tableau 9.0. This results in massive improvements in overall performance. In Tableau 8.3, this Dashboard’s aggregate load time (from the start of the first query to the end of the last query) is 9.5 seconds. In V9.0, each query time is improved and the independent queries are run in parallel, driving load time to just over 1 second. This is a 9X improvement in performance loading these Dashboard queries.
What’s better than faster queries? Fewer queries. Tableau 9.0 has a new technology for database connections called Query Fusion that will look at all of the queries in your dashboard and find ways to simplify them into fewer queries. That will result in less work for the database and faster response times for the user. This example shows a 2x improvement on an Amazon Redshift database:
This visualization uses the same 173M row Taxi data set as in the first example, except this time the data are stored on Amazon Redshift. There are two worksheets that measure hourly Sum of Rides, and hourly Average Tips combined in a dashboard, showing an interesting trend between 4 and 5 a.m. Because they have the same level of detail, the queries have the potential of being fused into a single query.
Query Fusion recognizes that the two queries have the same level of detail and simply draws the aggregation of one into the other. This chart shows that what took two queries with Tableau 8.3 takes only one with Tableau 9.0. This feature improved aggregate query run time from 3.7 seconds to 1.7 seconds, a 2X improvement.
External Query Caching
Finally, imagine that no queries need to run at all, and tools simply step out of the way when starting analysis. When loading a workbook for the first time, Tableau queries the data source to get the values to create the visualizations. However, what happens the second time? If the data hasn’t changed, like with extract-based workbooks, why even query the data source?
Tableau 9.0 will save the query cache as part of the workbook on both Desktop and Server, offering near-instant load times for applicable workbooks. There is no need to re-query for answers since the results are already there, and users can simply refresh to replace the cache.
Imagine simply re-opening a workbook that has been opened locally before, or that has already been viewed on Server, and seeing a virtually instant load time. In v9.0, sometimes the best query performance features are when no queries need to run at all. This example shows a 50X improvement on 157M rows of data:
To demonstrate query caching, this example uses the same dashboard as in the second example showing the Parallel Queries feature. It shows flights data from a 157M row Tableau Data Extract file. The difference is that this dashboard is being opened for the second time.
This External Query Caching feature in Tableau V9.0 saved the query results from the previous time that this dashboard was opened. As a result, only a single short query was run to fetch the cache. Tableau 8.3 re-opened the workbook with similar performance to the first time it was opened (about 10 seconds), Tableau 9.0 re-opened the workbook in 0.2 seconds. This is 5X faster than the first time it was opened (1.1 seconds), and compared to Tableau 8.3’s re-opening, a 50X improvement.
These are just a few of the exciting new performance features that will be introduced in Tableau 9.0. These features build on top of each other to provide unprecedented performance for users. Queries run faster on extracts, queries run in parallel for faster load times, fewer queries run, and in some scenarios, all the queries in a view will be eliminated with caching. Tableau 9.0 is faster, and we’ve got more in the pipeline that will let you have a more immersive experience with your data.
Want to Learn More?
Check out the rest of our Tableau 9.0 blog series