【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

OLAP 进阶:Excel 可直接分析的大数据语义层

  • 2021-07-29
  • 本文字数:2487 字

    阅读完需:约 8 分钟

OLAP进阶:Excel可直接分析的大数据语义层

如何在异构化、割裂化严重的大数据平台上解决数据孤岛的挑战,并支持丰富的 OLAP 分析能力和进阶分析功能,如可计算度量、多对多关系?背后的实现原理和技术难点是什么,以至于用户可以简单地通过 Excel 感受到极其平民化的多维分析体验?本次分享的主要内容包括:

  • 大数据时代下的分析挑战

  • 传统 OLAP 的局限

  • Kyligence 的解决方案

  • 当中的一些挑战

  • 效果展示

大数据时代下的分析挑战

1. 数据分析需求灵活多变



第一个挑战是目前用户分析的需求非常灵活多变。右边这张图是截取自 Gartner 的分析报告。这里描述了数据分析的四个阶段,第一阶段是描述性分析,主要描述发生了什么,一般是固定报表的形式。第二阶段是诊断性分析,来探究数据指标为什么高了还是低了,是哪部分高了,哪部分低了,这时候就需要使用到多维分析以及明细查询。第三个阶段是预测性分析,根据历史数据来预测接下来的走势。第四部分是规范性分析,为了促使指标最优,我们可以做些什么。


我们在实际的客户分析场景中发现,用户不再满足于看固定报表,他还需要分析这些数据,这些指标背后的成因。因此多维分析,灵活查询,明细查询这些需求就在爆发式的增长。同时他们在分析的过程中,希望能够高性能的进行交互式分析,而不是像以前可能执行一条 hive 语句后倒一杯咖啡,然后坐着等结果,这背后对数据分析平台的要求是很高的。

2. 数据孤岛带来割裂的分析体验



第二个挑战是数据孤岛带来割裂的分析体验。很多企业内部信息系统多各自为政,各系统之间缺乏整合,不同部门使用的数据存储不一样,数据规范也不一样。


各部门拥有各自信息系统的主导权,且局限于部门级别的信息决策,缺乏公司层面的统一的信息决策。

传统 OLAP 的局限

1. 传统 OLAP 的劣势

传统 OLAP 一定程度上能够解决刚才讲的部分问题,但是他们存在着一些局限性。



这些局限性有几个点:一个是数据量及维度数量的限制,传统 OLAP 一般使用的是 MOLAP 模式,在小数据量上,性能优势明显,但是在面对大型数据集时,可能会面临维度爆炸的问题。第二点是扩展的局限性,传统 OLAP 的拓展起来十分麻烦,有些 OLAP 数据库只能 scale up,这种情况就只能增加节点的内存和计算核心数量,但这个成本是极为昂贵的。另外一些 MPP 架构的 OLAP 数据库虽然能够 scale out,但是能够增加的节点数也比较有限,不像 hadoop 或者云上能够拓展到成千上万个节点。另外还有一些缺陷比如费用昂贵、高基维处理能力差,高并发下性能堪忧等等。

2. 理想的 OLAP 平台



讲了这么多传统 OLAP 的缺陷,那我们理想中的 OLAP 平台是什么样子呢?

  • 首先是完善的 OLAP 能力,上钻下卷、高级分析功能,如可计算度量,多对多,时间智能等等。

  • 同时支持 ANSI SQL 和 MDX ,能够与广泛的 BI 工具进行良好对接,尤其是 Excel,目前仍是广大分析师的重要选择。在此之上,如果能在海量数据上进行交互式分析,能够满足上千用户的高并发查询,以及面对数据激增的情况,能够很好的进行横向扩展。


那么如何做到这些呢?

Kyligence 的解决方案

1. Kyligence:分布式 OLAP 大数据分析引擎



Kyligence 能够对接不同种类的数据源,支持云端及本地部署 hadoop,因此天然就是支持横向扩展的。另外 Kyligence 能够进行智能建模,智能加速查询,向外提供标准的 ODBC/JDBC/MDX 接口,能够对接广泛的 BI,而且最重要的是我们暴露语义是统一的。


让我们看一下 Kyligence 语义层中的一些功能:


① 灵活定义层级、指标



② 多对多、多事实表场景



③ 支持标准 MDX 接口



④ 支持时间智能指标



⑤ 支持多语言翻译


2. 强大的语义建模能力,助力业务场景分析


语义层帮忙屏蔽掉了底层的数据模型,意味着我的分析师不需要了解这些表结构,以及他们的关联关系。语义层暴露出来的概念都是维度度量、层级这种可直接拖拽的东西。一些复杂的技术逻辑也被屏蔽掉了,比如多事实表分析,多对多分析等等。

3. 统一的安全策略


同时 Kyligence 也具备统一的安全策略,包括一些行列级权限,比方说不同部门的同事,只能看到不同地区的数据,华北的同事只能看到华北的数据,看不到华东的。

当中的一些挑战

1. 跨事实表分析


跨事实表分析是一个非常常见的分析场景,比如要分析不同年龄段年收入和年消费两者之间的关系,收入和消费就是两种完全不同类型的事实记录。


把两类指标放在一起进行分析,Excel 常用的做法是 vlookup,Tableau 的做法是数据融合(data blending), SSAS 的做法是星座模型。那在 Kyligence 是如何解决这个问题的呢?答案是模型整合。

2. 多对多分析


多对多分析在日常分析中经常见到,比如书籍和作者的关系,一本书可以有多个作者,一个作者也可以写多本书。如果要分析书籍销售额跟作者所在城市的关系,就会发现一本书的销售额在多个作家重复,导致在多个城市重复,但如果统计所有作家书籍的销售额时,又需要将这些重复的值去除,这就是典型的多对多场景。

3. 多对多典型处理方案

多对多典型处理方案:

  • 在数据源层面将数据分摊,将度量值分摊到不同的维度值里。

  • 模型打平后进行去重

  • 基于键值进行关联查询


方案对比:

  • 在数据源层面将数据分摊,容易操作,建立一个分摊数值后的 view 即可,缺陷是无法在各个维度用一个策略分摊,另外分摊后的只能保证某一维度汇总的值没有问题

  • 模型打平后进行去重,缺陷是打平会导致数据重复,极易引起数据膨胀,且在线去重计算有一定性能问题。

  • 基于键值进行关联查询,这个方案不需要将数据拉平,不用行行拿事实表主键来去重,直接利用 Cube 数据和维表数据 做关联即可得出结果。

4. 性能优化:MDX on Spark

Excel 数据查询使用的是 MDX 语言,是专门用来做多维分析的。传统的一些 MDX 查询引擎都是单机处理的,其中存在的问题是:

  • 单机内存容量有限,一条大查询中间计算量可能非常庞大,一个指标计算依赖的数据可能达到上亿,这非常容易导致查询失败,且影响其他小查询的体验。

  • 单机算力有上限,即使上述情况中超量的中间数据可以分批加载或采用落盘的方式来减轻内存的压力,但如此庞大的中间计算量仍会导致结果计算异常缓慢。


解决思路:

将 MDX 语法树转换成 Spark 执行计划,依靠 Spark 的分布式运算能力来解决单点问题。


本文转载自:DataFunTalk(ID:datafuntalk)

原文链接:OLAP进阶:Excel可直接分析的大数据语义层

2021-07-29 08:001514

评论

发布
暂无评论
发现更多内容

捷报频传 | Bonree ONE获2022科技赋能金融业场景金融建设突出贡献奖

博睿数据

可观测性 智能运维 博睿数据 ONE平台 荣誉奖项

艺多不压身!华为云CDN成众多企业网络支撑

路过的憨憨

接口自动化测试不想写代码?这款工具强烈推荐

不想敲代码

自动化测试 API 自动化测试平台

DTT年度收官圆桌π,华为云8位技术专家的年末盘点

华为云开发者联盟

云计算 后端 华为云 12 月 PK 榜

使用 SQL 实现同比环比分析

搞大屏的小北

数据可视化 同比环比 展示同比环比 BI大屏同比环比

1024·致敬 | 迟到的小温暖,感谢不平凡的你们

XTransfer技术

怎样将数据从Oracle迁移到TiDB

TiDB 社区干货传送门

Oracle 到 TiDB (OGG)

TiDB 社区干货传送门

云网络运维必备神器:全链路故障诊断与分析

华为云开发者联盟

云计算 后端 华为云 12 月 PK 榜

一文讲清「敏捷路线图」| Liga译文

LigaAI

Scrum 产品经理 敏捷开发 软件开发 12 月 PK 榜

记一次因 GC bug 导致 TiKV 存储占用不均的问题处理

TiDB 社区干货传送门

管理与运维 故障排查/诊断

TiDB 的“聚簇因子” -- 从 cop task 到 shard_row_id_bits

TiDB 社区干货传送门

性能测评 OLTP 场景实践

Liga妙谈 | 找准「话事人」,高效甄别和响应用户反馈

LigaAI

产品经理 敏捷开发 PO 产品负责人 12 月 PK 榜

理解iOS端的WebView同层组件

珲少

Apache APISIX 3.1.0 版本正式发布

API7.ai 技术团队

开源 api 网关 APISIX apache 社区

确保网路畅通,华为云CDN加速服务大有可为

路过的憨憨

重磅!XTransfer荣登InfoQ【十大开发者最向往的高价值技术团队】榜单

XTransfer技术

智能制造 | AIRIOT智慧工厂管理解决方案

AIRIOT

物联网 智慧工厂 物联网系统搭建

ROMA Connect: 5大联接能力+4大集成能力,推进企业数字化转型

华为云开发者联盟

云计算 后端 数字化 华为云 12 月 PK 榜

YMatrix 番外篇|透过镜头,那些不为人知的故事

YMatrix 超融合数据库

车联网 超融合数据库 C++ YMatrix 研发故事

墨芯人工智能加入龙蜥,携手打造软硬协同稀疏化计算平台

OpenAnolis小助手

人工智能 开源 龙蜥社区 CLA 墨芯

数益工联 x TiDB丨如何运用 HTAP 挖掘工业数据价值?

TiDB 社区干货传送门

等保四级适用于哪些领域?一年一次吗?

行云管家

等保 等级保护 等保四级

这个API管理工具不登录不下载就能用!

不想敲代码

API 接口管理 协同办公 协同软件

行云管家荣膺STIF第三届国际科创节 “2022年度数字化创新典范奖”

行云管家

信息安全 数字化 国际科创节

助力企业服务体验升级,华为云CDN这样做

路过的憨憨

工业数据分析为什么要用FusionInsight MRS IoTDB?

华为云开发者联盟

大数据 后端 华为云 工业数据 12 月 PK 榜

零信任与 K8s 环境实践

HummerCloud

k8s 零信任 kubernetes 运维

网络拥堵影响业绩?看华为云CDN如何为企业保驾护航

路过的憨憨

跳板攻击原理及如何追踪定位攻击者主机(下)

郑州埃文科技

IP地址 跳板攻击 攻击溯源

NFTScan 与 Cwallet 团队达成战略合作伙伴,由 NFTScan 为其提供 NFT API 数据服务

NFT Research

NFT 数据基础设施

OLAP进阶:Excel可直接分析的大数据语义层_大数据_DataFunTalk_InfoQ精选文章