基于交互式分析搭建的典型应用场景

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 交互式分析经过在阿里巴巴集团近3年的沉淀,已覆盖上百个业务团队,今天小编将会从技术的角度为大家解读交互式分析的架构亮点,以及基于交互式分析架构搭建的典型应用场景介绍。

交互式分析经过在阿里巴巴集团近3年的沉淀,已覆盖上百个业务团队,今天小编将会从技术的角度为大家解读交互式分析的架构亮点,以及基于交互式分析架构搭建的典型应用场景介绍。

架构介绍

系统架构

底层存储在盘古系统中,存储计算分离,并与MaxCompute在底层无缝打通,可直接对MaxCompute数据加速查询。
兼容PostgreSQL,提供JDBC、ODBC接口可直接对接各种开发工具、BI分析工具。
规模水平扩展,支持复杂查询,多维分析,复杂关联分析。
image

存储计算分离

常用的存储计算有共享存储方案和非共享存储方案,而交互式分析采用的是存储计算分离方案。
1.共享存储方案:该方案是所有数据都存在公共存储里,当多台机器需要写同一条数据时,为了保证数据的一致性,需要分步式的检索机制,带来一定的开销。同时也需要维护各个机器之间的一致性,增加运维成本。
2.非共享存储方案:该方案是每台机器都有自己的本地存储,数据会分片存储在机器的本地存储,机器通过网络去协同完成用户的查询,优势在于扩展性好,能做到水平扩展,缺点是当需要扩容或者缩容时,因为数据存储在机器的本地盘里,需要将数据迁移到新的机器,整个数据迁移过程非常漫长,时效性差。
3.存储计算分离方案:该方案是共享存储集群,存储所有数据,所有计算会有单独的计算集群,计算存储通过网络进行交互,类似共享存储方案。但是数据在整个过程是分片的,每个计算会由一个单独节点去写,类似非共享存储方案。存储计算分离结合以上两种方案,在保证快缩容的同时,又能实现无限的水平扩展。随着带宽的增长,网络的延迟变得越来越低,这也就降低了远程存储所带来的额外开销。同时利用云端资源,当需要更多存储时,可申请存储资源扩容到存储集群,需要更多计算时,可申请计算资源扩容到计算集群,在水平扩展的同时保证资源的弹性,为业务提供保障。
image

流批统一的数仓

针对Lambda架构,对离线数据的处理是将其写进离线系统中,优点是高吞吐、效率高,但该系统的缺点是在处理实时数据时,实时性差,通常需要将实时数据存在实时系统中(如Hbase)。这就使得开发人员同时维护两套系统,并要保证两套系统的一致性,开发成本大。
Flink虽然提供一套代码来维护两套系统,开发难度缩小,但是从存储方面来说,也需要两套存储,一个存储离线数据和一个存储实时数据,同时也经常需要对数据导入导出,操作依然复杂。
而交互式分析作为流批统一的实时数仓,能够同时存储实时、离线的数据,在降低开发成本和运维成本的同时,也保证了数据的一致性和秒级交互式响应。
image

典型业务场景

实时A/B Testing场景

例如某个产品上线时,通常会进行实时A/B test,常用的流程是:算法工程师在产品的关键指标处埋点,实时采集用户数据(点击、浏览、收藏等),从而产生用户的行为日志,并存储在消息队列(例如DataHub)中,再经过实时计算,将用户信息与行为数据、产品信息进行关联,并做信息的聚合,形成不同的模型,通过对模型的不断测试和调优,最终得到最优模型。
整个过程中的最大挑战在于要计算的指标非常多,如果每个指标都用实时计算来做统计,会浪费大量的资源。
针对这个挑战,引入交互式分析引擎,先用实时计算对指标进行初步对聚合,算法工程师可以根据不同模型的要求将数据进行清洗再写入进交互式分析,免除不必要资源的浪费现象。算法工程师也会通过交互式分析直接对接第三方分析工具(例如实时报表、实时大屏等)进行模型分析,为进一步理解每个模型的表现情况,需要不断用交互式分析来进行数据的交互,在此过程中,交互式分析可达到高并发的秒级交互式响应,为下一步的模型快速调优提供强有力的支持。
image

离线加速场景

MaxCompute是大规模的离线数仓,在离线数据处理上可提供PB级的计算服务。
传统的离线数据处理过程是:将离线数据存在MaxCompute,再导入到OLAP中,使用OLAP对接BI工具进行数据服务。整个过程中需要数据的导入导出,增加额外成本的同时也不能保证数据获取的时效性,无法满足海量数据快速分析的即席要求。
而交互式分析在底层与MaxCompute资源打通,无需数据额外导入导出,就能分析MaxCompute中的数据,大大降低存储成本和运维成本。同时交互式分析兼容PostgreSQL生态,能对接PostgreSQL的BI分析工具也能直接对接交互式分析,实现离线数据的快速可视化分析。
image

精细化运营

例如双11大促时,常用的数据链路是:用户数据实时采集进DataHub,实时计算数据清洗写入到交互式分析,并对接BI工具来实时可视化分析现有数据的表现,从而根据实时情况来做下一步的运营策略。为进一步提升指标,需要对部分用户进行精细化运营(例如对已加购但未付款的用户发放一定的优惠券),此时若只采集实时数据,人群数量庞大,需要借助离线数据(例如过去半年购买情况)将人群变得更加精准化,使用交互式分析直接实时加速查询离线数据,并设定人群圈定规则,将实时数据与离线数据取交集,来得到最终的精细化人群。
image

关于交互式分析的更多信息,可前往交互式分析官网进行查看:https://www.aliyun.com/product/hologram
也欢迎大家扫码加入我们的钉钉群进行交流:
image

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
搜索推荐 JavaScript 前端开发
77 网站点击流数据分析案例(原理及意义)
77 网站点击流数据分析案例(原理及意义)
416 0
|
7天前
|
数据采集 存储 消息中间件
构建高效数据管道:从数据采集到分析的实战指南
在数据的海洋中航行,我们需要精准而高效的工具来捕捉、传输和处理信息。本文将引导你穿越技术性文章的迷雾,用简洁明了的语言和代码示例,展现如何打造一个高性能的数据管道。无论你是初学者还是资深开发者,这篇文章都将为你提供宝贵的知识财富。让我们一起解锁数据的力量,探索其背后的奥秘。
33 15
|
2月前
|
机器学习/深度学习 存储 运维
探索未来:结合机器学习功能拓展Elasticsearch应用场景
【10月更文挑战第8天】随着数据量的爆炸性增长,高效的数据存储、检索和分析变得越来越重要。Elasticsearch 作为一个分布式的搜索和分析引擎,以其强大的全文搜索能力、实时分析能力和可扩展性而闻名。近年来,随着机器学习技术的发展,将机器学习集成到 Elasticsearch 中成为了一种新的趋势,这不仅增强了 Elasticsearch 的数据分析能力,还开拓了一系列新的应用场景。
64 7
|
6月前
|
存储 数据可视化 Java
使用Java实现可视化数据分析平台
使用Java实现可视化数据分析平台
|
7月前
|
存储 数据采集 弹性计算
日志服务的典型应用场景
日志服务的典型应用场景
116 3
|
7月前
|
存储 机器学习/深度学习 数据可视化
浅谈数字化和可视化的区别、各自的优缺点及未来的趋势主流
浅谈数字化和可视化的区别、各自的优缺点及未来的趋势主流
693 2
|
数据采集 SQL 数据可视化
79 网站点击流数据分析案例(整体技术流程及架构)
79 网站点击流数据分析案例(整体技术流程及架构)
120 0
|
消息中间件 数据挖掘 Kafka
实时数据分析演示
实时数据分析演示
|
存储 运维 NoSQL
典型案例分析|学习笔记
快速学习典型案例分析
典型案例分析|学习笔记
|
数据挖掘
一文速览-数据分析基础以及常规流程
一文速览-数据分析基础以及常规流程
126 0
一文速览-数据分析基础以及常规流程