数据洞察报告的加载速度以及对查看者所做更改(例如应用过滤条件或更改日期范围)的响应速度取决于多种因素,包括:
- 底层数据集的性能
- 报告中的可视化图表正在查询的数据量
- 这些查询的复杂程度
- 网络延迟
其中一些因素是您(或数据洞察)无法控制的。例如,您可能无法采取太多措施来提高底层数据平台的响应速度或加快网络连接速度。不过,您可以采取一些措施来微调数据洞察中的报告性能。
调整数据新鲜度
大多数数据源类型都有数据新鲜度选项(提取的数据源除外)。此选项可让您在对最新信息的需求与报告性能和潜在的查询费用或配额之间取得平衡。每种类型的数据源都有自己的默认数据新鲜度阈值,但您可以根据需要调整此阈值。例如,如果您要衡量网站或应用中的广告效果,可能会发现每日数据更新就足够了。另一方面,基于社交媒体分析的报告可能需要每天多次更新数据。
详细了解如何管理数据新鲜度。
使用已提取的数据源
提取的数据源是最多包含 100 MB 数据的静态快照。创建后,报告中的数据请求会发送到此快照,而不是发送到底层数据集。与使用实时数据连接相比,使用提取的数据源可以提高报告和探索的加载速度,并提高响应速度。
提取的数据源没有数据新鲜度选项。您可以安排提取的数据源中的数据更新时间。
详细了解如何提取数据。
了解并发和扩缩
数据洞察采用无服务器架构设计,这意味着数据洞察本身不会对查看报告的并发用户数量施加硬性限制。性能和可伸缩性主要取决于报告所连接的底层数据源的容量和响应能力。
数据源具体信息
BigQuery:使用 BigQuery 时,报告并发性和性能取决于多种因素,例如 BigQuery 槽可用性、查询复杂性、数据大小和缓存。请监控 BigQuery 槽利用率和查询性能。
如需进行优化,请考虑 BigQuery 最佳实践,例如分区、聚簇和使用 BI Engine。
其他数据源:对于其他连接器(例如 Google 表格或第三方数据库),并发限制取决于源系统的 API 速率限制、数据库连接池和整体查询处理能力。
切实可行的建议
- 优化数据源查询:确保查询尽可能高效。
- 利用缓存:利用数据洞察的数据新鲜度设置来缓存数据,并减少对数据源的直接查询。
- 分阶段推出:对于用户群非常庞大的应用(例如数千名用户),请考虑分阶段推出,同时监控对底层数据源的影响。
- 监控底层系统:检查数据源(例如 BigQuery 槽或 API 配额)的性能和配额使用情况。
BigQuery 数据源方面的改进
以下部分讨论了有关如何提高使用 BigQuery 数据的报告的性能的提示。
使用 BI Engine 加速 BigQuery 数据源
BigQuery BI Engine 是一项高速内存中分析服务。利用 BI Engine,您可以分析存储在 BigQuery 中的数据,该服务支持亚秒级查询响应时间和高并发操作。
BI Engine 与数据洞察集成,可加快数据探索和分析。您可以使用 BI Engine 在数据洞察中构建内容丰富的互动式信息中心和报告,且性能、扩缩、安全性或数据新鲜度都不会受到影响。
使用具体化表针对大型数据集运行复杂查询
如果 BigQuery 视图在运行时执行复杂的计算或转换,则将数据洞察连接到该视图可能会很慢,尤其是在处理大型数据集时。虽然视图可用于重构数据,但如果它们执行实时计算(例如为数百万条记录动态生成签名网址),则可能会导致数据洞察超时。
请勿使用执行大量处理的视图,而是使用以下任一选项将视图查询的结果具体化到表中:
- 使用 BigQuery 具体化视图。
- 根据查询结果创建表,然后使用 BigQuery 预定查询定期刷新该表中的数据。
然后,将数据洞察连接到具体化视图或表,而不是标准视图。这样可以避免为数据洞察的每个请求重新运行复杂的计算。如需进一步提升物化数据的性能,请使用 BI Engine。
启用 BigQuery Storage Read API
对于使用分页结果的查询,启用 BigQuery Storage Read API 可以缩短查询时间。如果启用 Storage Read API 可以缩短查询运行时长,数据洞察 会自动使用该 API。
如需启用 BigQuery Storage Read API,请向已连接到数据洞察的 BigQuery 用户授予以下权限:
bigquery.readsessions.createbigquery.readsessions.getData