资讯专栏INFORMATION COLUMN

Quick BI 支持多种数据源进行多维分析

Neilyo / 1988人阅读

摘要:支持多种数据源进行多维分析一摘要随着互联网的高速发展,数据量爆发式增长的同时,数据的存储形式也开始呈现出多样性,有结构化存储,如等,半结构化甚至非结构化存储,如,等。如何有效地帮助企业对此类数据源进行多维数据分析是目前业界产品的一项挑战。

Quick BI 支持多种数据源进行多维分析
一、摘要

随着互联网的高速发展,数据量爆发式增长的同时,数据的存储形式也开始呈现出多样性,有结构化存储,如 Mysql, Oracle, SQLServer 等,半结构化甚至非结构化存储,如HBase,OSS 等。那么从事数据分析的人员就面临着从多种多样的数据存储形式中提取数据而后进行多维分析,这将是一件非常具有挑战的事情。而Quick BI 作为新一代智能BI服务平台,恰好解决了这一难题,不仅支持多种结构化数据源的多维分析,也支持本地文件上传后的查询分析,同时还支持部分非结构化数据源的OLAP分析,甚至支持混合异构数据源的关联分析。
Quick BI 目前支持的数据源既可以来自阿里云数据库,也可以来自自建数据库,如下所示:

二、结构化数据源多维分析

对于一般的数据源,用户在做多维分析之前需要先在Quick BI 数据源界面添加自己的数据源,比如MySQL数据源,如下:

数据源添加完成后,可以选择一张或多张要进行分析的数据表创建一个数据集,如下:

数据集创建完成后用户就可以在仪表板里拖拽维度和度量进行多维分析了,比如:

结构化数据源的多维分析相对比较简单,大致过程就是针对每次多维分析查询,根据用户选择的维度,度量及过滤条件等查询因子,生成相应结构化数据源的方言SQL,然后通过执行机下发到用户自己的数据库去执行该SQL,最后Quick BI接收返回的查询结果进行可视化展现。下图展示了多维分析的流程图:

顺便介绍一下,本地文件上传支持csv 和Excel 两种文件类型。上传后的文件会落地到Quick BI提供的一种官方数据源:探索空间。探索空间底层依赖了一种阿里云自研的MPP SQL引擎,提供存储+计算服务。
接下来的篇幅将着重介绍非结构化查询分析及混合异构数据源关联分析的原理。

三、非结构化数据源查询分析

3.1 背景
近年来部分大型企业更倾向于采用诸如半结构化存储(HBase),对象存储(OSS)等能容纳较大数据规模的数据库。如何有效地帮助企业对此类数据源进行多维数据分析是目前业界BI产品的一项挑战。
在开源的数据库产品当中,存在着一些潜在的解决方案。例如,针对HDFS数据的查询,Hive设计了metastore组件,专门用于存储元数据,解决了从结构化查询到非结构化数据之间的映射关系,用户通过使用创建外部表SQL的语法,可以更灵活地自定义映射的方式。另外,Apache Phoenix也采取了类似的方式让用户能够使用SQL语句对HBase中的数据进行查询。经过充分调研后,针对Quick BI产品自身的业务场景,结合开源计算引擎二次开发了一套用于非结构化查询的分析引擎。

3.2 技术原理
对非结构化数据源进行OLAP查询,其关键在于支持SQL语法形式的数据查询。Quick BI在OLAP引擎内部采用创建外部表的SQL语法,给用户提供了一种自定义的,从非结构化数据到结构化存储的映射方式。对于诸如MySQL、Oracle等结构化的数据源而言,无须额外的元数据信息,而对于非结构化的数据源,需要提供额外的元数据信息。Metastore维护了所有非结构化数据源的元数据信息,元数据信息中反映了非结构化数据到结构化之间的映射方式。Metadb中包含了3张表,用于定义可以被SQL查询所需要的元数据信息,如下图所示:

Schems、Tables和Columns分别定义了外部表的结构,通过SQL创建外部表时,在其中加入相应的记录。查询非结构化数据源时,再读取相应的记录,对数据进行解析。
下面以一个场景作为例子,进一步地说明非结构化查询的过程,假设用户以CSV文件的形式将业务数据存储在OSS上,文件的名称为iris.csv,其内容如下所示:

针对这个文件,用户期望利用Quick BI对其进行OLAP查询,根据用户在Quick BI数据源页面中的配置,OLAP内部生成一条创建外部表的SQL语句:

SQL Parser对SQL进行解析,AST Builder生成对应的AST,如下图所示:

注意到该AST包含了外部表所需的全部信息,包括如何解析csv文件并映射成结构化的数据,使得数据能够与SQL中的schema、column和table对应。Query Execution调用Metastore将信息存储至Meatadb。此时,存储再OSS上的CSV文件在逻辑上已经映射成了一张表,如下图所示:

下一步便可以直接使用SQL对其进行查询,例如,使用下面的SQL筛选出种类(species)为setosa的数据记录;

同理,对于HBase数据源,同样采用外部表的方式定义映射规则:

3.3 小结
Quick BI 目前支持对OSS上的csv 文件进行查询分析,后续会增加支持OSS上更多文件类型的查询分析,及对HBase的多维分析。

四、混合异构数据源关联分析
4.1 背景
Quick BI用户对异构数据源的分析需求,如:维表在MySQL,事实表在MaxCompute时,需要进行不同类型数据源间或相同类型数据源不同库间表的关联分析。

4.2 技术原理
要能够支持异构数据源间的跨源关联分析,首先需要有一款具备数据源Connector 插件机制的计算引擎,这样就能够方便扩展支持多种数据源类型查询。我们从业界开源计算引擎中选择了一款具备这样特性的MPP内存计算引擎,经过二次开发,形成了一套适合Quick BI业务场景的跨源查询引擎。
跨源查询引擎在支持异构数据源查询时,只需在查询SQL中使用完整的catalogName.dbName.tableName表名(如:odps.quickbi_test.company_sales_record),
在Quick BI业务中用户自己配置的每个数据源在后台都会配一个唯一标识dsId, 所以刚好可以用来作为catalogName, 且涉及到的Catalog在跨源查询引擎中已经被加载即可。之后在查询时,跨源查询引擎会解析SQL,生成逻辑计划、物理计划,再通过Catalog的配置到指定数据源加载数据,在内存中进行计算并返回最终结果。
大部分多维分析都是单源查询,那么在什么情况下才会启用跨源查询引擎呢,这就需要实现异构数据源查询的智能路由,智能路由主要是根据查询模型中涵盖的数据源信息来判断是单源查询还是多源查询来决定路由到单源查询引擎还是跨源查询引擎。跨源查询流程如下图所示:

注意要确保本次查询所涉及到的catalogs 向跨源查询引擎的CatalogServer 动态注册成功后,才能下发本次查询的SQLText到跨源查询引擎。
示例:MaxCompute, MySQL 间的异构查询SQL:

查询结果:

4.3 小结
异构数据源分析功能对用户是透明无感知的,欢迎前往Quick BI体验。用户只需在数据集关联时选用来源于不同库的数据表,就可轻松体验异构数据源分析功能,目前支持MaxCompute、MySQL、Oracle间的异构数据源查询或同构数据源跨库查询。后续会支持更多类型数据源异构查询,如 Hive, SQLServer, PostgresSql 等。

五、未完待续

Quick BI 后续将会迭代更新逐步支持更多类型数据源的多维分析,如API类数据源等,敬请期待…

作者:萨若 衣候

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/48349.html

相关文章

  • Quick BI 支持多种据源进行多维分析

    摘要:支持多种数据源进行多维分析一摘要随着互联网的高速发展,数据量爆发式增长的同时,数据的存储形式也开始呈现出多样性,有结构化存储,如等,半结构化甚至非结构化存储,如,等。如何有效地帮助企业对此类数据源进行多维数据分析是目前业界产品的一项挑战。 Quick BI 支持多种数据源进行多维分析一、摘要 随着互联网的高速发展,数据量爆发式增长的同时,数据的存储形式也开始呈现出多样性,有结构化存储,...

    AlanKeene 评论0 收藏0
  • 5大好用又免费BI软件系统

    摘要:这种生态系统对用户来说非常好。个人使用是免费的,企业部署是基于功能和项目出价。当数据量小时,速度很快,但当数据量大时,性能会下降。提供了三个程序的免费版本和。 在BI诞生之前,业务数据的角色被忽略了。领导者通常依靠长期经验来做出重大决定。在某些重要时刻,经历可能会由于时间、地点和环境而导致不可预测的波动。这样的决定往往伴随着巨大的风险。现在可视化BI 可以帮助充分利用企业在日常运营中积...

    asce1885 评论0 收藏0
  • 阿里云Quick BI——让人人都成为分析

    摘要:摘要在月日深圳云栖大会的数据分析与可视化专场中,阿里云产品专家潘炎峰陌停对大数据智能分析产品进行了深入的剖析。大会现场的精彩分享也赢得观众们的一直认可和热烈的反响。诞生于阿里巴巴集团自身对数据分析的需求过程。 摘要: 在3月29日深圳云栖大会的数据分析与可视化专场中,阿里云产品专家潘炎峰(陌停)对大数据智能分析产品 Quick BI 进行了深入的剖析。大会现场的精彩分享也赢得观众们的一...

    pf_miles 评论0 收藏0
  • 海量实时用户行为数据的存储和分析

    摘要:在短时间内爆发大量数据,这时数据资源的采集存储和分析和应用等,都是大数据行业的难点。挖掘数据新的价值面对海量实时行为数据的技术思考,主要是从四个角度来进行第一,必须要以原始数据存储。 在短时间内爆发大量数据,这时数据资源的采集、存储和分析和应用等,都是大数据行业的难点。行为数据、日志数据的处理,往往成为企业数据建设首先面对的瓶颈,这些数据不易保存,实时获取分析难度较大,但是数据价值却不...

    Aceyclee 评论0 收藏0
  • 海量实时用户行为数据的存储和分析

    摘要:在短时间内爆发大量数据,这时数据资源的采集存储和分析和应用等,都是大数据行业的难点。挖掘数据新的价值面对海量实时行为数据的技术思考,主要是从四个角度来进行第一,必须要以原始数据存储。 在短时间内爆发大量数据,这时数据资源的采集、存储和分析和应用等,都是大数据行业的难点。行为数据、日志数据的处理,往往成为企业数据建设首先面对的瓶颈,这些数据不易保存,实时获取分析难度较大,但是数据价值却不...

    沈建明 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<