连接到数据源

  • 版本 :2022.1 及更高版本

Tableau 支持者倡议使用 Tableau Server 的其中一个主要原因就是它能够实现协作。当您的组织在转变为使用 Tableau Server 时,对于您和您的用户来说,一个重要的概念转变就是您如何看待共享工作簿…以及工作簿帮助您分析的数据。

Tableau 支持者倡议使用 Tableau Server 的其中一个主要原因就是它能够实现协作。当您的组织在转变为使用 Tableau Server 时,对于您和您的用户来说,一个重要的概念转变就是您如何看待共享工作簿…以及工作簿帮助您分析的数据。

从 Tableau Server 的角度考虑数据

如果您仅使用 Tableau Desktop,则可以管理您自己的所有数据连接。例如,您可能会打开 Tableau,连接到 SQL Server,然后选择要使用的数据库、表和列。或者,您或许会连接到 Excel 电子表格并选择要分析的工作表。通常,您不会考虑打算如何与他人共享数据。事实上,我们都犯的一个新手级错误就是根据本地 Excel 文件创建工作簿,将工作簿另存为 .twb 文件,然后通过电子邮件将该工作簿发送出去供其他人欣赏。但是,他们当然什么都看不到,因为您通过电子邮件发送的工作簿实际上无法到达您的本地 Excel 文件。

既然您已经安装了 Tableau Server,那么您和您的用户就必须了解考虑工作簿和数据的不同方式。用户自然而然地会通过将其工作簿发布到 Tableau Server 来共享工作簿。但是您和他们也要想想如何共享这些工作簿使用的数据。

向您的用户提供 Tableau Server 之后,您可以通过以下一些方法共享数据:

  • 创建和发布打包的工作簿,这些工作簿包含在 Tableau Desktop 中创建的数据提取。其他用户可以使用这些工作簿以及数据提取中的静态数据。

  • 发布数据源,该数据源定义数据库连接并且包括有关要使用该数据库中的哪些数据的信息。然后,用户可以创建指向其数据的此来源的工作簿。

考虑优化数据访问和安全性

除了考虑可以共享数据访问的方法之外,您和您的用户还必须了解如何最有效地利用数据。首先,利用 Tableau Server 优化数据访问可能看上去很复杂。Tableau 支持许多数据连接器。每个连接器均针对它所连接到的数据进行了优化,而且每个连接器都具有不同的特点。许多连接器具有不同的身份验证要求。有些连接器不允许数据提取。有些连接器支持大量的查询筛选和操作,而其他连接器提供的支持则更加有限。

当您熟悉 Tableau Server 并了解如何针对您的情况优化数据访问后,您的用户将发现以下好处:

  • 性能。目标是“流程”。当用户正在执行数据分析流程时,以不同方式处理数据可以帮助他们获得更深入的了解。您需要配置数据访问,以便尽可能不中断用户的流体验。

  • 数据访问。对于许多组织,执行适当的数据访问对于业务至关重要。作为 Tableau Server 管理员,您可以确保用户具有的数据访问权限满足您的组织的身份验证和隐私要求。

  • 数据的单一来源。您可以使用 Tableau Server 在您的组织中改进数据的一致性。您可以管理数据源连接并创建数据提取刷新计划,以满足用户的需要,并确定稳定且一致的数据使用方式。

开始之前

我们已经为负责 Tableau Server 管理任务的 Tableau Desktop 支持者编写了本章。因此,我们假设您了解数据实时连接(如 SQL Server 或像 Amazon Redshift 这样的云解决方案)与数据提取之间的差异。您应该熟悉下列术语和概念:

  • 数据源。到数据库或其他数据存储位置的连接,其中包含该数据库中要使用的数据的信息。用户可以创建指向数据源的工作簿。在 Tableau Server 上共享的数据源可能包含数据提取,或者它可能包含描述如何访问实时连接的配置信息。

  • 数据提取。这是数据快照。可以利用像 Excel 电子表格这样的静态数据源来创建数据提取(.tde.hyper 文件)。或者数据提取可能包含来自关系数据库或来自基于云的数据的数据。可以将 Tableau Server 上共享的数据提取配置为按照您定义的计划从基础数据进行刷新。

  • 实时连接。这是指包含基础数据直接连接的数据源,可提供实时或接近实时的数据。借助实时连接,Tableau 可直接针对数据库或其他来源进行查询,并返回查询结果以在工作簿中使用。用户可以创建实时连接,然后在 Tableau Server 上共享这些连接,以便其他 Tableau 用户可以通过相同的连接和筛选设置来使用相同的数据。作为 Tableau Server 管理员,您可以管理凭据以及与数据源关联的权限以控制用户可以访问的数据。

如果您还不熟悉这些不同的数据访问术语,请花一些时间通读 Tableau 帮助中的发布数据源和工作簿(链接在新窗口中打开)。若要更新您对 Tableau Server 如何使用运行身份服务帐户访问数据的理解,请查看本指南前面的计划您的部署

您需要执行的操作

Tableau Server:适用于每个人的安装指南 的这一章论述了在 Tableau Server 上开始担任数据管理员新角色所必须执行的三个基本步骤:

  1. 提供数据源访问权限。

  2. 加深您对使用实时连接和数据提取之间的折衷方案的理解。

  3. 测试实时连接与数据提取之间可能存在的性能差异。

提供数据源访问权限

若要提供数据源的访问权限,首先需要了解各种数据源处理身份验证的方式 - 即登录。大多数情况下,在用户访问数据之前,数据库、云数据和多维数据集要求用户进行身份验证。身份验证的详细信息为每个连接器所特有,身份验证由每个连接器进行处理。

作为管理员,您可能需要使数据访问与组织中的数据库管理员或数据团队保持协调。如果你们是数据团队,则需要了解您的组织所使用的数据以及他们坚持的身份验证要求。例如,当 Tableau 用户连接到 MySQL 时,需要进行 Windows 身份验证才能访问。适用于 Windows 的 Tableau Desktop 上的用户不会得到提示。但是,如果用户使用 Mac,则当他们尝试连接时,MySQL 的 Tableau Desktop 连接器会提示 Mac 用户输入凭据。

如果可能的话,我们会建议采用每用户身份验证来访问数据。然而,在某些情况下,可以使用服务帐户来访问数据库或文件共享。Active Directory 环境中的 SQL Server 就是一个示例。如果用户发布一个使用 SQL Server 实时连接(不是数据提取连接)的工作簿,则当其他用户访问该工作簿时,Tableau Server 将使用服务帐户。这意味着,当另一个用户打开该工作簿时,该用户对数据的访问由您作为管理员为服务帐户提供的访问权限来确定。

在此情况下,服务帐户被称为 RunAs 服务帐户。要配置使用 Active Directory (Kerberos) 身份验证的数据库连接,请参见启用 Kerberos 委派(链接在新窗口中打开)

允许(或不允许)用户嵌入凭据

作为管理员,您可以决定允许用户在他们发布到服务器的工作簿和数据源中嵌入(加密的)密码。在这种情况下,当其他人使用这些工作簿或数据源时,他们可以看到数据,而无需提供凭据。

若要启用或禁用嵌入式凭据,请登录到 Tableau Server。

在站点菜单中,单击“管理所有站点”,然后依次单击“设置”>“常规”选项卡。

选中或清除“允许发布者将凭据嵌入工作簿或数据源中”选项。

这是服务器范围的设置 - 您在此处进行的设置适用于所有站点上的所有工作簿。

我们应该注意到,在一些情况下嵌入式凭据无意中可能会为不应该看到数据的用户提供访问权限。因此,对于需要用户级别数据库身份验证的组织,我们建议禁用嵌入式凭据。以后,当用户打开从要求身份验证的来源获取数据的工作簿、数据连接、视图或仪表板时,会提示用户输入凭据。

另一方面,一些组织使用 Tableau Server 作为数据分析师的单一托管入口点。在此情况下,嵌入凭据可能具有商业意义 - 需要访问数据库的所有 Tableau 用户都可以使用嵌入在工作簿或数据源中的一组凭据。

设置数据源权限

通过将数据源发布到 Tableau Server,团队中的人员可以提供对数据的集中式访问。这样,可以在用户之间共享数据,包括在那些不使用 Tableau Desktop 但有权在 Web 编辑环境中编辑工作簿的用户之间共享。使用 Tableau Desktop 的用户可以发布包含数据提取或实时连接的数据源。

作为管理员,您将确定哪些用户有权发布数据源。对于该站点,这些用户至少必须具有发布者站点角色。此外,非管理员用户必须对他们想要发布到的项目具有“查看”“保存”权限。(要查看用户权限,请参见创建内容项目、组和权限的结构一章。)

除了确定可以发布数据源的人员之外,您还可以设置权限,以确定可以连接到数据源以及可以对数据源进行编辑的人员。通过为项目或单个数据源设置以下权限角色,您可以配置访问权限:

  • 连接器。此权限角色设置的权限允许用户或组通过服务器上(Web 制作)或 Tableau Desktop 中的工作簿连接到数据源。

  • 编辑器。此权限角色设置的权限允许用户或组连接到服务器上的数据源,以及针对该数据源进行发布、编辑、下载、删除、设置权限和计划刷新。

只有在该项目处于解锁状态的情况下,才能设置对项目中的单个数据源的权限。当您阅读创建内容项目、组和权限的结构一章时,建议在项目级别设置权限并在配置权限后锁定项目。

若要设置对项目中的数据源的权限,请按以下步骤进行操作:

  1. 登录到 Tableau Server。

  2. 单击页面顶部的站点菜单,然后选择要使用的站点。

  3. 单击“内容”选项卡,再单击“项目”,然后选择设置权限所要针对的项目。

  4. “操作”下面,单击“权限”

  5. 选择或添加要将数据源权限分配到的用户或组。

    “数据源”下,选择您要设置的权限角色。

  6. 单击“保存”

通过实时连接共享 CSV、Excel 或 Access 文件

您的某些用户可能会分析作为文件夹中独立文件的 CSV(以逗号分隔的值)、Microsoft Excel 或 Microsoft Access 文件中的数据。这些文件通常被视为数据库 - 例如,一些用户可能正在使用 Tableau 分析共享网络位置上的 Excel 文件中的数据,某些人(也许是那些相同的用户)还经常更新文件。

(很明显,访问共享网络位置上的独立文件并不等同于使用专用的多用户数据库,如 SQL Server、MySQL 或 Oracle。CSV、Excel 和 Access 文件不提供关系数据库中固有类型的性能、用户级安全性或丰富的查询功能。)

我们在此处提供的过程演示了如何使用 Windows 计算机上的共享文件夹共享在 Active Directory 环境中运行的 Excel 文件。

创建服务帐户

在此情况下,您必须在 Windows Active Directory 中创建一个用户帐户。此帐户将成为 Tableau Server 访问存储在 Windows 计算机上的文件所使用的服务帐户。确保此帐户只有读取共享中的文件所需的最低权限。

对于将针对服务帐户创建的帐户,请遵循以下准则:

  • 在 Active Directory 中针对 Tableau Server 服务帐户创建专用帐户。换言之,不要使用现有帐户。通过使用专用帐户,您可以确保只能通过 Tableau Server 服务帐户来访问您针对 Tableau Server 授权的数据资源。

  • 请不要使用具有任何类型域管理权限的帐户。事实上,当您在 Active Directory 中创建帐户时,就会创建域用户。请不要将您创建的帐户添加到不必提升帐户权限的任何 Active Directory 安全组中。

  • 为这一个帐户授予目录中数据源的权限。如前所述,将创建的帐户只需要适当数据源和网络共享的读取访问权限。

设置共享的网络位置

转到 Microsoft Windows 网站上的在 Windows 10 中通过网络共享文件(链接在新窗口中打开)页面,并按照“我现在如何通过网络共享文件或文件夹?”下的过程进行操作。这些步骤描述了如何与“特定人员”共享文件夹,该文件夹将使用 UNC(通用命名约定)在组织内部进行访问。您将授予访问权限的“特定人员”是您以前创建的服务帐户。

UNC 名称包括服务器名称以及后面的文件夹名称(很像一个 Web 地址),用于访问您的共享文件夹。下面是一个示例,其中 DATATEAM 是计算机的名称,shared 是该计算机上共享位置的名称:

\\DATATEAM\shared

shared 所指的位置实际上可能是深入文件夹结构中的许多层,即使没有直接在 UNC 名称中反映出来也不例外。

运行 Windows 文件共享向导时,您应该输入想要共享内容的人员的一个或多个用户帐户。对于此过程,请输入 Active Directory 用户帐户,然后将“权限级别”设置为“读取”。这意味着,以用户运行身份运行的任何进程可以读取共享位置。在我们例子中,当然,该进程为 Tableau Server 进程。

文件共享向导的最后一页显示了 UNC 路径。请记下此路径并将其发送给您的用户,以便他们知道在哪里连接到共享的 Excel 文件。

配置 Tableau Server

您必须将 Tableau Server 配置为存储您之前创建的 Active Directory 用户的用户凭据。有关配置步骤,请参见连接到 Windows 共享目录(链接在新窗口中打开)

将 Excel 文件添加到共享位置

设置共享位置后,请将想要共享的一个或多个 Excel 文件复制到该位置。

创建连接到共享的 Excel 文件的工作簿

此过程描述了如何访问共享网络位置上的 Excel 文件,然后如何将工作簿中的该数据发布到 Tableau Server。此过程真的适合您的用户,因此请确保他们知道如何执行这些步骤。

用户使用此方法进行发布后,访问已发布工作簿的其他用户将看到直接来自共享的 Excel 文件的数据。用户也可以在使用 Tableau 工作簿时刷新 Excel 文件中的数据。

  1. 打开 Tableau Desktop。在开始页面上的“连接”下,单击“Excel”

  2. “打开”对话框内顶部的文件字段中,使用 \\computer-name\share-location-name 格式输入 UNC 路径。

  3. 选择要连接到的 Excel 工作簿,然后单击“打开”

  4. 请像往常一样创建一个 Tableau 工作簿,但不要从 Excel 中提取数据。

  5. 若要进行发布,请单击“服务器”>“发布”。遇到提示时,请输入 Tableau Server 地址以及具有发布权限的 Tableau 用户的凭据。

  6. “将工作簿发布到 Tableau Server”页面上,清除“包括外部文件”复选框。单击“确定”

  7. 如果需要,请设置权限,然后单击“发布”

保持数据最新

许多情况下,在用户发布工作簿后,工作簿或视图中所显示的数据会发生更改。例如,如果用户具有显示每月销售信息的工作簿,则该工作簿的数据必须至少每月更新一次。

如果工作簿的数据源已配置为使用数据实时连接,则每当打开工作簿时,该工作簿都可以读取更新的数据。(这是我们在本节之前的过程中向您介绍的内容)。但是如果工作簿的数据源依赖于数据提取连接,则必须使用最新数据来刷新数据提取。

当用户发布具有数据提取的工作簿时,数据提取会存储在服务器上。然后在用户下载该工作簿或在服务器上查看工作簿时,工作簿中会包括该数据。

您可以用两种方式来刷新数据提取。完全刷新会用新数据替换当前的数据提取。增量刷新会将任何新数据添加到现有的数据提取。(为了支持增量刷新,数据必须包括像日期戳或连续 ID 之类的数据,这些数据可以用于指示增量刷新的开始位置)。

您的用户可以直接在 Tableau Desktop 中刷新数据提取,方法是在“数据”菜单中选择数据源,然后选择“数据提取”>“刷新”

作为管理员,您也可以直接刷新数据提取:

  1. 登录到 Tableau Server。

  2. 在页面的顶部,单击“任务”

  3. “数据提取刷新”下面,选择您想要刷新的工作簿或数据源。

  4. “操作”菜单上,单击“立即运行”

设置用户可以从中进行选择的刷新计划

当用户发布包括数据提取的工作簿时,用户可以设置刷新计划。可以在 Tableau Desktop 内的“发布工作簿”对话框中使用此设置。

作为管理员,您可以控制用户发布时呈现给用户的刷新计划(屏幕截图中突出显示的区域)。若要更改您的用户可以选择的刷新计划,请按照下列步骤操作:

  1. 登录到 Tableau Server。

  2. 在页面的顶部,单击“计划”

    • 选择计划,然后在“操作”菜单上单击适当的操作,以禁用、删除或编辑您不需要的任何现有计划。

    • 单击“新建计划”,然后在“新建计划”对话框中设置计划,以创建一个新计划:

确定计划刷新的频率

刷新数据提取可能非常耗用资源,尤其是在尝试同时运行多个数据提取刷新的情况下。因此,通常情况下,在非工作时间运行数据提取刷新,并将刷新安排在远至业务需求所允许的时间进行是一个好主意。适用于大量数据提取的常用方法是每天晚上在非工作时间运行增量刷新,然后在周末运行完全刷新。

配置数据连接缓存

当您计划您的数据源策略时,应该知道 Tableau Server 缓存服务器上托管的工作簿数据的方式。了解数据连接缓存对于依靠实时数据分析或接近实时的数据分析的组织尤其重要。

请考虑具有数据库实时连接的工作簿。当用户在 Web 浏览器中与此工作簿交互时,Tableau Server 会将查询所返回的数据存储在缓存中。这样,如果工作簿中的用户交互产生一个已经发出的查询,则 Tableau 可能会尝试从缓存中读取数据。从缓存中获取数据通常比重新运行查询更快,这可以帮助用户停留在他们的数据分析流程中。

默认情况下,Tableau Server 将尽可能长时间缓存和重用数据。若要配置所有数据连接的缓存行为,请执行以下操作:

  1. 运行以下命令以设置缓存:

    tsm data-access caching set -r

    其中 是以下选项之一:

    • low 空字符串 ("")。这是默认值。Tableau Server 将尽可能长时间缓存和重用数据。

    • 。指定应缓存数据的最大分钟数。例如,tsm data-access caching set -r 2 将最大分钟数设置为 2。

    • always0(零)。其中任一值都将缓存配置为在每次重新加载页面时刷新。

  2. 应用更改。运行以下命令:

    tsm pending-changes apply

在所有情况下,无论如何配置缓存,Tableau Desktop 中的用户都可以单击工具栏上的“刷新数据”,以强制服务器发送新查询并检索最新数据。此外,通过 Web 浏览器访问数据的用户可以将 :refresh 参数追加到其 URL 中。

了解使用实时连接和数据提取之间的折衷方案

本章的目的是指导您制定连接和数据源管理策略。像这样的策略会尝试回答相当简单的问题:对于给定的场景,您的用户是应该访问实时数据,还是应该使用数据提取?

首先,某些数据源将不允许执行数据提取 - 他们将只允许使用实时连接。很明显,如果是这样,就不必作出决定:使用实时连接。

除了这么容易的选择之外,这个简单的问题还有复杂的答案。当您试验不同的方法,并详细了解对数据性能、访问、新鲜度有影响的许多变量以及特定数据库的来龙去脉时,您将明确给出一个适用于组织中的用户的答案。

不过,我们明白您目前需要使您的用户连接到数据。所以在本节中,我们提供了一些指导性原则,当您推出崭新的 Tableau Server 时,可以使用这些原则做出合理的数据访问决策。

指导性原则:如果性能比数据新鲜度更重要,请使用数据提取

数据提取非常适合启用数据分析师流程。在工作簿中嵌入数据提取后,所有数据已可供 Tableau Server 使用,它会将数据提取存储在高性能数据库中。这通常会产生良好的性能。当用户拖动维度和度量、应用筛选器以及添加可视化效果时,他们会立即看到结果。因为用户与数据快照进行交互,并不直接处理实时数据,所以当用户在 Tableau 中分析和呈现数据时,基础数据源不会具有负担。

有关使用 Tableau Server 进行仓储的附注:如果组织中的人员正在使用的工作簿真地遇到关于重新查询新鲜数据的数据库难题,则您可能禁不住会使用 Tableau Server 来托管数据提取,以尝试从人员所使用的关系数据库中解除查询。通常,不建议只是为了解除查询而使用数据提取。这并不是旨在进行数据分析而非数据仓储的 Tableau Server 的经济型使用方式。如果您发现用户正在创建大量的数据提取,因为他们在使用实时连接时性能受到影响,那么您应该考虑在数据库中进行性能优化,而不是在 Tableau Server 上进行仓储数据提取。

指导性原则:如果业务决策需要实时数据,请使用实时连接

许多数据分析方案需要实时数据。例如,在工作时间模拟交易的财务运作通常需要实时数据。同样,轮询方案往往需要接近于实时的数据新鲜度以提供快速分析。通常,如果您的用户正在处理的数据分析需要以分钟或秒衡量的数据新鲜度,则应使用实时连接来生成工作簿。

虽然可以频繁地刷新数据提取,但是正如我们前面所说的那样,这些更新可能需要大量使用处理器并降低服务器的性能。同时,大量使用实时连接,特别是配合使用复杂的工作簿,可能会使给传统数据库带来压力。因此,您需要确保对 Tableau Server 进程进行适当升级以大量使用实时连接,并且您的数据库应该能够胜任 Tableau Server 的查询负荷任务。(有关调整您的服务器的信息,请参见通知、监视和调整一章)。

请记住,可以在服务器上缓存使用实时连接的查询结果。因此,如果真的需要实时数据,请确保将缓存配置为更经常进行刷新,如我们前面在配置数据连接缓存中所讨论那样。

指导性原则:如果工作簿包含敏感数据,请使用实时连接

正如我们之前所说的那样,您必须确定在用户发布时是否允许用户在工作簿和数据源中嵌入凭据。您的组织的安全和隐私策略应决定是否允许用户嵌入凭据。

如果您的组织实施用户级别数据库权限,请将实时连接用于连接到这些数据库的工作簿。这样,将会提示与需要进行身份验证的工作簿和数据源进行交互的用户输入凭据。对于允许用户运行身份访问的数据源,例如 SQL Server、Microsoft Analysis Services 和 Oracle,请确保您已经为运行身份服务帐户配置了适当的数据库资源访问权限。

比较数据提取和实时连接的性能

人们经常会问数据提取与实时连接哪个更快?如果您通读了本文,您就会明白,答案是“看情况”。

最后,回答这个问题的最好方法是生成一个具有数据库实时连接的工作簿。大多数情况下,在您生成工作簿并查看结果时,性能差异显而易见。

为了更加深入地分析,Tableau 提供了可用于在 Tableau Server 和 Tableau Desktop 上衡量工作簿性能的工具(以下详细信息)。使用这些工具概述使用活动连接的工作簿的性能。当有了该数据后,将工作簿更改为使用数据提取,然后再次测量性能。

当您比较这些结果时,可能会出现明显的获胜者。如果几乎相等,则可以使用数据来指导您以可能的方式来提高性能。例如,进行筛选以仅使用工作簿所需的数据子集可能会为您提供一个明显更胜一筹的工作簿。

下面是一些 Tableau 帮助和 Tableau Server 帮助的链接,用于提供关于如何运行和解读性能记录的信息: