首页 > 解决方案 > 商业智能数据源性能 - 大表

问题描述

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

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

到目前为止我所做的事情:在 Tableau 中,不清楚如何使用根据所选字段更改的动态数据源。理想情况下,我希望有更小的视图或非规范化表。当用户在 Tableau 中进行选择时,基础数据源会更新为具有该字段的表或视图。

我尝试了一个大视图的简单版本,但它的性能比我的大表差,并且读取的数据要多得多(请记住,我是 BigQuery,所以我非常关心由于成本而读取的字节数)

标签: performancetableau-apibusiness-intelligencequery-performancesqlperformance

解决方案


建议1:提取数据。

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

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

  1. 原始大数据集。
  2. 90% 的约 20 个字段的子集。
  3. 10% 的剩余字段
  4. 1的提取物
  5. 2的提取物
  6. 3的提取物

重要的是,如果每个数据源中的字段名称匹配(即:从未手动更改过),那么用户应该很容易根据需要“放大”到更大的数据集。这意味着他们通常总是可以从一小部分数据开始探索,然后使用“替换数据源”功能切换到不同的数据源,同时保持相同的视图。(不过,如果要按比例缩小,这也行不通。)


推荐阅读