简介:随着数字化进程的深入,数据应用的价值被越来越多的人所重视更多的企业。基于数据的决策分析是应用价值的重要场景。不同行业和规模的公司广泛依赖BI产品来生成用于决策分析的报告、仪表板和数据门户。在使用BI产品进行数据分析的过程中,“慢”的数据处理会给业务带来很多困扰。你可以想象一下:boss的报表加载和显示很慢,有时会崩溃。我想把它做好。向上汇报,却给老板带来不好的体验~分析师或者业务同学,做数据探索性分析,拖拽一个指标要几分钟才能看到结果,严重影响工作效率,打断分析思路~“慢”虽然只是一种难以精确定义的体感,但要解决上述问题,BI产品需要具备强大的大数据处理架构和能力,能够横向扩展,以支持不断增长的数据量和计算任务.QuickBI:阿里云飞天操作系统上的云BIQuickBI产品是基于阿里云飞天操作系统构建的云BI软件,支持SAAS模式,私有化部署,定位为多场景、多终端、多平台。-行业消费者BI。本文详细介绍产品核心Quick引擎。QuickBI基于阿里云横向扩展的架构基础。不仅具备可视化分析、中国式报表、自助分析等传统BI能力,还具备企业级安全基础、移动端、第三方系统开放集成能力。QuickBI构建了自己的计算核心Quick引擎。阿里云SAAS服务亿级数据0.5秒聚合分析。另外,由于依托阿里云,计算资源支持横向扩展。也可以通过添加服务器进行扩展。提供更强大的数据分析和计算能力。Quick引擎:多模BI计算引擎Quick引擎作为QuickBI的计算基础,是一个多模BI计算引擎,支持直连数据库、抽取加速、实时加速、查询缓存等多种计算模式,和尺寸值加速度。不同的用户提供最适合自己场景的高效计算解决方案。上图是Quick引擎架构图,从QuickBI产品使用环节分为数据源、数据集和数据工程三部分。数据源是底层的数据库连接,数据集用于对数据源中的表进行建模(表关联、字段类型建模等),将一个或多个表转化为上层的数据工作(仪表盘、电子表、AdHocAnalysis)可用的数据对象。Quick引擎架构介于数据源和数据集之间,用于处理上层数据作品发送到数据集并最终分发到数据源的查询。在技??术实现上,Quick引擎分为三个环节,直连数据库,对数据库进行实时加速。、数据库抽取、技术层抽象在这三个环节。从用户使用角度,我们提供以下五种计算模式:(1)直连模式:计算负载直接运行在与BI产品相连的数据库或数据仓库上,支持数十种数据源,全版本用户可以很适合底层计算资源满足查询负载的场景;(2)抽取加速:将客户数据库或数据仓库的数据抽取到Quick引擎的高性能列式存储引擎中,支持全量模式和增量模式,分析计算负载直接在QuickBI引擎中运行,充分利用Quick引擎的性能,同时减轻客户数据仓库的负担。提供专业版客户,非常适合没有独立数据仓库或数据仓库负载较大的企业;(3)实时加速:基于阿里云DLA(DataLakeAnalysis)内存计算引擎,查询时实时从客户数据库中取数据,中间使用DLA内存引擎加速计算。它适用于专业版客户。目前支持阿里云MaxCompute数仓,非常适合MaxCompute数仓实时分析,更多数据库支持正在开放中;(4)查询缓存:所有版本用户均可使用,访问时缓存应用端报表和仪表盘的临时查询结果,在配置的缓存有效期内,下次其他用户的相同查询直接取缓存结果,加快速度提高回报,避免重复计算的资源消耗。非常适合应用端重复查询较多的场景,比如可视化展示类;(5)维值加速:面向全版本用户,基于直连方式和维表配置实现,通过配置维值加速,高频耗时的维字段查询计算可以直接在数据库维度表代替原来的明细表,比如即席分析和查询控件这类场景,相比没有维度值加速,可以快速返回结果,节省计算资源;QuickEngine-使用指南官方在介绍各个引擎的具体使用时,结合各个引擎的特点给出了场景使用指南,方便用户在不同场景下选择最合适的引擎。Quick引擎会通过数据集的不同配置采用不同的计算方式。根据数据集的不同情况,建议如下:(1)数据集默认采用直连方式。如果查询性能好,则不需要额外配置。如果不能满足要求,则做出如下判断(2)数据集主要用于仪表盘和报表,偏于固定的数据展示,不受很多查询控件的控制。效果要求不是很高,很适合做缓存,基本可以解决问题(可能80%以上可以解决)实际效果要求不是很高。如果缓存不够,比如某个数据集做了很多报表,第一次缓存查询过多。MySQL非OLAP数据库建议使用抽取加速,ADBOLAP数据库建议首先优化数据建模(比如大表是否join),其次建议使用提取以加速和分担一些负载。实际效果非常高。每次看都想看最新的数据。ODPS数据源DLA可用于实时加速(3)数据集主要用于ad-hoc分析、电子表格分析等部分分析查询,或者在查询控件较多的dashboard报表中,缓存不大verymeaningfuling(somewhatuseful),建议:底层数据库不是OLAP,比如MySQL,运行很慢。一是建议使用抽取加速,二是建议优化数据建模。底层数据库是OLAP,比如ADB,运行速度很慢。建议先优化数据建模(比如大表是否join大表),其次建议使用抽取加速来分担一些负载。底层数据库是ODPS,运行速度很慢。如果对有效性要求高,建议使用DLA进行实时加速。如果对有效性要求不高,建议提取加速。(4)数据集维度字段经常用于查询控制或即席分析。建议为该字段配置维度值加速Quick引擎——直连方式。直连模式是Quick引擎查询的默认模式。所有查询都会被发送到底层数据库或数据仓库中执行。快速BI直连模式支持数十种云端和自建数据库。在数据集页面点击“新建数据集”,选择配置好的数据源,左侧面板会显示该数据源中的所有表,拖拽一个或多个表到面板中,可以在数据预览中新建数据集area字段配置,配置完成后保存数据集,再进行后续分析。保存数据集后,后续创建的分析查询将默认为直连模式。QuickEngine-抽取加速当直连方式查询过多或数据量过大时,底层数据库过载,查询变慢,上层插桩显示分析变慢,造成文章开头提到的那些麻烦。这时候可以考虑Quick引擎的提取加速。提取加速是专业版独有的功能。目前涵盖三种数据源:MySQL、ADBforMySQL、MaxCompute。支持全量和增量提取数据到Quick引擎的高性能列式存储分析数据库。提取的数据可以直接在列式分析数据库中完成查询,无需发送到客户数据库,提高了数据查询的性能,降低了客户数据库的负载。点击数据集菜单,选择“加速配置”,在第一个“QuickEngine”选项卡中点击启动引擎,选择提取加速:加速时间可以从“手动触发”和“定时加速”中选择,定时加速会在设定时间后定时触发抽取任务智能聚合抽取支持“全表加速”、“预计算”、“全表计算+预计算”三种模式。其中,全表加速提取全表数据,预计算是根据历史查询智能预计算查询结果,在空间中保存提取CheckAcceleratebydate,可以选择日期字段。基于日期字段的每日增量抽取配置完成后,点击保存,自动触发抽取任务。抽取完成后,后续的数据查询将在抽取引擎数据库中完成。Quick引擎提取并加速性能测试。10亿条数据的sum、count、avg、median聚合全部在0.5秒内返回。它能够对数十亿数据进行亚秒级分析。下表显示了性能测试结果。同时,由于QuickBI基于阿里云飞天基地的产品架构,具有横向扩展的能力。Quick引擎的数据处理能力会随着机器数量的增加而不断增加,理论上具有无限扩展的能力。快引擎-实时加速当直连模式存在性能问题,同时对数据有效性有较高要求时,日粒度更新无法满足要求,需要每小时或分钟粒度的数据更新。由于抽取加速是日粒度数据更新,不能使用。此时,可以考虑另一种方案,即利用实时加速来加速高效数据的查询。和提取加速一样,实时加速也是专业版的特色功能。目前支持MaxCompute数据源。基于阿里云DLA(DataLakeAnalysis)内存计算引擎,查询时将数据实时加载到DLA中进行计算,提高查询性能。离线数据仓库MaxCompute通过实时加速成为在线分析数据仓库。在数据集加速配置页面,开启Quick引擎,切换到实时加速,保存开启数据集实时加速模式。QuickEngine-查询缓存查询缓存的原理是应用端报表和仪表盘的临时查询结果在访问时被缓存起来。在配置的缓存有效期内,其他用户将直接获取同一查询的缓存结果并命中缓存的查询。可以立即返回结果,没有命中缓存的查询将被发送到底层数据库进行查询。查询返回后,查询也会被缓存起来,以供后续使用。结果缓存是一种非常有效的数据查询加速方法,应用范围很广。适用于所有数据源,可供不同版本用户使用。对于一定时间内重复查询的数据集,可以配置查询缓存,尤其是重复查询较多的场景,比如仪表盘展示,可以大大提高查询性能。在加速配置页面,开启查询结果缓存,配置不同的缓存时间来表示缓存的有效期。如果数据不是小时粒度,建议选择12小时。快速引擎-维度值加速在直连查询中,查询维度值,如商品名、客户名、城市名等,是比较耗时的,因为这类查询需要到底层数据库去重直连方式聚合操作需要扫描整张表数据,比较耗时。在某些场景下,这样的查询操作可能会非常频繁地发生,例如adhoc分析的维值分析、query控件的维值查询等。在这种情况下,可以通过配置维度值来加速查询性能。在加速配置页面,开启维度值加速。数据集是一个订单明细表。在前端dashboard页面,经常需要根据客户名和商品名查询交易状态。因此,这两个字段都配置了维度值加速,对应上、下数据库中用户和商品两个维度表的字段,在后续查询维度值时,会直接从这两个维度表中取出,而不用去明细表进行聚合,从而提高查询速度。以上就是对QuickBI的计算核心Quick引擎的功能和使用场景的介绍。Quick引擎依托阿里云的计算基础,实现亿级数据的亚秒级分析能力,让上层分析和可视化的应用在大数据时代真正有效。飞。原文链接本文为阿里云原创内容,未经许可不得转载。
