画面 Archi架构图和服务器组件

⚡ 智能摘要

Tableau服务器 Architecture 通过分层多进程设计,将桌面、Web 和移动客户端连接到多个数据层。本页将解释每一层、请求在服务器上的路径、各个后台进程以及单节点和多节点部署的区别。

  • 🧱 四层: 数据源、数据连接器、服务器组件和客户端按从数据库到浏览器的顺序堆叠。
  • ???? 连接方式选择: 实时连接会在每次视图加载时查询数据源,而外部连接则会在每次视图加载时查询数据源。trac它在 Hyper 数据引擎中存储一个压缩的本地副本。
  • 🧭 网关角色: 网关负责路由每个传入的请求,并且在没有外部负载均衡器时,它还可以兼作负载均衡器。
  • 🖼️ VizQL翻译: 此 VizQL 流程将视觉规范转换为数据源查询并返回渲染图像,缓存结果以供重用。
  • ⚙️ 支持流程: 背景程序、存储库、文件存储、缓存服务器和 Cluster 控制器运行在可见图层之下。
  • ????️ 扩展路径: 单个节点同时运行所有进程,而多节点集群则将网关分开。 VizQL,以及容量和故障转移的数据角色。

画面 Archi结构图

Tableau Server 的设计旨在连接多个数据层。它可以连接来自桌面、移动设备和 Web 的客户端。 画面 Desktop 是一款功能强大的数据可视化工具,具有高可用性和安全性。

它既可以在虚拟机上运行,​​也可以在物理机上运行。它是一个多用户、多进程和多线程的系统。

提供如此强大的功能需要强大的架构。让我们研究一下 Tableau Server Archi本教程中的结构。

Tableau服务器 Archi质地

Tableau 服务器中使用的各个层在以下架构图中给出

Tableau服务器 Archi质地
画面 Archi结构图

从下往上看,数据源位于最底层,连接器位于其上方,服务器组件位于中间,客户端位于最顶层。下面的五个部分分别涵盖了这五个层级中的一个。

让我们研究一下 Tableau 的不同组件 Archi质地

数据服务器

Tableau 的主要组件 Archi架构指的是它可以连接的数据源。请注意,第一层指的是整个数据层;即数据服务器。 工艺 在 Tableau Server 内部运行的组件将在下文“Tableau Server 的组件”部分单独介绍。

Tableau 可以连接到多个数据源。这些数据源可以是本地的,也可以是远程的。它可以同时连接到数据库、Excel 文件和 Web 应用程序。Tableau 可以连接来自异构环境的数据,可以融合来自多个数据源的数据,还可以建立各种数据源之间的关联。

数据连接器

数据连接器提供了一个将外部数据源连接到 Tableau 数据服务器的接口。

Tableau 内置了 ODBC/SQL 连接器。该 ODBC 连接器无需使用数据库的原生连接器即可连接到任何数据库。Tableau 提供同时连接实时数据库和外部数据库的选项。tract 数据。根据使用情况,可以轻松地在 ex 和 ex 之间切换。tracTED 和实时数据。

  • 实时连接或实时数据: Tableau 可以通过直接连接到外部数据库来获取实时数据。它利用现有数据库系统的基础架构,通过发送动态 MDX(多维表达式)来实现这一点。 SQL 此功能可将 Tableau 连接到实时数据,而无需导入数据。它充分利用了企业在快速优化的数据库系统上的投资。许多企业的数据库规模庞大,并且会定期更新。在这种情况下,Tableau 可以通过连接到实时数据,充当前端可视化工具。
  • Extrac内存数据: Tableau 有一个选项可以显示trac我们可以获取来自外部数据源的数据。我们可以创建一个本地副本,格式为 Tableau 示例。tract 文件,使用 Hyper 数据引擎生成的 .hyper 格式。它可以扩展trac只需单击一下,即可将数百万条记录导入该引擎。Tableau 的数据引擎同时使用内存和磁盘来存储和处理数据。借助筛选器,Tableau 可以扩展trac从庞大的数据集中提取少量记录。这提高了性能,尤其是在处理海量数据集时。例如tracTED 或内存数据允许用户离线可视化数据,而无需连接到数据源。

Tableau Server 的组件

Tableau 服务器中存在的不同组件包括:

  • Application Server
  • VizQL 服务器
  • 数据服务器

A)应用服务器:

应用程序服务器用于提供身份验证和授权。它处理 Web 和移动界面的管理和权限。它通过在 Tableau Server 上记录每个会话 ID 来确保安全性。管理员可以在服务器中配置会话的默认超时。

B) VizQL 服务器:

VizQL 服务器用于将来自数据源的查询转换为可视化结果。一旦客户端请求被转发到 VizQL 过程,它将查询直接发送到数据源并以图像的形式检索信息。该图像或可视化呈现给用户。Tableau 服务器创建可视化的缓存以减少加载时间。缓存可以在有权查看可视化的许多用户之间共享。

C)数据服务器:

数据服务器用于管理和存储来自外部数据源的数据。它是一个中央数据管理系统。它提供元数据管理、数据安全、数据存储、 数据连接 以及驱动程序要求。它存储数据集的相关详细信息,例如元数据、计算字段、集合、组和参数。数据源可以包含以下内容:tract 数据还可以与外部数据源建立实时连接。

网关

网关负责将用户请求分发到 Tableau 组件。当客户端发出请求时,该请求会被转发到外部负载均衡器进行处理。网关充当进程分发器,将进程分配给各个组件。如果没有外部负载均衡器,网关也可以充当负载均衡器。在单服务器配置中,一台主服务器或网关管理所有进程。在多服务器配置中,一台物理系统作为主服务器,其他系统作为辅助服务器。在 Tableau Server 环境中,只能有一台机器作为主服务器。

客户

Tableau 服务器中的仪表板和可视化可以使用不同的客户端进行查看和编辑。客户端包括 Tableau Desktop、Web 浏览器和移动应用程序。

客户 环境
Tableau桌面 Tableau Desktop 是一款商业分析工具。它有助于在 Tableau Server 中创建、查看和发布仪表板。用户可以在 Tableau Desktop 中访问各种数据源并构建可视化。
电话 可以使用移动浏览器和应用程序以交互方式可视化来自服务器的仪表板。浏览器和应用程序可用于查看和编辑工作簿中的内容。
网上 网页浏览器,例如 Google Chrome, 苹果浏览器, Firefox 和 Microsoft Edge 支持 Tableau 服务器。仪表板中的内容和可视化效果可以通过这些 Web 浏览器进行编辑。

给各个层命名可以解释它们各自包含的内容。下一节将通过一个单一请求遍历所有层,从而使顺序变得具体化。

Tableau Server 请求的端到端流程

打开已发布的仪表板会触发上述组件之间的一系列交互。沿着这条交互链追踪,是了解视图运行缓慢的原因以及应该首先检查哪个进程的最快方法。

  1. 请求到达网关。 浏览器、移动应用或 Tableau Desktop 客户端发送 HTTPS 请求。如果存在外部负载均衡器,它会选择一个节点;否则,主节点上的网关将自行承担负载均衡的角色。
  2. 应用服务器检查身份和权限。 请求被传递给应用程序服务器进程,该进程验证会话,确认用户拥有工作簿的权限,并记录会话标识符。
  3. 已查询缓存服务器。 在任何查询运行之前,服务器都会检查其共享查询缓存。如果找到匹配的条目,则可视化内容会立即返回,剩余步骤将被跳过,这就是为什么第二个打开仪表板的人通常比第一个人等待的时间短得多的原因。
  4. VizQL 构建查询。 缓存未命中时 VizQL 流程将存储在工作簿中的视觉规范转换为对底层数据源的查询。
  5. 数据服务器解析连接。 如果工作簿使用已发布的数据源,数据服务器会提供连接详细信息、计算字段、组和集。实时连接会将查询发送到外部数据库;tract 由 Hyper 数据引擎使用文件存储中保存的 .hyper 文件进行回答。
  6. 结果将被渲染并返回。 VizQL 将结果集转换为视图的标记、坐标轴和标签,将渲染后的输出通过网关返回,并将结果写入缓存以供下一个用户使用。

调校时,该链条中有两点需要特别注意。首先,一个extrac本地响应完全避免了与繁忙的生产数据库进行往返通信。其次,缓存充足时,大多数重复视图会被转换为单次查找,因此重启服务器或发布新的工作簿版本会破坏这种优势,直到缓存再次预热。

上述几个过程从未出现在分层图中,下表列出了这些过程。

Tableau Server 进程类型及其各自的功能

Tableau Server 安装过程中会并行运行一组命名进程。管理员可以在 Tableau 服务管理器状态页面中分别查看这些进程,因此识别每个进程可以大大加快故障排除速度。

工艺应用 社会责任
网关 接收所有入站请求,并将其路由到正确的节点和进程。
Application Server 负责登录、权限、搜索、浏览和管理界面。
VizQL 服务器 通过将视觉规范转换为查询来加载和渲染视图。
数据服务器 管理已发布的数据源、元数据和连接凭据。
数据引擎(Hyper) 创建和查询 .hyperextracts 保存在节点上。
背景资料 运行计划任务:例如tract 刷新、订阅、警报和流程运行。
存储库 A PostgreSQL 数据库包含工作簿元数据、用户、权限和使用历史记录。
文件存储 商店tract 文件并将其复制到需要它们的节点上。
缓存服务器 共享的内存查询缓存由 VizQL、数据服务器和背景调查程序。
Cluster 控制器 监控进程健康状况并触发故障转移,例如提升被动存储库。
协调服务 保持集群中每个节点的配置和拓扑结构一致。

背景资料撰写工作尤其值得关注,因为它是最常被资源不足的环节。例如:trac页面刷新和订阅邮件会占用相同的资源,因此上午会充满重叠。ping 行程安排会延误两者。

单节点与多节点 Tableau Server 部署

上述所有流程都可以在一台机器上运行,对于小型团队来说,这通常是常见的配置。单节点安装易于打补丁和监控,但缺乏冗余:如果机器停止运行,所有仪表盘以及繁重的扩展程序都会停止运行。trac刷新操作直接与观看内容的用户竞争。

多节点集群将相同的进程分布在两台或多台共享同一个存储库和同一拓扑结构的机器上。角色是经过精心分配的,而不是默认分配的。

  • 将背景信息分离出来。 搬家公司tract 刷新到专用节点上,阻止夜间作业减慢交互式视图。
  • 复制网关。 在多个节点上运行网关,并置于外部负载均衡器之后,可以消除单一入口点故障的风险。
  • 添加一个被动存储库。 第二个存储库实例允许 Cluster 如果活动副本停止响应,控制器将自动故障转移。
  • 等级 VizQL 用于并发。 更多 VizQL 实例可支持更多同时观看者,这通常是采用率提高后会出现的瓶颈。
  • 将文件存储位置靠近数据引擎。 查询 ex 的节点tracts 需要本地副本,因此这两个文件通常放在一起。

实际触发迁移到多节点架构的因素很少是原始数据量。通常是出于业务对高可用性的需求,或是数据刷新窗口无法在业务低谷时段内完成。

常见问题

两者运行的流程相同。使用 Tableau Server 时,客户需要自行配置硬件规模、打补丁和监控硬件。而使用 Tableau Cloud 时,Salesforce 会运营集群,因此拓扑结构、扩展和故障转移等问题都由 Salesforce 负责处理。

此 PostgreSQL 存储库保存的是元数据而非分析数据:工作簿和数据源定义、用户、组、权限、计划和使用历史记录。例如trac文件本身存储在文件存储库中。

第一个请求未能命中缓存服务器,因此 VizQL 必须查询数据源并渲染视图。结果随后会被缓存,之后使用相同筛选条件的查看者无需再次查询即可获取结果。

诸如 Tableau Pulse 和 Explain Data 之类的功能运行在现有层之上。它们通过同一数据服务器和缓存路径使用已发布的数据源,因此不会引入单独的分析层。

AI 可以汇总使用情况遥测数据并突出显示饱和进程,但规模调整仍然取决于并发目标、刷新窗口和可用性要求,这些都必须由管理员明确说明。

总结一下这篇文章: