Deployment 如何优化Tableau仪表板的部署策略?

Deployment 如何优化Tableau仪表板的部署策略?,deployment,tableau-api,Deployment,Tableau Api,我们有两个环境(TEST和PROD)可以发布仪表板。这些环境的数据驻留在同一个RDBMS服务器上,每个环境1个模式。我们希望将一个仪表板发布到两个环境中,以便一个仪表板查看测试模式,另一个查看产品模式 这就是我们提出的方法,但它并没有按照预期工作:我们无法找到一种方法,在不实际维护同一仪表板的两个版本(一个用于测试,一个用于产品)的情况下,如何将Tableau仪表板部署到两个环境(并使用两个单独的模式) 所以,要么我们为Tableau选择了一个糟糕的部署策略,要么我们用它做了错误的smth。请大

我们有两个环境(TEST和PROD)可以发布仪表板。这些环境的数据驻留在同一个RDBMS服务器上,每个环境1个模式。我们希望将一个仪表板发布到两个环境中,以便一个仪表板查看测试模式,另一个查看产品模式

这就是我们提出的方法,但它并没有按照预期工作:我们无法找到一种方法,在不实际维护同一仪表板的两个版本(一个用于测试,一个用于产品)的情况下,如何将Tableau仪表板部署到两个环境(并使用两个单独的模式)


所以,要么我们为Tableau选择了一个糟糕的部署策略,要么我们用它做了错误的smth。请大家分享一下您的经验,如何将Tableau仪表板部署到不同的环境中,而不必手动编辑每个环境的仪表板?或者我们的方法有什么问题?

您在问题中没有指定您的RDBMS,因此我的回答将给出一个广泛的陈述,可能不一定适用于您的具体情况

我认为您为测试和生产数据库环境选择了一种糟糕的方法。通常,test和prod位于完全独立的数据库实例上,在许多情况下,位于独立的服务器上。将它们放在同一个实例或服务器上意味着您在测试期间使用了生产硬件资源,并且可能会因为针对非生产架构的失控查询而锁定服务器。对于单个实例,即使不登录到生产模式,也很容易无意或恶意地使生产实例停机


更好的方法是使用两个独立的数据库实例:一个用于测试,一个用于prod。这两个实例可以位于同一台服务器上,但都是独立的数据库实例。两个实例具有相同的用户和相同的模式。然后,您可以轻松地将Tableau数据源指向相应的实例,而无需更新工作簿或保留每个工作簿的两份副本。例如,如果您使用的是Oracle,请在两台Tableau服务器上保持TNS别名相同,但更改tnsnames中的连接详细信息以指向test或prod db服务器。

您的情况听起来像我的情况。我需要使用不同的服务器/数据库配置将完全相同的报告发布到不同的环境。我就是这么做的:

  • 维护单一的真相来源,即生产版本
  • 创建将报表转换到不同环境的实用程序。您也可以按以下方式手动执行此操作:

    • 将工作簿(表格文件)另存为.twb
    • 使用任何文本编辑器打开twb文件。它类似于xml。Tableau根据此信息创建连接并渲染图形
    • 用户名、服务器、端口的文本搜索。。。您将在此处看到所有配置信息
    • 用目标环境信息替换这些信息
    • 使用Tableau Desktop和publish保存并再次打开它
  • 如果您有像Jenkin这样的自动化工具,您可以使用Tableau命令为部署开发一键式解决方案