画面提取 vs 实时
tableau extract vs live
我只需要更清楚地了解画面提取 VS 现场直播。我有 40 个人会使用 tableau 和一堆自定义 SQL 脚本。如果我们沿着提取路径向下走,自定义 SQL 将仅查询 运行 一次,并且 tableau 的所有实例将使用单个结果集,或者每个 tableau 运行 实例将自定义 SQL 分开并只在本地缓存这些结果?
如果您使用数据提取,那么它的行为将类似于物化 SQL table,因此 Tableau 数据提取之前的任何内容都不会影响结果,直到被刷新。
从您的问题中,您的配置的某些方面并不完全清楚。 Tableau 数据提取是一个有用的工具 - 它们本质上是临时但持久的查询结果缓存。在许多方面,它们的行为类似于物化视图。
您通常希望在中央位置使用您的数据提取,通常是在 Tableau Server 上,以便它被许多用户共享。这是典型的。通过一些工作,您可以让每个单独的 Tableau Desktop 用户都拥有一份数据提取的副本(比如通过分发打包的工作簿)。这在某些环境中是有意义的,比如远程断开连接的用户,但这不是常态。该用例类似于每月使用从中央仓库提取的信息向分析师发送数据集市。
因此,您的问题的答案是 Tableau 提供了您可以选择使用的功能,以最好地服务于您的特定用例——复制或共享数据提取。诀窍就是了解提取物的工作原理并根据需要使用它们。
获得共享数据提取的最简单方法是将其发布到 Tableau Server,嵌入工作簿或单独作为数据源(然后由工作簿引用)。复制数据提取的最简单方法是在第一次创建数据提取后将您的工作簿导出为打包工作簿。
Tableau 数据源是引用原始来源的元数据,例如CSV、数据库等。Tableau 数据源可以选择性地包含一个提取原始源的摘录。您可以刷新或附加到数据提取以查看新数据。如果发布到 Tableau Server,您可以按计划进行刷新。
将数据提取集中存储在 Tableau Server 上是有益的,尤其是对于变化相对不频繁的数据。您可以捕获查询结果、从数据库卸载工作、减少网络流量并加快可视化速度。
您可以通过过滤(甚至聚合)提取以仅包含显示您的可视化项所需的数据来进一步提高性能。对于大型数据源(如 Web 服务器日志)非常有用,可以在提取创建时进行一次聚合。提取也可以只捕获长 运行 SQL 查询的结果,而不是在可视化时重复它们。
如果您确实进行了聚合提取,请注意您在可视化中所做的任何进一步聚合都是有意义的。 SUMS 的 SUMS 和 MIN 的 MINS 定义明确。平均值的平均值等并不总是有意义的。
当需要非常快速地处理数据时使用提取。在这种情况下,数据源的副本存储在 Tableau 内存引擎中,因此与实时相比,查询执行速度非常快。这种方法的唯一问题是当源数据更新时数据不会自动更新。
live 在处理实时数据时使用。这里每个查询都是从源数据访问的,因此性能不会像提取的那样好。
如果您需要在静态数据库上工作,请使用 extract else the live。
我从你的问题中感觉到你担心性能问题,这就是为什么你想知道你的用户应该使用 tableau 提取还是使用实时连接。
我认为这两种情况(实时与提取)都取决于您的基础设施和 table 的大小。提取需要数小时才能下载的巨大 table 是没有意义的(例如 10 亿行和 400 列)。
如果您的所有用户都直接连接到数据库(而不是 tableau 服务器),您可能会 运行 处理不同的问题。如果他们连接的 tables 相对较小,并且您的数据库可以很好地处理多个用户,那可能没问题。但是,如果您的数据库必须 运行 许多并行的资源密集型查询,在大型 table 上,在未针对许多用户同时访问进行优化且位于不同时间的数据库上具有高延迟的区域,这将是您寻找解决方案的噩梦。在最坏的情况下,您可能必须更改数据结构并更新基础架构以允许 40 个用户同时访问数据。
我只需要更清楚地了解画面提取 VS 现场直播。我有 40 个人会使用 tableau 和一堆自定义 SQL 脚本。如果我们沿着提取路径向下走,自定义 SQL 将仅查询 运行 一次,并且 tableau 的所有实例将使用单个结果集,或者每个 tableau 运行 实例将自定义 SQL 分开并只在本地缓存这些结果?
如果您使用数据提取,那么它的行为将类似于物化 SQL table,因此 Tableau 数据提取之前的任何内容都不会影响结果,直到被刷新。
从您的问题中,您的配置的某些方面并不完全清楚。 Tableau 数据提取是一个有用的工具 - 它们本质上是临时但持久的查询结果缓存。在许多方面,它们的行为类似于物化视图。
您通常希望在中央位置使用您的数据提取,通常是在 Tableau Server 上,以便它被许多用户共享。这是典型的。通过一些工作,您可以让每个单独的 Tableau Desktop 用户都拥有一份数据提取的副本(比如通过分发打包的工作簿)。这在某些环境中是有意义的,比如远程断开连接的用户,但这不是常态。该用例类似于每月使用从中央仓库提取的信息向分析师发送数据集市。
因此,您的问题的答案是 Tableau 提供了您可以选择使用的功能,以最好地服务于您的特定用例——复制或共享数据提取。诀窍就是了解提取物的工作原理并根据需要使用它们。
获得共享数据提取的最简单方法是将其发布到 Tableau Server,嵌入工作簿或单独作为数据源(然后由工作簿引用)。复制数据提取的最简单方法是在第一次创建数据提取后将您的工作簿导出为打包工作簿。
Tableau 数据源是引用原始来源的元数据,例如CSV、数据库等。Tableau 数据源可以选择性地包含一个提取原始源的摘录。您可以刷新或附加到数据提取以查看新数据。如果发布到 Tableau Server,您可以按计划进行刷新。
将数据提取集中存储在 Tableau Server 上是有益的,尤其是对于变化相对不频繁的数据。您可以捕获查询结果、从数据库卸载工作、减少网络流量并加快可视化速度。
您可以通过过滤(甚至聚合)提取以仅包含显示您的可视化项所需的数据来进一步提高性能。对于大型数据源(如 Web 服务器日志)非常有用,可以在提取创建时进行一次聚合。提取也可以只捕获长 运行 SQL 查询的结果,而不是在可视化时重复它们。
如果您确实进行了聚合提取,请注意您在可视化中所做的任何进一步聚合都是有意义的。 SUMS 的 SUMS 和 MIN 的 MINS 定义明确。平均值的平均值等并不总是有意义的。
当需要非常快速地处理数据时使用提取。在这种情况下,数据源的副本存储在 Tableau 内存引擎中,因此与实时相比,查询执行速度非常快。这种方法的唯一问题是当源数据更新时数据不会自动更新。 live 在处理实时数据时使用。这里每个查询都是从源数据访问的,因此性能不会像提取的那样好。 如果您需要在静态数据库上工作,请使用 extract else the live。
我从你的问题中感觉到你担心性能问题,这就是为什么你想知道你的用户应该使用 tableau 提取还是使用实时连接。
我认为这两种情况(实时与提取)都取决于您的基础设施和 table 的大小。提取需要数小时才能下载的巨大 table 是没有意义的(例如 10 亿行和 400 列)。
如果您的所有用户都直接连接到数据库(而不是 tableau 服务器),您可能会 运行 处理不同的问题。如果他们连接的 tables 相对较小,并且您的数据库可以很好地处理多个用户,那可能没问题。但是,如果您的数据库必须 运行 许多并行的资源密集型查询,在大型 table 上,在未针对许多用户同时访问进行优化且位于不同时间的数据库上具有高延迟的区域,这将是您寻找解决方案的噩梦。在最坏的情况下,您可能必须更改数据结构并更新基础架构以允许 40 个用户同时访问数据。