9.0 预览: 查询性能提升

在 Tableau 版本 9.0 中,我们努力提升产品的各方面性能,以帮助您更快获得成果并提出更深入的问题。 从并行查询到查询融合和数据引擎改进,各项功能将让您能够关注数据本身,并创造性地探索数据提供的见解。

如果您能更快地提问,而不用长时间等待加载运行的查询或页面,则您能够顺畅地分析数据。 这样您就能够关注数据本身,并创造性地连续探索数据提供的见解。 这正是我们在 Tableau 版本 9.0 中努力提升产品各方面性能的原因,就是为了帮助您更快获得成果并提出更深入的问题。

下面列出了 Tableau 9.0 中的若干改进示例。 以标准 4 核笔记本电脑为例,各个示例阐述了软件改进将如何提升性能。 当然,您获得的好处取决于数据的数量、查询的类型以及您所使用的基础数据库。 请记住,这些只是示例,并非是您在各个数据集上有望获得性能提升的声明。

数据引擎改进
Tableau 在性能突破创新方面一直表现优异,最著名的是随 Tableau 6.0 首次推出的 Tableau 数据引擎。 数据引擎是一个内存中分析数据库,设计用于提高查询速度。

Tableau 9.0 中的数据引擎改进现可通过众多专门设计的功能,充分利用您的基础硬件,进一步提高快速分析数据引擎的速度。 这个示例显示了在对 1.73 亿行数据操作时的 10 倍性能提升:

示例: 各季度计程车小费平均值的可视化



这个可视化提取自一个 Tableau 数据提取文件,该文件包含 2013 年 1.73 亿行计程车支付数据。 这个视图的查询显示每季度小费金额的平均值,结果显示每年年底时乘客给的小费更多。

结果: 10 倍提升



在 Tableau 8.3 中打开这个工作表的耗时大约为 7 秒,说明这个大小的数据集的查询速度已经相当快。 在 Tableau 9.0 中打开相同的工作表,运行完全相同的查新只需不到 1 秒。 是的,不到 1 秒! 得益于对 Tableau 数据引擎的改进,这是一个 10 倍的提升。 现在用户将获得更佳的体验,利用 Tableau 的数据引擎顺畅地探索数据。

并行查询
Tableau 9.0 还可以更好地利用源数据库的能力,同时执行更多查询。 这个全新的“并行查询”功能将提升台式计算机和服务器上的仪表板性能。 这个示例显示了对 1.57 亿行数据操作时的 9 倍性能提升:

示例: 航班仪表板



这个仪表板显示了从 1988 年到 2013 年,各航线的航班数据,基于一个 Tableau 数据提取文件中存储的 1.57 亿行数据。 加载该仪表板将运行多个查询,包括三家最大运输公司的航班数量、航班数量随时间的变化,还有各家运输公司在各州的航班数量比例。

结果: 9 倍提升



Tableau 9.0 不仅提高了各个查询的速度,还能同时开始多个独立的查询。 这就大为改善了整体性能。 在 Tableau 8.3 中,该仪表板的总共加载时间(从第一条查询开始到最后一条查询结束)为 9.5 秒。 在版本 9.0 中,由于缩短了各条查询的时间,而且能并行运行多个独立的查询,所以加载时间缩短为 1 秒多一点。 对于加载仪表板查询的性能来说,这是 9 倍的提升。

查询融合
比提高查询速度更棒的是什么? 减少查询数量。 Tableau 9.0 提供一种全新的数据库连接技术,叫做查询融合,这种技术会查看您仪表板中的所有查询,并想办法简化成更少的查询。 这将会减小数据库的工作量,从而为用户提供更快的响应速度。 这个示例显示了对 Amazon Redshift 数据库操作时的 2 倍提升。

示例: 每小时的计程车数据



这个可视化利用了与第一个示例中完全相同的 1.73 亿行计程车数据集,只不过这次数据都存储在 Amazon Redshift 上。 现有两张工作表,一张是每小时测量的乘车总和,另一张是仪表板中每小时的小费平均值,显示上午四五点之间出现了一个有趣的趋势。由于两张工作表的详细程度相同,所以这些查询有可能融合为单个查询。

结果: 2 倍提升



查询融合会识别两个具有相同详细级别的查询,并将二者聚合成一个查询。 该图表显示,Tableau 8.3 中的两个查询在 Tableau 9.0 中只是一个查询。 这个功能将聚合查询的运行时间从 3.7 秒缩短为 1.7 秒,2 倍的提升。

外部查询缓存
最后,想象一下开始分析时完全无需运行任何查询,也无需使用任何工具。 首次加载工作簿时,Tableau 会查询数据源,获取值并创建可视化。 那第二次加载时会怎么样? 如果数据未改变,就像基于提取的工作簿一样,那为什么还要查询数据源呢?

Tableau 9.0 将在台式计算机和服务器上保存查询缓存,作为工作簿的一部分,从而为相关工作簿实现近乎即时加载的效果。 由于结果已经存在,所以无需重新查询答案,用户只需刷新就能替换缓存。

想象一下,对于一个之前在本地打开过的工作簿,或在服务器上查看过的工作簿,重新打开后几乎能够立即显示。 在版本 9.0 中,有时最好的查询性能就是根本无需运行查询。 这个示例显示了对 1.57 亿行数据操作时的 50 倍性能提升:

示例: 航班仪表板



为了显示查询缓存,该示例使用第二个展示并行查询功能示例中完全相同的仪表板。 它显示了一个 Tableau 数据提取文件中 1.57 亿行的航班数据。 区别在于,这个仪表板是第二次打开。

结果: 50 倍提升



Tableau 版本 9.0 的该外部查询缓存功能保存了上次打开仪表板时的查询结果。 所以只需运行单个小的查询即可获得缓存。 对于曾首次打开的工作簿,利用 Tableau 8.3 重新打开时需要 10 秒,而利用 Tableau 9.0 重新打开具有相同性能的工作簿仅需 0.2 秒。 相比首次打开耗费的 1.1 秒和利用 Tableau 8.3 重新打开的耗时来说,这分别是 5 倍和 50 倍的提升。

这些只是 Tableau 9.0 中将引入的全新性能功能中的一部分。 这些功能互为基础,为用户提供前所未有的性能。 对提取数据的查询速度加快,并行查询的加载速度变快,运行的查询数减少,而且在某些情况下,视图中的所有查询都会在缓存过程中消除。 Tableau 9.0 速度更快,而且我们正在酝酿更多功能,为您打造沉浸式数据体验。

想了解更多?
查看其他 Tableau 9.0 博客系列