关于 Tableau Desktop 如何与超大型数据库对话的简单问题

Simple Question about how Tableau Desktop talks to a very large database

我只是好奇 Tableau 如何与大型数据源对话 - 例如,如果我有一个包含 140 万条记录的数据源,我用这些数据做了一个简单的 table,也许图表等,那么 tableau 是如何获取这些数据的?它会去查询数据源,询问数据源它有多少,然后拉入前 10,000 个,它会返回并检索下一个 10k 等吗?还是一次性完成?我还想知道 Tableau 在哪里存储它收到的这些数据?

希望我的问题有意义 - 只是想了解潜在的机制。 谢谢!

Tableau 可以通过多种方式处理外部数据源。您可以将整个数据库内容提取到本地文件(称为提取),或者可以与数据库建立实时连接。

如果连接是实时的,那么 Tableau 会发送旨在 return 您想要的数据的数据库查询,而不是数据库的全部内容。因此,如果您有 140 万条记录,例如,包含全年的销售信息,并且您想要月度总计,Tableau 将发送一个查询,要求数据库 return 月度总计。这将导致只有 12 个数字被 return 编辑到 Tableau:数据库本身将完成这项工作,Tableau 不需要提取 140 万个数字并将它们相加。这就是大多数数据源的工作方式:用户请求一个结果(使用 SQL 查询),数据库计算出如何 return 该结果。这意味着您不需要每次添加一些数字时都复制整个数据库。

实时查询不会对数据库进行抽样:您得到的答案通常是正确的总数(尽管 Google 的 BigQuery 等一些来源会使用抽样对于某些统计汇总,除非另有说明)。

Tableau 和许多数据库都会缓存最近完成的查询结果,因此结果会更快。 Tableau 的结果将在本地举行。