1 概述

Smartbi 数据模型提供“直连”和“抽取”两种数据加载模式:


2 直连和抽取适用场景

2.2.1 什么样的用户适合适用直连模式


2.2.2 什么样的用户适合抽取模式


3 直连介绍

直连模式是Smartbi引擎查询的默认模式,所有的查询会发送给底层数据库或数仓执行

1、直连时计算依赖原始数据库或数仓,如果底层数据库或数仓的配置低、性能不好等,会导致取数慢、查询奔溃等问题。

2、若在原始数据库对表结构进行更改(进行了列的增减),那么表结构的变化不会立即更新到在数据模型中。需要对模型中的表进行“同步”操作,“同步”新添加进来的字段,详情可查阅:设置及修改查

3、若直连数据仓库,而数据仓库又是通过ETL作业流进行更新同步的,如果作业流没有执行,直连查询的还是原来的数据。


4 抽取介绍

Smartbi数据模型先把源数据抽取到高速缓存库,然后从高速缓存库中取数;

4.1 数据抽取类型介绍

数据抽取分为全量抽取、按次抽取两种抽取方式。

4.1.1 全量抽取

全量抽取模式,

1、如果使用参数进行权限控制,比如华南区域的员工只能查看华南的数据,华北区域员工只能查看华北的数据,那么抽取的时候需要使用管理员的账号进行抽取; 详情可查阅计划任务

2、如果模型的查询是数据源表,并且在源表设置了行权限,全量抽取不会继承源表设置的行权限,需要重新在模型上设置行权限;详参:行权限设置

3、如果模型使用了参数进行数据过滤或者权限控制,在报表层,切换参数无法过滤到数据非默认值的数据,详参:参数管理

每次抽取的时候将表数据全部抽取至MPP数据库,是全量覆盖抽取.

全量覆盖抽取:每次抽取,对数据库的全部数据进行抽取,并覆盖MPP数据库已有的数据,如下图所示:


4.1.2 按次抽取

如果模型里面的查询是数据源表,并且在源表设置了行权限,按次抽取会继承源表设置的行权限; 详参:行权限设置


“按次抽取”是结合用户的登录生成的Session及查询的参数组合进行抽取。

“按次抽取”使用场景:

下面以产品自带的Northwind数据库的northwind_sp_getProductInfo存储过程“根据产品类别动态获取产品信息”为例说明按次抽取的原理:

在数据模型下建模型并把存储过程加入到模型中,并在【参数管理】中映射参数,以及填写默认值和备选值,如下图:

去建仪表盘,并把参数拖入,切换参数,可以根据参数显示数据:

4.1.3 抽取设置

抽取的整体逻辑简单介绍:


Smartbi数据模型的手工抽取类型有:抽取并建宽表、单个查询的抽取、更新宽表


4.1.4 抽取计划

设置好查询的抽取方式以及抽取参数值,如果想定时更新模型数据,那么可以适用计划任务进行抽取, 详参:计划任务

模型的抽取计划入口:

点击进入抽取计划界面:


4.1.5 抽取日志

用户查看抽取日志:

入口:

点击进入抽取日志界面: