Quick BI产品核心功能大图(四):Quick引擎加速--十亿数据亚秒级分析

简介: 随着数字化进程的深入,数据应用的价值被越来越多的企业所重视。基于数据进行决策分析是应用价值体现的重要场景,不同行业和体量的公司广泛依赖BI产品制作报表、仪表板和数据门户,以此进行决策分析。

在利用BI产品进行数据分析过程中,数据处理“慢”会为业务带来很多的困扰,可以想象一下:

  1. 给老板看的报表加载展示非常慢,有的时候还会崩掉,本想做好向上汇报,但却给老板带来了糟糕的体验~
  2. 分析师或业务同学,做数据探索式分析,拖拽一个指标需要几分钟才能看到结果,严重影响工作效率,打断分析思路~

“慢”虽然只是一种难以精确定义的体感,但想要解决以上问题,就需要BI产品拥有很强的大数据处理架构和能力,可以横向扩展支持不断增长的数据量和计算任务。

Quick BI:阿里云飞天操作系统上的云BI

Quick BI产品是在阿里云飞天操作系统上打造的云BI软件,支持SAAS模式和私有化部署,定位多场景、多端、多行业的消费式BI,本篇为大家详细介绍产品内核Quick引擎。

Quick BI基于阿里云横向可扩展的架构底座,不但拥有可视化分析、中国式报表、自助分析等传统BI能力,同时拥有企业级安全底座、移动端和三方系统开放集成能力。

Quick BI构建了自己的计算内核Quick引擎,托管在阿里云上的SAAS服务实测数据十亿级数据在0.5秒以内完成聚合分析,另外由于依托阿里云,计算资源支持横向扩展,通过增加服务器还可以提供更强大的数据分析计算能力。

Quick引擎:多模式BI计算引擎

Quick引擎作为Quick BI的计算底座,是一个多模式的BI计算引擎,支持数据库直接连接、抽取加速、实时加速、查询缓存、维值加速等多种计算模式,为不同用户提供最适合自身场景的高效计算方案。

上图为Quick引擎架构图,从Quick BI产品使用链路上,分为数据源、数据集和数据作品三部分。数据源是底层的数据库连接,数据集用于对数据源里的表进行建模(表关联、字段类型建模等),把一张或多张表变成一个上层数据作品(仪表板、电子表格、即席分析)可用的数据对象。

Quick引擎架构在数据源和数据集之间,用来处理上层数据作品发送到数据集最终下放到数据源上的查询,在技术实现上Quick引擎分为三条链路,数据库直连、数据库实时加速、数据库抽取,在这三条链路进行了技术层抽象。

从用户使用视角来看,我们提供如下5种计算模式:

(1)直连模式:计算负载直接跑在连接到BI产品的数据库或数仓上,支持几十种数据源,所有版本用户都可使用,非常适用于底层计算资源满足查询负载的场景;

(2)抽取加速:把客户数据库或数仓的数据抽取到Quick引擎的高性能列式存储引擎中,支持全量模式和增量模式,分析计算负载直接跑在Quick BI引擎中,充分利用Quick引擎性能的同时,减少客户数仓的负担,专业版客户可用,非常适用于企业没有独立数仓或数仓负载过重的情况;

(3)实时加速:基于阿里云DLA(Data Lake Analysis)内存计算引擎,查询时实时从客户数据库取数据,中间用DLA内存引擎加速计算,专业版客户可用,目前支持阿里云Max Compute数仓,非常适合Max Compute数仓实时分析,更多数据库支持开通中;

(4)查询缓存:所有版本用户可用,应用端报表、仪表板在访问时临时查询结果被缓存下来,在配置的缓存有效时间内,接下来其他用户相同的查询直接取缓存结果,加快返回速度同时避免重复计算的资源消耗,非常适合应用端是重复查询较多的场景,比如可视化展示类;

(5)维值加速:所有版本用户可用,基于直连模式和维表配置实现,通过配置维值加速使得高频且耗时的维度字段查询计算直接在数据库维表上进行,而不是在原始的明细表上进行,比如即席分析和查询控件的维值查询,在这类场景下相比不进行维值加速可快速返回结果且节省计算资源;

Quick引擎 - 使用指南

在正式开始介绍每种引擎具体用法时,先结合每种引擎特点给出一个场景使用指南,方便用户在不同场景下选择最合适的引擎。

Quick引擎通过数据集不同配置会采用不同计算模式,依据数据集不同情况,建议如下:

(1)数据集默认采用直连模式,如果查询性能良好,则可不进行额外配置,如果无法满足要求,则进行以下判断

(2)数据集主要被用在仪表板、报表中,偏固定数据展示类的,没有被很多查询控件控制

  1. 实效性要求不是非常高,很适合配缓存,基本可以解决问题了(可能80%以上可以解决)
  2. 实效性要求不是非常高,如果配了缓存还不行,比如某个数据集被做了很多报表,第一次缓存查询就吃不消,MySQL类非OLAP数据库建议用抽取加速,ADB类的OLAP数据库,建议首先优化下数据建模(比如是不是大表join大表),其次建议采用抽取加速分担些负载
  3. 实效性要求很高,每次看,都想看最新数据,ODPS数据源可以用DLA实时加速

(3)数据集主要被用在即席分析、电子表格分析这类偏个性分析查询中,或者有非常多查询控件的仪表板报表中,配缓存意义不是很大(有点作用),建议:

  1. 底层数据库不是OLAP,比如MySQL,运行很慢,首先建议采用抽取加速,其次建议优化数据建模
  2. 底层数据库是OLAP,比如ADB,运行很慢,建议首先优化下数据建模(比如是不是大表join大表),其次建议采用抽取加速分担些负载
  3. 底层数据库是ODPS,运行很慢,如果实效性要求高,建议DLA实时加速,实效性要求不高,建议抽取加速

(4)数据集维度字段被频繁用于查询控件或即席分析,推荐为该字段配置维值加速

Quick引擎 - 直连模式

直连模式是Quick引擎查询的默认模式,所有的查询会发送给底层数据库或数仓执行,Quick BI直连模式支持几十种云和自建数据库。

在数据集页面点击“新建数据集”,选择已配置的数据源,左侧面板会展示该数据源里的所有表,拖入一张或多张表到面板中,即可在数据预览区域进行字段配置,配置完成后保存数据集,方可进行后续分析。数据集保存后,后续所建的分析查询默认直连模式。

Quick引擎 - 抽取加速

当直连模式查询过多或者数据量过大时,会导致底层数据库负载过重查询变慢,上层仪表表展示和分析就会变慢,出现文章开头所讲的困扰,此时可以考虑Quick引擎的抽取加速。

抽取加速是专业版特有功能,目前覆盖MySQL、ADB for MySQL和MaxCompute三种数据源,支持全量抽取和增量抽取数据到Quick引擎的高性能列式存储分析型数据库中,抽取后的数据查询直接在列式分析数据库中完成而无需发到客户数据库上,提升数据查询性能,同时减少客户数据库负载。

点击数据集菜单,选择“加速配置”,在第一个 “Quick引擎”Tab点击开启引擎,选择抽取加速:

  • 加速时间可选“手动触发”和“定时加速”,定时加速设置时间后定期触发抽取任务
  • 智能聚合抽取支持“全表加速”、“预计算”、“全表计算+预计算”三种模式,其中全表加速抽取全表数据,预计算基于历史查询智能预计算查询结果,节省抽取空间
  • 勾选按日期加速,可以选择日期字段,每日根据日期字段增量抽取

配置完成后,点击保存,抽取任务即会自动触发,抽取完成后,之后的数据查询将在抽取引擎数据库中完成。

Quick引擎抽取加速性能测试,10亿数据sum、count、avg和median等聚合均在0.5秒内返回,具备十亿级数据亚秒级分析的能力,如下表为性能测试结果。

数据量

sum聚合

count聚合

avg聚合

median聚合

1亿

0.043 s

0.044 s

0.040 s

0.061 s

10亿

0.3 s

0.21 s

0.25 s

0.35 s

同时由于Quick BI是依托于阿里云飞天底座的产品架构,具备横向扩展的能力,Quick引擎随着机器数量的增加数据处理能力会不断增强,理论上具有无限扩展的能力。

Quick引擎 - 实时加速

当直连模式出现性能问题,同时对数据的实效性要求较高,天粒度更新无法满足要求,而需要小时或分钟粒度数据更新,由于抽取加速是天粒度数据更新而无法采用,此时可以考虑另一种选择,采用实时加速来进行高实效数据的查询加速。

与抽取加速一样,实时加速也是专业版特有功能,目前支持MaxCompute数据源,基于阿里云DLA(Data Lake Analysis)内存计算引擎,查询时把数据实时加载到DLA中进行计算,提升查询性能,可以把离线型数仓MaxCompute通过实时加速变成在线分析型数仓。

在数据集加速配置页面,开启Quick引擎,切换到实时加速,保存即可开启数据集实时加速模式。

Quick引擎 - 查询缓存

查询缓存的原理是应用端报表、仪表板在访问时临时查询结果被缓存下来,在配置的缓存有效时间内,接下来其他用户相同的查询直接取缓存结果,命中缓存的查询可以立即返回结果,没有命中缓存的查询会被发到底层数据库进行查询,查询返回后该查询也会被缓存下来供接下来使用。

结果缓存是一种应用范围很广且非常有效的数据查询加速方式,它适用于所有数据源,对不同版本用户都可用,对一定时间内存在重复查询的数据集都可以配置查询缓存,特别是重复查询较多的场景,比如仪表板展示类,可以大幅提升查询性能。

在加速配置页面,开启查询结果缓存,可配置不同缓存时间,表示缓存生效的有效期,如果数据是非小时粒度实效性,建议选择12小时。

Quick引擎 - 维值加速

在直连查询中,关于维度值的查询是比较耗时的,比如商品名称、客户名称、城市名称等,因为这类查询在直连模式下需要去底层数据库做去重聚合操作,要扫描全表数据,所以比较耗时。而在某些场景下,这类查询操作可能会非常频繁的出现,比如即席分析的维度值分析和查询控件的维度值查询,在这类场景下可以通过配置维值加速提升查询性能。

在加速配置页面,开启维值加速,该数据集是一张订单明细表,在前端仪表板页面经常需要基于客户名称和产品名称查询成交情况,因此把这两个字段配置维值加速,分别对应上底层数据库两张用户和商品维表的字段,之后维度值的查询将直接从这两张维表中取,而无需去明细表做聚合,从而提升查询速度。

以上是关于Quick BI的计算内核Quick引擎的功能和使用场景的介绍,依托阿里云的计算底座,Quick引擎实现了十亿级数据亚秒级分析的能力,让上层分析可视化应用在大数据时代真正飞起来。

原文链接
本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512008.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云厂商靠不靠谱?“国家级标准”鉴定结果来啦

近日,中国电子工业标准化技术协会信息技术服务分会(ITSS分会)正式公布最新一批通过信息技术服务标准符合性评估的企业名单。作为云计算领域首个权威分级评估体系,也是目前最健全的云服务能力评估体系,ITSS云服务能力符…

Spring Cloud Gateway一次请求调用源码解析

简介: 最近通过深入学习Spring Cloud Gateway发现这个框架的架构设计非常简单、有效,很多组件的设计都非常值得学习,本文就Spring Cloud Gateway做一个简单的介绍,以及针对一次请求Spring Cloud Gateway的处理流程做一个较为详细的…

函数计算GB镜像秒级启动:下一代软硬件架构协同优化

简介: 优化镜像加速冷启动大致分为两种做法:降低绝对延迟和降低冷启动概率。自容器镜像上线以来我们已经通过镜像加速技术,分阶段降低了绝对延迟。本文在此基础上,介绍借助函数计算下一代IaaS底座神龙裸金属和安全容器&#xff0c…

源码级别的广播与监听实现

作者 | 阿Q来源 | 阿Q说代码闲来无事,又翻了遍Spring的源码。不翻不知道,一翻吓一跳,之前翻过的源码已经吃进了肚子里,再见亦是陌生人。今天就带大家从源码的角度来分析一下广播与监听的底层实现原理。源码解析 为了实现广播与监听…

用代码玩剧本杀?第3届83行代码大赛剧情官方解析

简介: 由阿里云云效主办的2021年第3届83行代码挑战赛已经收官。超2万人围观,近4000人参赛,85个团队组团来战。大赛采用游戏闯关玩儿法,融合元宇宙科幻和剧本杀元素,让一众开发者玩得不亦乐乎。 说到剧本杀&#xff0c…

阿里大规模业务混部下的全链路资源隔离技术演进

简介: 本文作为混部实践系列开篇,本篇文章将介绍资源隔离技术在混部中的重要性、其落地挑战及我们的应对思路。 作者:钱君、南异 混部顾名思义,就是将不同类型的业务在同一台机器上混合部署起来,让它们共享机器上的 …

探索PCIe 3.0峰值性能,长江存储推新消费级固态硬盘致态TiPlus5000

2022年4月8日,长江存储推出新款消费级固态硬盘产品致态TiPlus5000。该产品采用基于晶栈 2.0(Xtacking 2.0)架构的长江存储第三代三维闪存芯片,支持PCIe Gen3x4接口、NVMe 1.3协议,顺序读取速度高达3500 MB/s&#xff0…

“敏捷版”全链路压测

简介: PTS 结合 10 多年来阿里的全链路压测的经验,让阿里云的用户可以如同享用满汉全席般的享用全套标准的全链路压测,也可以根据自己的需求,选择最适合自己的方式。 作者:子矜 客户的故事 全链路压测被誉为大促备战…

linux传输tcp命令,Linux tcpdump命令帮助和示例

Tcpdump是用于网络数据包分析的基本命令行实用工具。它显示网络上的TCP/IP和其他传输的网络数据包,tcpdump 适用于大多数的类Unix系统操作系统(如Linux,BSD等)。类Unix系统的 tcpdump 需要使用libpcap这个捕捉数据的库就像 Windows下的WinPcap。Tcpdump使用libpcap库…

离线实时一体化数仓与湖仓一体—云原生大数据平台的持续演进

简介: 阿里云智能研究员 林伟 :阿里巴巴从湖到仓的演进给我们带来了湖仓一体的思考,使得湖的灵活性、数据种类丰富与仓的可成长性和企业级管理得到有机融合,这是阿里巴巴最佳实践的宝贵资产,是大数据的新一代架构。 林…

Kubernetes 入门教程

简介:本文是一篇 kubernetes(下文用 k8s 代替)的入门文章,将会涉及 k8s 的架构、集群搭建、一个 Redis 的例子,以及如何使用 operator-sdk 开发 operator 的教程。在文章过程中,会穿插引出 Pod、Deployment…

linux格式化usb设备,如何在 usb linux下格式化磁盘

慕田峪7331174以格式化 /dev/sda1 分区为例:$ sudo umount /dev/sda1# 必须先卸载该分区# 格式化为 FAT 分区$ sudo mkfs.vfat -F 32 /dev/sda1# -F 参数必须大写,参数有 12,16 和 32,分别对应 FAT12,FAT16&#xff0c…

通过浪潮AIStation实现细粒度高性能的GPU资源共享

作者 | 张荣国 供稿 | 浪潮 GPU(Graphics Processing Unit),即图形处理器,是一种由大量核心组成的大规模并行计算架构,专为同时处理多重任务而设计。GPU在大规模并行运算上具有巨大优势,为大数据、人工智能…

阿里云发布云原生加速器,携手生态企业拥抱数字时代

简介: 继去年推出云原生合作伙伴计划之后,阿里云正式发布云原生加速器,携手生态企业拥抱数字时代。 今天,千行百业都在拥抱云计算、拥抱云原生,进行数字化创新升级。作为国内最早实践云原生的企业,阿里巴巴…

网不好怎么办?TLS握手带宽直降80%,BabaSSL是怎么做到的?| 龙蜥技术

简介: 为了保障数据的安全性,客户端会先和服务器进行 TLS 握手,有什么办法可以减少 TLS 握手的带宽消耗呢? 编者按:BabaSSL 是一款开源的密码库产品,在 GitHub 和龙蜥社区开源,并加入到龙蜥社区…

企业级数据湖实践

简介:2021云栖大会云原生企业级数据湖专场,阿里云智能高级解决方案架构师周皓为我们带来《企业级数据湖最佳实践》的分享。 本文主要分享了数据湖的核心能力及几个最佳实践案例。 以下是精彩视频内容整理 一、统一数据存储,多引擎对接&…

浅述 Docker 的容器编排

作者 | 天元浪子来源 | CSDN博客概述作为容器引擎,Docker为容器化的应用程序提供了开放标准,使得开发者可以用管理应用程序的方式来管理基础架构,实现快速交付、测试和部署代码。随着容器的大量使用,又产生了如何协调、调度和管理…

Cloudera CDP 企业数据云测试开通指导

简介: 基于阿里云部署的 Cloudera CDP 企业数据云平台已经进入公测阶段,本文详细介绍了相关试用/试用流程。 基于阿里云部署的 Cloudera CDP 企业数据云平台已经进入公测阶段,如对该平台感兴趣,可以使用下面的流程进行试用。 如需…

重装linux之后gcc等下载不了,Redhat linux下安装gcc

一、安装步骤1、使用whichgcc命令发现gcc没有安装2、拷贝gcc-3.2.2-5.i386.rpm 尝试安装说明在这之前还需要先装binutils、cpp、glibc-devel这三个包3、拷贝binutils-2.13.90.0.18-9.i386.rpmcpp-3.2.2-5.i386.rpmglibc-devel-2.3.2-11.9.i386.rpm 到install目录分别安装rpm -i…

解决 Serverless 落地困难的关键,是给开发者足够的“安全感”

简介:越来越多的云产品都会向全托管、Serverless 形态演进。当云的产品体系 Serverless 化达到一个临界值,通过函数计算这样的 Serverless 计算服务结合其他 Serverless 形态的云服务,能够完整的实现整个应用时,Serverless 就会变…