1 概述
Smartbi 数据模型引擎V2.0正式上线,它在稳定性、性能以及可扩展性上有全面革新,旨在为业务分析与决策支持提供更为强大、可靠的驱动力。
2 功能介绍
V2.0依然包含 SQL引擎和多维引擎:
- SQL引擎:详情可查看SQL引擎介绍。
- 多维引擎:是基于V1.0重构而来的,V2.0比V1.0 更稳定、查数更快、扩展性更强。
注意:多维引擎V2.0跟1.0在实现上有部分差异,升级的用户主要重点关注。
2.1 如何开启引擎V2.0?
- 在系统运维/系统选/高级设置,设置:OLAP_QUERY_NEW_ENGINE_BUILD_MDX 如果为true代表开启,如为false代表关闭。
- 2024年7月1号之后全新安装的版本,默认开启V2.0引擎。
2.2 数据模型引擎V2.0 比V1.0 增强了哪些功能
1、前提:业务库适配
- 目前已经有28+个业务库适配了引擎 V2.0,可查看:详情。
- MPP库适配:目前只适配了,SmartbiMpp产品默认使用高速缓存库、StarRocks、SmartbiMppMD产品exe安装包自带高速缓存库,会继续完善。
2、数据模型抽取方面
选项 | V1.0 | V2.0 |
---|---|---|
抽取整体逻辑 | 抽取成一个大宽表。 | 抽取成小宽表。 优势: 1、抽取时,抽取大数据量的模型更不容易内存溢出,因为单个表数据量大大减少了。 什么是小宽表? 以模型上所有单个表/查询为中心构建的宽表。构建宽表的逻辑,以基数进行判断:
|
按次抽取 | session级别的,不同用户抽取是不一样的,不同用户无法共享,而且session不过期是不会清理表。 |
优势: 1、MPP表超过设置的抽取时间,自动清理旧表、减少资源消耗。 2、相同权限的用户间,抽取结果共享,减少重复抽取。 |
抽取行权限( 只最针对:数据模型中的数据源表做出的更改) | 数据模型中添加的是“数据源表”,抽取时是引用计划任务设置的执行人在源表上设置的行权限。还需要再数据模型上重新设置好数据行权限,才不会权限泄露。 |
优势: 如果数据模型中添加都是数据源表: 1、因为不需要获取行权限,逻辑上抽取的速度更快。 2、数据不容易泄露,查询时直接可以引用源表的行权限,无需再在数据模型上重新设置。 |
抽取计算字段 | 时间层次、分组字段、计算列全部不抽取。 |
优势: 1、计算字段抽取到MPP表中,查询SQL语句更简洁、查询速度更快。 |
计算度量 |
| |
计算列 |
|
优势: 1、日志更友好,定位更精准,增强了易用性。 |
查询逻辑 | SQL引擎、多维引擎走不同的逻辑。
| 如果在报表层勾选了属于不同小宽表的字段,需要时时判断字段属于哪几个小宽表,如果命中多个小宽表:
优势:查询时,根据查询的度量、维度更精准的命中某一部分小宽表,不用去查包含所有数据的大宽表,理论查询速度更快。 |
3、计算列支持更多函数
选项 | V1.0 | V2.0 |
---|---|---|
产品封装的统一函数 | 只有10几个函数。 | 计算列封装了45+函数,包含:日期函数、数值函数、字符串函数、逻辑函数。 详情可查看:计算列函数。 |
4、报表层的增强
- +新增功能,只在V2.0引擎上能使用:
- ^提升了交叉表某些场景下的查询性能:
- 交叉表/透视分析:如果显示汇总小计、合计支持走SQL引擎,详情查看:SQL引擎介绍。
2.3 数据模型引擎V2.0是基于V1.0重构而来的,但是也是有一些差异:
1、事实表与维表关联,事实表中只有部分维度数据,并且表关系未设置假设引用完整性,查询选择维表中的维度及事实表度量时,会查询出维表中的所有维度,事实表中没有的度量值补空。
新的变更调整更符合业务实际使用逻辑,如果想保持V1.0的效果,建议升级后设置“假设引用完整性”
说明 | V1.0 VS V2.0 |
---|---|
| 原因: V1.0 走的取数逻辑是星型模型:取维度成员从维表里面取,查出来行轴上的维度成员组合只有维表中存在的数据。 |
2、事实表与维表关联,当事实表中存在维表中没有的维度成员,并且表关系未设置假设引用完整性,查询选择维表中的维度及事实表度量时,会出现空的维度。
新的变更调整更符合业务实际使用逻辑,如果想保持V1.0的效果,建议升级后设置“假设引用完整性”
说明 | V1.0 VS V2.0 |
---|---|
|
3、如果查询中未明确指定排序字段时,前端显示顺序可能不一致,建议升级后指定字段排序。
说明 | V1.0 VS V2.0 |
---|---|
|
2.4 V1.0 与V2.0 查询性能对比
说明:性能报告待上线。