Tableau Server 数据引擎

Hyper 是 Tableau 的内存中数据引擎技术,已针对大数据集或复杂数据集的快速数据摄取和分析查询处理进行优化。从 Tableau 10.5 版起,Hyper 为 Tableau Server、Tableau Desktop、Tableau Online 和 Tableau Public 中的数据引擎提供支持。创建、刷新或查询数据提取时使用数据引擎。它也用于跨数据库联接以支持具有多个连接的联合数据源。

进程

Data Engine

状态 可在“状态”页面上查看 Data Engine 进程的状态。有关详细信息,请参见查看服务器进程状态
日志记录 Data Engine 进程生成的日志位于 C:\ProgramData\Tableau\Tableau Server\data\tabsvc\logs\hyper 中。有关详细信息,请参见Ziplog 存档中的服务器日志文件位置

内存和 CPU 使用率

数据引擎旨在利用计算机上所有可用的 CPU 和内存资源来提供最短的响应时间。

CPU 使用率

Hyper 技术利用 CPU 中的新指令集,并能够实现并行化和扩展到所有可用内核。Hyper 技术旨在有效地扩展到多个内核,并尽可能最大限度地利用每个单核。这意味着,您有望看到 CPU 在查询处理期间得到充分利用。预计增加更多的 CPU 可以提高性能。

现代操作系统(如 Microsoft Windows、Apple macOS 和 Linux)采用多种机制来确保即使 CPU 已完全使用,传入和其他活动进程也可以同时运行。此外,为了管理总体资源消耗,并为了防止过载和完全耗尽计算机上运行的其他进程的资源,数据引擎将会监视自身,以便不超过 Tableau Server 资源管理器 (SRM) 中所设置的限制。Tableau Server 资源管理器将监视资源消耗,并在数据引擎超出预定义 的限制时通知其减少使用量。

由于数据引擎旨在利用可用的 CPU,因此有时发现 CPU 使用率峰值也是正常的。但是,如果 CPU 使用率长时间(一小时或更长时间)较高(例如:95%),则可能意味着存在以下一些情况:

  • 查询负载高。如果服务器由于多个客户端请求超载而面临压力,并且查询正在排队,则可能会出现这种情况。如果经常出现这种情况,则表示需要使用更多的硬件来为客户端提供服务。在这种情况下,添加更多 CPU 应该有助于提高性能。

  • 有一个长时间运行的查询。在这种情况下,Tableau Server 资源管理器将根据超时设置停止长时间运行的查询。对于版本 10.5 之前的 Tableau Server 版本,情况也是如此。

有关 Tableau Server 资源管理器的详细信息,请参见一般性能准则

内存使用情况

数据引擎的内存使用情况取决于回答查询所需的数据量。数据引擎将先尝试在内存中运行查询。系统会分配工作集内存以在查询处理期间存储中间数据结构。在大多数情况下,系统具有足够的内存来执行这些类型的处理,但是如果没有足够的可用内存,或者 RAM 使用率超过 80%,则数据引擎将通过暂时写入磁盘转变为假脱机状态。查询得到回答后,临时文件将被删除。因此,假脱机表明可能需要更多内存。应该适当监视和升级内存使用量,以避免因假脱机造成的性能问题。

为了管理计算机上的内存资源,Tableau Server 资源管理器 (SRM) 会设置数据引擎的最大内存限制。

服务器配置、可扩展性和性能

  • 每个在 Tableau Server 上安装了文件存储、应用程序服务器 (VizPortal)、VizQLServer、数据服务器或后台程序实例的节点将自动安装单个数据引擎实例。数据引擎可以自行扩展,并根据需要使用尽可能多的 CPU 和内存,因此不需要多个数据引擎实例。有关服务器进程的详细信息,请参见Tableau Server 进程

  • 在安装文件存储的节点上安装的数据引擎实例用于查询视图请求的数据。在安装后台程序的节点上安装的数据引擎实例用于创建和刷新数据提取。在进行性能调整时,这是一个重要的考虑因素。有关详细信息,请参见性能调整示例

  • 数据服务器、VizQL Server 和应用程序服务器 (VizPortal) 都使用数据引擎的本地实例,来执行跨数据库联接并创建阴影数据提取。仅当您使用基于非传统 Excel 文件、文本文件或统计文件的工作簿时,才会创建阴影数据提取文件。Tableau 会创建阴影数据提取文件以便更快地加载数据。

  • 在 Tableau Server 10.5 中,安装后台程序时会自动安装数据引擎的一个实例。后台程序进程使用安装在同一节点上的数据引擎 (hyperd.exe) 的单个实例。

非常重要!当数据引擎安装在与文件存储相同的节点上时,有一些例外情况。如果文件存储是在 Tableau Server 外部配置的,数据引擎不再随文件存储一起安装。在此配置中(Tableau Server 配置为包含外部文件存储),数据引擎将继续与其他进程一起安装,如上所述。此外,您还可以在没有其他进程的节点上配置数据引擎 - 但仅当文件存储是在外部配置的情况才能这样做。有关外部文件存储的详细信息,请参见Tableau Server 外部文件存储

可扩展性:

您可以使用新数据引擎进行扩展:由于内核得到充分利用,因此添加更多内核可以使单个查询执行得更快,而这可以在更短时间内执行更多查询。

应该适当监视和升级内存使用量,以避免因假脱机造成的性能问题。

有关可扩展性的详细信息,请参见 Tableau Server 可扩展性

性能:

如本主题开头所述,当您升级到 Tableau 10.5 或更高版本时,大多数情况下性能应该会有所提升。但是,在某些情况下您可能会遇到性能问题(比如响应时间缓慢),特别是对于包含复杂计算的工作簿。若要测试工作簿以确定是否会带来性能问题,我们建议您在升级之前测试这一点。有关详细信息,请参见测试工作簿性能。如果已经升级了 Tableau Server,请参见包含计算的工作簿性能故障排查

有关性能的详细信息,请先参见一般性能准则,并参见性能调整

性能优点

从 10.5 开始,Hyper 技术已与 Tableau 数据引擎集成,为您带来了以下主要优点:

  • 更快的数据提取创建速度:借助 Hyper 技术,生成数据提取的速度几乎与源系统提供数据的速度不相上下,无需进行排序。

  • 支持更大的数据提取:在此版本之前,您可能无法将所有数据放入一个数据提取中。利用 Hyper 技术,将能在单一数据提取中包括更大量的数据。

  • 数据提取分析速度更快:在许多情况下,您会发现针对更大数据提取或包含复杂计算的工作簿的数据查询变得更快。

以下是为什么由 Hyper 提供支持的数据引擎在更大或更复杂的数据提取上性能更出色并进行优化以便更快查询的一些原因:

  • Hyper 技术旨在更快地使用数据。与以前的版本不同,数据引擎不执行任何后处理,如排序。使用 Hyper,不需要像排序这样的后处理步骤,从而使数据引擎能够更好地执行更大的数据提取。

  • Hyper 技术优化了内存。这意味着在需要的时候,所有数据都会在内存中。这导致数据访问时间更短。

  • Hyper 技术优化了 CPU。这意味着数据引擎现在可以完全并行执行查询并利用可用的 CPU,从而使查询执行时间几乎与计算机内核数量成线性比例关系。

  • Hyper 是一个编译查询引擎。查询被解释或编译为机器代码以获得最佳性能,并允许数据引擎从现代硬件(CPU、大型主存储器容量)中获得最高性能。

  • Hyper 技术使用高级查询优化来加快查询速度。与以前的 Tableau 数据引擎相比,新数据引擎除了采用许多其他高级技术之外,例如实现每列的最小值和最大值、用于优化搜索范围的迷你索引、更精细的数据块级字典、用于联接和子查询性能优化的高级逻辑,还大大改进了性能和可伸缩性。

感谢您的反馈! 提交反馈时出错。请重试,或向我们发送消息