【问题标题】:Spotfire Load on Demand for External Table外部表的 Spotfire 按需加载
【发布时间】:2018-09-24 19:11:43
【问题描述】:

假设我有两个表,TableA(嵌入数据),TableB(外部数据)。

场景 1: 表 B 是根据表 A 中的标记按需设置的。当您从 TableA 中标记某些内容时,需要花费一些“n”秒来填充 TableB 中的数据。外部表的按需设置类似于名为 LOD.png的屏幕截图

场景 2: 在 TableB 上没有引入按需设置(请注意 TableB 仍然是外部的)。在 TableA 和 TableB 之间创建了一个关系。 TableB 现在基于 TableA 中的标记通过选项“使用标记限制数据”进行限制。屏幕截图名为 ss2

问题: 1. 哪种场景获取数据更快。 2. 从调试日志看,两个场景中传入的查询是一样的,请问这两个场景是一样的还是不同的?

【问题讨论】:

    标签: spotfire


    【解决方案1】:

    如果表 B 非常大,或者记录需要很长时间才能从数据库中获取,场景 1 很好。在这种情况下,表 B 仅返回基于您在表 A 中标记的行。这意味着行数可能会大大减少,但这也意味着每次标记更改时,都必须获取这些行当时。如果数据库需要很长时间,这可能会令人沮丧。另一方面,如果数据库非常快并且您将行数限制得足够低,这几乎可以无缝衔接。归根结底,您是在查询运行后将此数据拉入内存,因此所有 Spotfire 功能都可用。

    如果计算非常复杂并且需要利用外部数据库的强大功能来执行,场景 2 是很好的选择。这意味着对报告的任何更改、可视化更改等都需要将新查询发送到外部数据源,从而生成新的聚合数据表。这意味着当您未连接到外部数据源时,无法使用数据库内数据表对可视化进行更改。请注意,Spotfire 中有一些功能可用于内存中的数据,例如外部数据无法使用的按需数据。

    我个人喜欢将数据保存在 Spotfire 附近以利用所有 Spotfire 功能,但我无法准确告诉您哪种方法适合您的情况。也许这些关于内存数据和外部数据之间差异的 TIBCO 链接可以提供帮助:

    https://docs.tibco.com/pub/spotfire/6.5.1/doc/html/data/data_overview.htm https://docs.tibco.com/pub/spotfire/6.5.1/doc/html/data/data_working_with_in-database_data.htm

    【讨论】:

    • 您好,马克,非常感谢您对此的详细解释。但是我有一个问题,在场景 2(表 B)中仍然是外部的,为什么当表 B 是“外部数据”时数据会在内存中?虽然表 B 没有实现按需设置
    • 哦,我错过了。添加说明。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多