《交互式分析六脉神剑》之真正的秒级交互式响应-阿里云开发者社区

开发者社区> 大数据> 正文

《交互式分析六脉神剑》之真正的秒级交互式响应

简介: 在离线大数据场景上,MaxCompute拥有着举足轻重的地位,但使用过MaxCompute的开发者们都会发现,针对简单查询能够满足业务要求,但是随着数量增多,查询query变得复杂时,响应速度会变得特别慢,满足不了实时交互的要求。

hi,大家好,今天为大家带来《交互式分析六脉神剑》之第三剑中冲剑--秒级交互式响应。
第一剑:5分钟学会交互式分析?!
第二剑:《交互式分析六脉神剑》之HoloStudio初体验

金庸武侠中的中冲剑是指:右手中指—阳明—胃经—中冲剑,其特点:大开大阖,气势雄迈。正好对应交互式分析的核心特点之一秒级交互式响应,今天小编就为大家介绍,秒级交互式响应如何体现在具体的数据开发实践中。

在离线大数据场景上,MaxCompute拥有着举足轻重的地位,但使用过MaxCompute的开发者们都会发现,针对简单查询能够满足业务要求,但是随着数量增多,查询query变得复杂时,响应速度会变得特别慢,满足不了实时交互的要求。而众所周知,交互式分析的核心功能之一是对MaxCompute离线数据加速查询。具体的加速体现在以下两个方面:(本案例均采用HoloStudio来进行演示,关于HoloStudio的介绍可参见HoloStudio简介

简单场景

MaxCompute直接查询

针对简单查询场景,可以直接使用交互式分析进行查询,无需数据导入导出,就能实现实时查询。
示例如下:在MaxCompute中有一张小表(数据量约为1.5亿条)。
image

使用基于交互式分析的HoloStudio查询MaxCompute中的数据,只需要在HoloStudio中一键创建外部表即可。建表成功后,一键点击数据预览就能查看数据(注意:使用直接查询的方式数据仍然存储在MaxCompute中哦)
image
关于性能表现:直接查MaxCompute表中的200000条数据,用时1.7秒,真正做到秒级交互式响应。
image

MaxCompute导入查询

随着数据量的增多,大家会发现,使用交互式分析进行直接MaxCompute查询响应也会有一丢丢的吃力,这时,可以将MaxCompute中的数据导入进交互式分析进行查询。具体导入步骤可以参见用户手册:导入查询
示例采用同一张MaxCompute表数据(约1.5亿条数据),将表导入交互式分析中(数据存储在交互式分析中),查询其中的200000条数据,用时约0.8秒,比用交互式分析直接查询MaxCompute数据快将近1.5倍。
image

随着MaxCompute中数据量逐渐变多时,交互式分析的查询响应更是表现惊人,这背后的技术离不开我们自研的系统架构。关于交互式分析架构的了解可以参见架构介绍

复杂场景

但其实在真实的场景中,开发者/数据分析师不仅仅只对单一表进行简单查询,更多的是对多表做复杂关联分析、多维分析等。下面通过一个示例来具体展示,交互式分析中对MaxCompute海量数据复杂查询的性能表现:
本示例中MaxCompute两张表的数据量分别为:6亿条和5千万条。
image
image

交互式分析直接加速复杂查询

使用交互式分析直接加速查询MaxCompute中的表数据,并做相同的复杂join,响应时间为:6.6秒。
image

交互式分析导入查询

相同情况下,将MaxCompute中两张表数据导入进交互式分析中,做相同条件的复杂join,响应时间:5.5秒。
image

通过以上场景的讲述,不管是直接加速还是导入查询,在查询响应的性能上都有着惊人的表现,尤其是随着数据量的增多以及查询的复杂度增加时,变现力更是惊人。但有朋友可能会有些疑惑,使用交互式分析直接查询和导入查询性能表现都很不错,到底该怎么选择呢?通俗来讲:
直接查询适用场景:数据量小于100GB的简单查询。
导入查询适用场景:单表查询大于100GB、复杂查询、含索引的查询、数据需更新、insert操作。

今天的分享到此就到这里结束了,关于交互式分析的更多功能请期待下期分享。
也欢迎大家进入我们的钉钉交流群,小编会实时在线为您解答各种疑难杂症!
image

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

其他文章