1 概述
Smartbi 数据模型引擎V2.0正式上线,它在稳定性、性能以及可扩展性上有全面革新,旨在为业务分析与决策支持提供更为强大、可靠的驱动力。
2 功能介绍
V2.0依然包含 SQL引擎和多维引擎:
- SQL引擎:详情可查看SQL引擎介绍。
- 多维引擎:是基于V1.0重构而来的,代码逻辑基本一致,V2.0比V1.0 更稳定、查数更快、扩展性更强。
2.1 如何开启引擎V2.0?
- 在系统运维/系统选/高级设置,设置:OLAP_QUERY_NEW_ENGINE_BUILD_MDX 如果为true代表开启,如为false代表关闭。
2.2 数据模型引擎V2.0 比V1.0 增强了哪些功能
1、前提:业务库适全面适配
目前已经有28+个业务库适配了引擎 V2.0。
2、数据模型抽取方面
选项 | V2.0 | V1.0 |
---|---|---|
MPP适配 | 暂时只适配了:SmartbiMpp、StarRocks、SmartbiMppMD。 | 适配了:
|
抽取整体逻辑 | 抽取成小宽表。 什么是小宽表? 以模型上所有单个表/查询为中心构建的宽表。构建宽表的逻辑,以基数进行判断:
| 抽取成一个大宽表。 |
按次抽取 |
| session级别的,不同用户抽取是不一样的,不同用户无法共享,而且session不过期是不会清理表。 |
抽取行权限 |
| 全部查询以为以抽取人在源表上设置的行权限为主。 |
抽取计算字段 |
| 时间层次、分组字段、计算列全部不抽取到大宽表中。 |
计算度量 | 不管是在数据模型中创建的计算度量还是在报表层创建的计算度量,如果计算度量错误时,查询数据时:没有勾选该计算度量,不会报错,只有勾选了该计算度量才会报错。 | 如果计算度量报错,查询数据时,不管有没有勾选该计算度量,都会报错。 |
计算列 | 抽取模式: 计算列如果报错,在抽取模式下,抽取日志会显示对应的计算列名称以及表达式信息; 直连模式: 查询数据时,不管有没有勾选该计算列,都会报错。 | 抽取模式: 不知道是哪个字段报错。 直连模式: 查询数据时,不管有没有勾选该计算列,都会报错。 |
查询逻辑 | 如果在报表层勾选了属于不同小宽表的字段,需要时时判断字段属于哪几个小宽表,如果命中多个小宽表,SQL引擎:小宽表之间是join关系;多维引擎:小宽表之间是union关系。 | SQL引擎、多维引擎走不同的逻辑。 SQL引擎:根据在报表层勾选字段判断命中几张表,如果是只勾选一张表的字段,即直接查询对应的表/查询;如果勾选了属于不同表/查询的字段,会时时判断,如果命中多个表,就查询大宽表。 多维引擎:只会查大宽表。 |
3、计算列支持更多函数
选项 | V2.0 | V1.0 |
---|---|---|
产品封装的统一函数 | 计算列封装了50+函数,包含:日期函数、数值函数、字符串函数、逻辑函数。 详情可查看:计算列函数。 | 只有10几个函数。 |
4、报表层的增强
- 即席查询/透视分析筛选器条件自定义设置“且(AND)” 或者“或(OR)”关系,详情可查看:透视分析、即席查询。
- 仪表盘支持单选/多选下拉树、单选/多选列表树(待上线)。
- 交叉表/透视分析:如果显示汇总小计、合计支持走SQL引擎,详情查看:SQL引擎介绍。
2.3 V2.0 与V1.0 的差异
数据模型引擎V2.0是基于V1.0重构而来的,但是也是有一些差异:
1、维表有的数据,事实表没有。
说明 | V1.0 VS V2.0 |
---|---|
V2.0: 事实表 关联 维表left join后, 事实表会补空数据。 V1.0:事实表 关联 维表left join后, 事实表不会补空数据。 | 原因: V1.0 走的取数逻辑是星型模型:取维度成员从维表里面取,查出来行轴上的维度成员组合只有维表中存在的数据。 |
2、默认顺序不一致
说明 | V1.0 VS V2.0 |
---|---|
|