performance - 商业智能数据源性能 - 大表

标签 performance tableau-api business-intelligence query-performance sqlperformance

我使用 Tableau 并有一个包含 140 个字段的表。由于表的大小/宽度,性能较差。我想删除字段以提高阅读速度,但我的用户基数太大,每个字段至少有一个人使用,而 90% 的人使用相同的约 20 个字段。

此问题的最佳解决方案是什么? (Tableau 是我们的 BI 工具,BigQuery 是我们的数据库)

到目前为止我所做的: 在 Tableau 中,尚不清楚如何使用根据所选字段而变化的动态数据源。理想情况下,我想要较小的 View 或非规范化表。当用户在 Tableau 中进行选择时,基础数据源会更新到包含该字段的表或 View 。

我尝试过大 View 的简单版本,但它的性能比我的大表差,并且读取了更多的数据(请记住,我是 BigQuery,因此由于成本原因,我非常关心读取的字节数)

最佳答案

建议 1:提取您的数据。

特别是当涉及到按查询字节付费的数据源时,(Big Query、Athena 等)提取非常有意义。取决于数据对用户来说必须有多“新鲜”。 (当然,所有用户都会说“实时是唯一的出路”,但请深入研究一下,看看它实际上可能是什么。)刷新可以安排在短短 15 分钟内。刷新的真正威力以“增量刷新”的形式出现,即仅添加新记录(沿着 int 或 date 的索引)。这是降低成本的好方法 - 如果您的 BigQuery 数据库已分区 - (应该如此。)由于 Tableau 数据提取包含在 .hyper 文件(Tableau 自己设计/控制的结构)中,因此它们速度极快,并且经过完美优化,非常适合在 Tableau 中使用。

建议 2:创建 3 个(或更多)数据源。在验证这些数据源提供正确信息后,对这些数据源进行认证。为用户提供清晰的描述。

  1. 原始大型数据集。
  2. 大约 20 个字段的子集,适用于 90% 的人。
  3. 10% 的其余字段
  4. 1 的摘录
  5. 2 的摘录
  6. 3的摘录

重要的是,如果每个数据源中的字段名称都匹配(即:从未手动更改过),那么用户应该可以轻松地根据需要“扩展”到更大的数据集。这意味着他们通常总是可以从一小部分数据开始进行探索,然后使用“replace datasource” ' 功能可以切换到不同的数据源,同时保持相同的 View 。 (不过,如果要缩小规模的话,这也不太有效。)

关于performance - 商业智能数据源性能 - 大表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55681642/

相关文章:

javascript - 在 javascript 中使用 switch 语句而不是一堆 if()else if() 是否有任何性能提升?

javascript - 使用具有可信身份验证的 Tableau Javascript API 显示报告

ssis - 在 SSIS 2008 中创建包时出错 "Library not registered"

sql-server - 如何将 BIDS 解决方案置于源代码控制之下?

html - 通过 Iframe 自动登录到 Tableau Server

oracle - OBIEE 12.2.1.2 - 数值的自定义数据格式

java - 更新了 Java 性能调优资源

mysql - 如何在 phpmyadmin 中多次运行查询?

wpf - 未在 WPF 中指定控件名称...性能效果

tableau-api - 如何在 Tableau 仪表板上创建响应式布局?