不是数据量大就必须“数据库中分析”,也不是导入内存就一定更快。选择应由数据规模、刷新频率、交互方式、可用功能和数据库负载共同决定。
三种常见方式
| 方式 | 适合的情况 | 需要注意 |
|---|---|---|
| 导入到 Spotfire 内存 | 数据范围可控,需要转换、添加行列或复杂建模 | 首次加载、文件体积和刷新耗时 |
| 数据库中分析 | 数据规模大、希望查询留在数据库端 | 部分图表、转换和数据操作受限 |
| 按需加载 | 只需按对象、时间或条件查看局部数据 | 须在已安装客户端创建并明确加载条件 |
什么时候优先导入内存?
当项目需要在 Spotfire 中进行转换、添加行列、数据关系、数据函数或较复杂的交互时,导入内存通常更灵活。它更适合分析范围已经通过时间、工厂、产品或批次限定的场景。代价是数据会占用客户端或服务器资源,刷新前仍应尽量在源端缩小范围。
数据库中分析的价值与限制
数据库中分析会把运行时数据保留在外部数据源中,适合不希望完整导入大量记录的场景。但官方指南明确列出多项差异:外部数据有可检索和可视化行数限制;某些筛选器不适合高基数字段;转换、添加行列、数据关系、数据函数等操作不适用于数据库中数据。基础数据库新增字段后,也需要刷新方案才能在分析中看到。
按需加载不是“自动加速按钮”
按需加载适合“数据很多,但用户每次只看一小部分”的业务,例如先选设备、批次或项目,再加载对应明细。它可以基于其他数据表条件控制加载;如果输入由文档属性定义,也可以作为分析中的第一个数据表。官方说明按需数据需要在已安装客户端中创建或编辑,因此上线前需要同时验证作者端、Web 端和权限环境。
一个实用的选择顺序
- 先问用户每次真正需要看的时间范围和对象范围。
- 若必须大量下钻并使用完整建模功能,优先在源端过滤后导入内存。
- 若数据主要留在关系数据库且看板以汇总为主,评估数据库中分析。
- 若明细只在特定条件下使用,设计按需加载条件并测试数据库负载。
- 用真实并发、真实网络和真实数据量验收,而不是用小样本判断。
结论
大数据项目的核心不是“把所有数据展示出来”,而是把汇总、下钻和数据加载边界设计清楚。先定义用户动作,再决定数据在哪一端运行。
Spotfire 企业落地进阶教程