...
- 直连:是指直接连接用户数据库进行数据的读取。
- 抽取:则是将模型的数据抽取到SmartbiMPP数据库中提升查询效率,计算速度会更快,数据需要定期更新。
2 直连和抽取适用场景
2.1
...
什么样的用户适合直连模式
实时性需求很高的用户:用户进行业务分析实时性要求很高,直连引擎实时取数,最高实现毫秒级数据刷新。
数据安全性要求很高的用户:不希望将数据抽取到第三方软件,希望直接连自己的业务库取数。
拥有大数据平台的用户:目前很多企业有较为专业的大数据平台,数据质量很高,通过直连引擎取数,可以在保障数据分析性能的同时避免数据资源冗余。
数据量比较小,并觉得抽取要更新数据太过麻烦的用户数据量比较小,并觉的抽取要更新数据太过麻烦的用户:直连性能要求较 抽取数据 要高一些,这部分用户数据量小所以使用直连不会有性能方面的担忧;使用直连可以不用更新数据,较为方便。要高一些,这部分用户数据量小所以使用直连不会有性能方面的担忧;使用直连可以不需要更新数据,较为方便。
2.2 什么样的用户适合抽取模式
- 联合查询:当相关数据存储在不同数据库或文件内的多个表中时,可以使用数据模型的抽取做联合分析。当相关数据存储在不同数据库或文件内的多个表中,可以使用数据模型的抽取做联合分析。
- 非常适用于企业没有独立数仓或数仓负载过重的情况,用抽取模式可以提高性能。非常适用于企业没有独立数仓或数仓负载过重的情况,使用抽取模式可以提高性能。
3 直连介绍
直连:是指直接连接用户数据库进行数据的读取。
注意 |
---|
1、目前Smartbi JDBC for Excel、MongoDB、Tinysoft、Smartbi jdbc4Olap这个几个数据库 不支持直连,其他数据库均支持 直连。 2、打开数据模型默认是直连模式,如果不手动切换或者不加入不支持直连的查询类型,将会一直保持直连模式。 3、直连 时查询计算依赖原始数据库或数仓,如果底层数据库或数仓的配置过低、性能不好等,可能会导致取数慢、查询奔溃等问题。 是查询计算依赖原始数据库或数仓,如果底层数据库或数仓的配置过低、性能不好等,可能会导致取数慢、查询崩溃等问题。 4、若在原始数据库对表结构进行更改(比如进行了列的增减),那么表结构的变化不会立即更新到在数据模型中;需要对模型中的表进行“同步”操作,“同步”之后才会把新字段添加进来,详情可查阅:4、若在原始数据库对表结构进行更改(比如进行了列的增减),那么表结构的变化不会立即更新到数据模型中;需要对模型中的表进行“同步”操作,“同步”之后才会把新字段添加进来,详情可查阅:设置及修改查。 5、若 直连 的是数据仓库,而数据仓库又是通过ETL作业流 进行更新同步的,如果作业流没有执行,直连查询的还是原来的数据。 6、如果是数据模型是 直连模式,则可以根据切换参数值动态筛选;如果数据模型是 抽取 模式,则只能根据设置的默认值筛选,无法动态切换;详参:参数设置。 |
1、直连模式示意图:
2、直连模式是Smartbi引擎查询的默认模式,所有的查询会发送给底层数据库或数仓执行;
目前数据模型中支持直连的查询有:数据源表、即席查询、SQL查询、存储在指定数据库的”生成日期表“(非存储在MPP),详参:查询并准备数据。
锚 | ||||
---|---|---|---|---|
|
Smartbi数据模型先把源数据抽取到高速缓存库,然后从高速缓存库中取数。
- 目前目前数据模型含有导入文件、JAVA查询、脚本查询、ETL高级查询、存储过程查询、生成日期表,含有这些查询时,必须使用 这些查询时,必须使用 抽取 模式。
- 抽取和直连都支持:数据源表、即席查询、SQL查询、存储在指定数据库的日期表, 详参:查询并准备数据。
4.1 数据抽取类型介绍
数据抽取支持 全量抽取、按次抽取 。
警告 | ||
---|---|---|
| ||
由于在V11最新版本上优化了抽取逻辑,原先的抽取生成大宽表改成了抽取小宽表,详情可查看:数据模型引擎V2.0。 |
4.1.1 全量抽取
注意 | ||
---|---|---|
全量抽取模式: 1、如果使用 参数 进行权限控制,比如华南区域的员工只能查看华南的数据,华北区域员工只能查看华北的数据,那么抽取的时候需要使用管理员的账号进行抽取; 详情可查阅计划任务。 2、如果模型的查询是数据源表,并且在源表设置了2、如果模型的查询是 数据源表,并且在源表设置了行权限,全量抽取不会继承源表设置的行权限,需要重新在模型上设置行权限;详参:数据模型行权限。如果是数据模型V2.0引擎,抽取时不引用计划任务设置的执行人的权限,行权限在查询时生效,详情可查看:数据模型引擎V2.0。 3、如果模型使用了参数进行数据过滤或者权限控制,在报表层,切换参数无法过滤到数据非默认值的数据,详参:切换参数无法过滤到非默认值的数据,详参:参数设置。 4、如果模型的最后一次抽取失败,打开有影响的报表,无法正常查看,会提示需要抽取模型。 | ||
信息 | ||
| ||
1、目前只支持不改变模型结构并且正常调度出现异常情况,在报表层能正常查看数据。 影响模型需要重新抽取的动作: 2、各个查询是否有增加或删除或修改字段或修改数据类型。 3、增加/删除了查询视图。 |
全量抽取,即全量覆盖抽取, 每次抽取的时候将表数据全部抽取至MPP数据库,如果MPP已有数据,全量抽取会覆盖MPP已有的数据
示意图如下:
4.1.2 按次抽取
信息 |
---|
1、如果模型里面的查询是数据源表,并且在源表设置了行权限,按次抽取会继承源表设置的行权限; 详参:数据模型行权限。 2、“按次抽取”是结合用户登录生成的Session及查询的参数组合进行抽取。如果用户注销或关闭浏览器,下一次登录系统会重新抽取。 3、按次抽取,如果把报表共享给其他人查看,用户使用public权限第一次打开会进行抽取数据,只要第一次打开的用户不注销或关闭浏览器,后面的用户都无需重新抽取。 4、ETL高级查询不支持按次抽取。 |
“按次抽取”使用场景:
- 数据安全问题:按次抽取是根据用户本身的权限进行抽取,只能查看自己有权限的数据;并且每次登出会清空缓存表。
- 数据实时性问题:按次抽取是根据参数备选值进行抽取,如果源库本身性能不行,并且数据量不大,对数据实时性要求更高,可以采用按次抽取。
信息 |
---|
按次抽取适合数据量小的情况,如果数据量大,切换参数备选值都会抽取,比较耗时,影响用户体验。 |
示例:根据产品类别编号获取产品信息。
具体操作步骤如下:
1、以下面”“根据产品类别动态获取产品信息 进行介绍
2、在存储过程查询中选择产品自带的northwind数据库下面的“northwind_sp_getProductInfo存储过程, 如下图:
3、保存存储过程,并回到数据模型,创建参数,如下图,可参考 参数设置 创建参数:
4、在抽取设置 设置查询为按次抽取,并保存数据模型。
5、去建 交互式仪表盘,并把参数拖入,切换参数,组件可以根据参数动态展示数据:
- 第一次切换的参数值,会从底层数据库取数;如果后面再切换回原来的参数值,不会重新取数,而是取缓存的数据。
- 如果有新的数据进来,可以退出账号重新登录再查看或者清空缓存。
4.1.3 抽取设置介绍
信息 | ||
---|---|---|
| ||
抽取的整体逻辑简单介绍:
|
Smartbi数据模型的手工抽取类型有:抽取并建宽表、单个查询的抽取、更新宽表
...
- 如果模型从来没有抽取过,点击单个查询的抽取,模型仍会运行【抽取并建宽表】的逻辑,因为这时只抽单个查询没有意义,在报表层会报错。
- 如果模型的某个查询变动过,比如修改了基数关系或者增加了字段等,你选中其中一个查询进行抽取,也会把已修改的所有查询给抽了,并且更新大宽表。
- 如果你很明确只是修改了这个查询,比如只针对这个查询更改了字段别名,那么就可以直接重新抽取这个查询的数并更新大宽表。
- 在模型中导入文件,因为本身已经导入到MPP中了,所以无需设置抽取方式。
...
如果模型里面的所有查询都没有任何调整,只是查询的数据改变了,那么可以直接用更新宽表的方式减少抽取时间。
...
- 入口:
...
信息 |
---|
只要是抽取的模型,第一次保存之后都会自动生成计划任务,默认是停止状态。 |
1、模型的抽取计划入口:
2、设置好查询的抽取方式以及抽取参数值,如果想定时更新模型的数据,那么可以使用计划任务进行抽取, 详参:计划任务。
4.1.5 抽取日志
用户查看抽取日志:
- 可以更好的判断模型是否已经抽取成功。
- 如果模型抽取失败可以在抽取日志中查看抽取失败的原因。
1、入口:
2、点击进入抽取日志界面:
- 默认根据显示屏大小,展示一屏的的抽取日志,滚动可以加载更多。
- 如果模型其中一个查询抽取失败,则整个模型的状态是失败的;如果失败了,可以在“抽取失败信息”列下载日志信息。
- 抽取时间:由于抽取是异步进行,相加每个查询的时间计算出来的时间不会等于“模型(大宽表)“的抽取时间,最终是以为“模型(大宽表)“的抽取时间为准。
1 概述
Smartbi 数据模型提供“直连”和“抽取”两种数据加载模式:
- 直连:是指直接连接用户数据库进行数据的读取。
- 抽取:则是将模型的数据抽取到SmartbiMPP数据库中提升查询效率,计算速度会更快,数据需要定期更新。
2 直连和抽取适用场景
2.1 什么样的用户适合适用直连模式
实时性需求很高的用户:用户进行业务分析实时性要求很高,直连引擎实时取数,最高实现毫秒级数据刷新。
数据安全性要求很高的用户:不希望将数据抽取到第三方软件,希望直接连自己的业务库取数。
拥有大数据平台的用户:目前很多企业有较为专业的大数据平台,数据质量很高,通过直连引擎取数,可以在保障数据分析性能的同时避免数据资源冗余。
数据量比较小,并觉得抽取要更新数据太过麻烦的用户:直连性能要求较 抽取数据 要高一些,这部分用户数据量小所以使用直连不会有性能方面的担忧;使用直连可以不用更新数据,较为方便。
2.2 什么样的用户适合抽取模式
- 联合查询:当相关数据存储在不同数据库或文件内的多个表中时,可以使用数据模型的抽取做联合分析。
- 非常适用于企业没有独立数仓或数仓负载过重的情况,用抽取模式可以提高性能。
3 直连介绍
注意 |
---|
1、目前Smartbi JDBC for Excel、MongoDB、Tinysoft、Smartbi jdbc4Olap这个几个数据库 不支持直连,其他数据库均支持 直连。 2、打开数据模型默认是直连模式,如果不手动切换或者不加入不支持直连的查询类型,将会一直保持直连模式。 3、直连 时查询计算依赖原始数据库或数仓,如果底层数据库或数仓的配置过低、性能不好等,可能会导致取数慢、查询奔溃等问题。 4、若在原始数据库对表结构进行更改(比如进行了列的增减),那么表结构的变化不会立即更新到在数据模型中;需要对模型中的表进行“同步”操作,“同步”之后才会把新字段添加进来,详情可查阅:设置及修改查。 5、若 直连 的是数据仓库,而数据仓库又是通过ETL作业流 进行更新同步的,如果作业流没有执行,直连查询的还是原来的数据。 6、如果是数据模型是 直连模式,则可以根据切换参数值动态筛选;如果数据模型是 抽取 模式,则只能根据设置的默认值筛选,无法动态切换;详参:参数设置。 |
1、直连模式示意图:
2、直连模式是Smartbi引擎查询的默认模式,所有的查询会发送给底层数据库或数仓执行;
目前数据模型中支持直连的查询有:数据源表、即席查询、SQL查询、存储在指定数据库的”生成日期表“(非存储在MPP),详参:查询并准备数据。
...
Smartbi数据模型先把源数据抽取到高速缓存库,然后从高速缓存库中取数。
- 目前导入文件、JAVA查询、脚本查询、ETL高级查询、存储过程查询、生成日期表,含有这些查询时,必须使用 抽取 模式。
- 抽取和直连都支持:数据源表、即席查询、SQL查询、存储在指定数据库的日期表, 详参:查询并准备数据。
4.1 数据抽取类型介绍
数据抽取支持 全量抽取、按次抽取 。
4.1.1 全量抽取
注意 |
---|
全量抽取模式: 1、如果使用 参数 进行权限控制,比如华南区域的员工只能查看华南的数据,华北区域员工只能查看华北的数据,那么抽取的时候需要使用管理员的账号进行抽取; 详情可查阅计划任务。 2、如果模型的查询是数据源表,并且在源表设置了行权限,全量抽取不会继承源表设置的行权限,需要重新在模型上设置行权限;详参:数据模型行权限。 3、如果模型使用了参数进行数据过滤或者权限控制,在报表层,切换参数无法过滤到数据非默认值的数据,详参:参数设置。 4、如果模型的最后一次抽取失败,打开有影响的报表,无法正常查看,会提示需要抽取模型。 |
信息 | ||
---|---|---|
| ||
1、目前只支持不改变模型结构并且正常调度出现异常情况,在报表层能正常查看数据。 影响模型需要重新抽取的动作: 2、各个查询是否有增加或删除或修改字段或修改数据类型。 3、增加/删除了查询视图。 |
全量抽取,即全量覆盖抽取, 每次抽取的时候将表数据全部抽取至MPP数据库。
全量抽取:每次抽取,对数据库的全部数据进行抽取,并覆盖MPP数据库已有的数据,示意图如下:
4.1.2 按次抽取
信息 | ||
---|---|---|
警告 | ||
| ||
按次抽取,在V11 数据模型引擎V2.0上优化了抽取逻辑,主要优化了:
|
信息 |
---|
1、按次抽取:与计划任务无关。 2、如果模型里面的查询是数据源表,并且在源表设置了行权限,按次抽取会继承源表设置的行权限; 详参:数据模型行权限。 2、“按次抽取”是结合用户登录生成的Session及查询的参数组合进行抽取。如果用户注销或关闭浏览器,下一次登录系统会重新抽取。3、“按次抽取”是结合用户登录生成的Session及查询的参数组合进行抽取。如果用户注销或关闭浏览器,下一次登录系统会重新抽取。 3、按次抽取,如果把报表共享给其他人查看,用户使用public权限第一次打开会进行抽取数据,只要第一次打开的用户不注销或关闭浏览器,后面的用户都无需重新抽取。4、按次抽取,如果把报表共享给其他人查看,用户使用public权限第一次打开会进行抽取数据,只要第一次打开的用户不注销或关闭浏览器,后面的用户都无需重新抽取。 4、5、ETL高级查询不支持按次抽取。 6、按次抽取适合数据量小的情况,如果数据量大,切换参数备选值都会抽取,比较耗时,影响用户体验。 |
“按次抽取”使用场景:
- 数据安全问题:按次抽取是根据用户本身的权限进行抽取,只能查看自己有权限的数据;并且每次登出会清空缓存表。
- 数据实时性问题:按次抽取是根据参数备选值进行抽取,如果源库本身性能不行,并且数据量不大,对数据实时性要求更高,可以采用按次抽取。
信息 |
---|
按次抽取适合数据量小的情况,如果数据量大,切换参数备选值都会抽取,比较耗时,影响用户体验。 |
示例:根据产品类别编号获取产品信息。
具体操作步骤如下:
1、以下面”“根据产品类别动态获取产品信息 进行介绍
2、在存储过程查询中选择产品自带的northwind数据库下面的“northwind1、下面以“根据产品类别动态获取产品信息 进行介绍。
2、在存储过程查询中选择产品自带的northwind数据库下面的“northwind_sp_getProductInfo存储过程, 如下图:
3、保存存储过程,并回到数据模型,创建参数,如下图,可参考 参数设置 创建参数:
4、在抽取设置 设置查询为按次抽取,并保存数据模型。
4、在抽取设置 设置查询为 按次抽取,并保存数据模型。
5、去建 5、去创建 交互式仪表盘,并把参数拖入,切换参数,组件可以根据参数动态展示数据:,并把参数拖入到画布中,切换参数,组件可以根据参数动态展示数据:
- 第一次切换的参数值,会从底层数据库取数;如果后面再切换回原来的参数值,不会重新取数,而是取缓存的数据。如果是第一次切换的参数值,会从底层数据库取数,会触发抽取;如果后面再切换回原来的参数值,不会重新取数,而是取缓存的数据。
- 如果有新的数据进来,可以退出账号重新登录再查看或者清空缓存。
4.1.3 抽取设置介绍
信息 | ||
---|---|---|
| ||
抽取的整体逻辑简单介绍:
|
Smartbi数据模型的手工抽取类型有:抽取并建宽表、单个查询的抽取、更新宽表Smartbi数据模型的手工抽取类型有:抽取并建宽表、单个查询的抽取、更新宽表。
选项 | |
---|---|
抽取并建宽表 | 适用于手动抽取的任意场景,比如模型的某个字段数据类型改了,别名改了,关系修改了,增加了某个字段等等,点击“抽取并建宽表”都会把整个模型的查询全部重抽并重新生成大宽表。 |
单个查询的抽取 |
|
更新宽表 | 如果模型里面的所有查询都没有任何调整,只是查询的数据改变了,那么可以直接用更新宽表的方式减少抽取时间。如果模型里面的所有查询都没有任何调整,只是基数更改了,那么可以直接用更新宽表的方式减少抽取时间。 |
抽取参数值 |
锚 | ||||
---|---|---|---|---|
|
信息 |
---|
1、只要是抽取的模型,第一次保存之后都会自动生成计划任务,默认是停止状态。 只要是抽取的模型,第一次保存之后都会自动生成计划任务,默认是开启状态。2、在数据模型上点击”抽取并建宽表“不走抽取计划进行抽取。 |
1、模型的抽取计划入口:
2、设置好查询的抽取方式以及抽取参数值,如果想定时更新模型的数据,那么可以使用计划任务进行抽取, 详参:计划任务。
4.1.5 抽取日志
用户查看抽取日志:
- 可以更好的判断模型是否已经抽取成功。
- 如果模型抽取失败可以在抽取日志中查看抽取失败的原因。
1、入口:
2、点击进入抽取日志界面:
- 默认根据显示屏大小,展示一屏的的抽取日志,滚动可以加载更多。默认根据显示屏大小,展示一屏抽取日志,滚动可以加载更多。
- 如果模型其中一个查询抽取失败,则整个模型的状态是失败的;如果失败了,可以在“抽取失败信息”列下载日志信息。
- 抽取时间:由于抽取是异步进行,相加每个查询的时间计算出来的时间不会等于“模型抽取时间:由于抽取是异步进行,如果相加每个查询的时间计算出来的时间不会等于“模型(大宽表)“的抽取时间,最终是以为“模型(大宽表)“的抽取时间为准。
- 引擎V1.0抽取显示效果:
- 引擎V2.0抽取显示效果: