5.4.5 功能进阶
5.4.5.1 数据源权限控制
数据源模块右侧所展示的数据表的清单与配置数据库连接时的用户名权限相关,在数据源模块展示需要该用户拥有数据表的Desc以及该Schema或者Project的List权限。
如果指定数据源的专业版用户需要用到“上传文件”的功能,则对应数据库用户还需要具有Write的写入权限。
如果某些库存在某些存储敏感信息且与统计分析无关的表,可以通过取消该用户对该表的Select及Desc权限来限制开发或者分析人员的访问以确保敏感信息安全。
5.4.5.2 Quick引擎查询加速
“Quick引擎”是Quick BI产品自研的计算内核,该引擎的搭建旨在解决大数据的场景下已制作完毕的报表以及分析人员做交互式分析时计算缓慢的问题。“Quick引擎”架构在“数据源”和“数据集”两个模块中间,用来处理上层数据作品发送到数据集最终下放到数据源上的查询,在技术实现上Quick引擎分为五条链路,数据库直连、数据库实时加速模式、数据库抽取模式、智能缓存以及维值加速,在这五条链路进行了技术层抽象。
直连模式:默认的数据结果计算方式,计算负载直接跑在连接到BI产品的数据库或数仓上,非常适用于底层计算资源满足查询负载或小数据量的分析场景。
实时加速:基于阿里云DLA(Data Lake Analysis)内存计算引擎,查询时实时从用户数据库取数据中间用DLA内存引擎加速计算,专业版用户可用,默认提供12C48G的容量,目前支持阿里云MaxCompute数仓,非常适合Max Compute数仓的实时分析。
抽取加速:把用户数据库或数仓的数据抽取到Quick引擎的高性能列式存储引擎中,支持全量模式和增量模式,分析计算负载直接跑在Quick引擎中,充分利用Quick引擎性能的同时,减少用户数仓的负担,非常适用于企业没有独立数仓或高峰时期数仓负载过重导致资源争抢时报表查询或订阅推送延迟的情况。
智能缓存:应用端报表、仪表板在访问时临时查询结果会被缓存下来,在配置的缓存有效时间内,接下来其他用户相同的查询直接取缓存结果,加快返回速度同时避免重复计算的资源消耗,非常适合应用端是重复查询较多的场景,例如高频使用报表的可视化展示类。
维值加速:通过将高频耗时的维度字段查询下放到数据库维表而不是当前待分析的明细表来查询以提高返回速度和节省计算资源。适合使用频率较高的例如分公司、渠道等维度字段。
5.4.5.3 数据集自定义SQL参数使用
Quick BI数据集模块的自定义SQL中支持传参,参数可以从仪表盘、电子表格的筛选控件或者全局参数传入,可以满足复杂多变的分析场景。
上图自定义SQL的WHERE子句后列举了几种使用较为常见的传参方式,传参整体分为两种,“占位符”(占位符名)和
参数
(占位符名)和“参数”({占位符名})和“参数”({物理字段名:参数名}),在未通过筛选控件、查询参数赋值或者在右侧“参数设置”中设置默认值的情况下,Quick BI都会将条件过滤子句置换为恒等条件“BI”=“BI”,不会对数据准确性造成影响。
一个使用比较广泛的方案是:利用该参数满足在用户与报表交互分析过程中,图表指定维度的切换。上图CASE WHEN代码块简单的说明了这一方案的配置,通过判断“dimension_input”占位符的值而返回不同的时间维度指标,我们在制作图表的时候可以将这个代码块生成的字段dimension拖入“类别轴”来实现根据筛选控件在同一张报表上展示不同的维度。
《企业级云原生白皮书项目实战》——第六章 云原生最佳实践——6.2 全面容器化之后,来电科技如何实现微服务治——6.2.1 缘起(下): https://developer.aliyun.com/article/1227885?groupCode=supportservice


