1 概述
1.1 背景
SmartBI使用了SQL引擎来处理和执行SQL查询。SQL(Structured Query Language)是一种标准的数据库查询语言,用于在关系型数据库中进行数据操作和查询。
...
信息 |
---|
问题:如果mpp为ClickHouse,导出时若数据超过5万行,会分页导出,limit分页取数返回数据顺序不固定,导致取数重复或缺失。 解决方案:同Olap,SQL引擎增加默认排序功能,并通过系统选项控制(默认不启用),默认排序为升序,优先级低于用户设置的排序,仅维度与层次字段会添加默认排序。 系统选项:DATAMODEL_QUERY_SQL_ENGINE_ENABLE_DEFAULT_ORDERBY=true 影响范围:SQL引擎 |
1.2 SQL引擎适合的查数场景
- 查清单明细:如果数据量很大,并且是想查询原始数据的明细。
- 查汇总数据:指标在数仓或使用SQL语句已经处理好了,就是想通过表格或组件查询简单的汇总数据,无需二次计算的比如同期、前期计算。
1.3 满足什么样的条件才会走SQL引擎
注意 | ||
---|---|---|
| ||
1、开启SQL引擎是系统级别的,一旦开启,基于数据模型的所有报表满足条件都会走SQL引擎。 2、仪表盘的 “明细表” 、”新即席查询“ 默认走SQL引擎。 3、在V11版本,支持走SQL引擎说明:
4、不支持走SQL引擎的情况:当前版本下,涉及多维计算(如排名、计算度量基于MDX函数表达式,计算成员、命名集、快速计算)的场景暂时不支持SQL引擎。 5、SQL引擎支持的模型结构:单事实表、星型模型、多事实模型(了解模模型结构可查阅:模型结构介绍)支持走SQL引擎。 |
...
信息 |
---|
1、在多事实模型下:如果遇到满足走SQL引擎的条件,但是还是走的多维引擎,可能是由于有一些数据库不支持full join(目前已知不支持full join的数据库有:HSQL、MariaDB、MySQL、Rapids、SelectDB、StarRocks), 2、关于系统选项DATAMODEL_QUERY_SQL_ENGINE_FIRST_GRAPH_BASE说明: SQL 引擎子图以第一个为基准,不再使用full join ,而是将子图通过left join连接,这样数据会以第一个子图为准,在某些场景下,相对于full join会少一些数据,相当于退化的支持多事实模型。 注意:此系统选项开启,不管数据库是否支持full join,都会使用left join。 |
2 具体操作
2.1 怎么开启SQL引擎
在 系统选项 > 高级设置把DATAMODEL_QUERY_OPEN_SQL_ENGINE 设置成true意为开启。如下图:
2.2 怎么判断报表是否走了SQL引擎?
基于数据模型做的仪表盘、电子表格、即席查询、web电子表格,如果在开启双引擎以及满足条件下,会自动走SQL引擎进行取数。 那怎么判断是否走了双引擎呢?
...
- 如果数据源名称是Mondrian,可以判断走的是OLAP; 如果是源库名称,判断为走SQL引擎
2)看系统监控
2.3 如何快速关闭SQL引擎?
- 在系统选项 > 高级设置把系统 DATAMODEL_QUERY_OPEN_SQL_ENGINE 设置成false或者删除DATAMODEL_QUERY_OPEN_SQL_ENGINE 设置项。
锚 | ||||
---|---|---|---|---|
|
2.4 SQL引擎 与 多维引擎性能简单对比
服务器配置
CPU | 内存 | 硬盘 | 网络 |
---|---|---|---|
8核 | 4G | 没有限制 | 千兆网络 |
...
场景2 | 单事实模型 100w 数据 禁用缓存 | |
---|---|---|
场景说明 | 多维引擎(ms) | SQL引擎(ms) |
2维度 | 42237 | 约等于0 |
2维度+2度量 | 46380 | 14156 |
1维度+1度量+1维度提示 | 1160 | 1055 |
2维度+1分组字段+1度量过滤 | 59797 | 15893 |
1维度+1度量+维度过滤 | 36921 | 55 |
2维度+2度量+1度量聚合过滤 | 72060 | 16725 |
2维度+2度量+1度量 (1个维度升序,1个度量降序) | 193627 | 13806 |
锚 | ||||
---|---|---|---|---|
|
2.5 交叉表/透视分析显示小计/合计:SQL引擎 与 多维引擎性能简单对比
场景1 | 单事实表 10W数据量 | ||
场景说明 | 汇总列数 | SQL引擎(ms) | 多维引擎(ms) |
1维度、1度量 | 1 | 4087 | 5919 |
2维度、2度量 | 1 | 3776 | 6746 |
2 | 7765 | 12347 | |
3维度、2度量 | 1 | 3345 | 7352 |
2 | 5563 | 11129 | |
3 | 8716 | 21134 |
...