页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

信息

1、目前只有数据模型抽取模式才支持设置预计算。

2、目前预计算支持的高速缓存库:SmartbiMpp产品默认使用高速缓存库CH、StarRocks

3、只有数据模型的抽取计划成功执行完成后,新创建或者修改的预计算才会生效。

4、具体功能限制可查看:6 功能限制章节。

1 概述

预计算:即把某些耗时的操作(例如JOIN、聚合)的结果保存下来,以便在查询时直接复用,从而避免这些耗时的操作,最终达到加速查询的目的,它是解决性能的一个举措。

...

数据模型编辑界面支持预计算配置,一个数据模型可以建立多个预计算。


2 预计算适用场景

适用于如下场景:

  • 模式固定、且执行频次高的查询;
  • 查询包含非常耗时的操作,比如聚合、快速计算等;
  • 适合事实表数据行数很大的情况,比如千万级别。

3 功能介绍

3.1 开启功能前提条件

使用预计算功能前,需确保开启数据模型 V2.0 以及 SQL 简化功能。

1、需要在系统选项/高级设置:将 OLAP_QUERY_NEW_ENGINE_BUILD_MDX 设置为 true,COMMONS_SQL_OPEN_SIMPLIFY_SQL 设置为 true。
2、同时,OLAP 引擎也需开启 SQL 简化开关,即在配置项设置: mondrian.simplifySql 设置为 true。

只有完成这些配置,预计算功能才能正常运行。

3.2 进入预计算管理界面

数据模型有 “直连” 和 “抽取” 两种模式,目前仅 “抽取” 模式支持预计算。在 “抽取” 模式下,操作入口:

  • 位于工具栏的抽取菜单中,点击 “预计算管理” 菜单项,即可进入预计算管理界面。
  • 在关系视图中的表/查询右键菜单:

3.3 示例说明

以产品自带的“订单模型”为例:

去创建透视分析,查询各个区域、省份、城市各个月份的销售额、同期销售额、环比等:

...

6、抽取成功之后,清空缓存,再去查看前面创建的透视分析报表,体感上是变快了的。

4 预计算命中规则

字段匹配限制:报表查询的字段与预计算的匹配要求较为严格。

  • 如果报表查询的字段或过滤条件与预计算仅维度字段匹配,或者部分字段吻合,均无法命中预计算。只有当报表查询的字段完全包含在预计算中,或者完全匹配创建好的预计算时,才能命中。这在实际使用中,可能会因为查询条件的细微差异导致无法利用预计算,降低了预计算的命中率。
  • 如果查询的字段都匹配创建好的预计算中,使用度量的快速计算也能命中预计算。
  • 聚合方式变更影响:前端改了聚合方式,将无法命中已设置好的预计算。在实际业务分析中,用户可能会根据不同的分析需求频繁变更聚合方式,如从求和改为求平均值,这就导致每次变更聚合方式都可能无法使用之前创建的预计算,需要重新创建预计算以适应新的聚合方式。
  • 多事实表模型,如果查询条件中包含多个事实表度量,并且预计算存在多个,会命中多个预计算。



5 如何判断是否命中了预计算

基于 3.3 示例说明 创建的透视分析报表,查询之后:

...

如果高速缓存库是StarRocks,命中成功之后:


功能限制
功能限制

6 功能限制

1、目前预计算功能仅在抽取模式下支持,直连模式暂不支持。这意味着采用直连数据源方式构建的数据模型无法使用预计算功能来提升查询性能。对于一些对数据实时性要求极高,且依赖直连模式获取最新数据的业务场景,无法通过预计算优化查询速度。

...