利用Alluxio系统提升按需数据分析服务的性能

本文涉及的产品
对象存储 OSS,20GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
对象存储 OSS,内容安全 1000次 1年
简介: Alluxio是部署在计算群集中的虚拟的分布式存储系统,为上层应用的I/O提供内存级访问速度的性能。
更多精彩内容参见 云栖社区大数据频道 https://yq.aliyun.com/big-data;此外,通过 Maxcompute及其配套产品,低廉的大数据分析仅需几步,详情访问 https://www.aliyun.com/product/odps

在很多大数据应用场景中,某些具体的处理问题通常只涉及到整体数据集的一个子集或部分数据。这导致长时间占用大规模集群的整体数据分析方式的资源有效利用率较低,并且总体代价较高,尤其在系统采用计算和存储并置(co-locate)部署架构的场景下各位严重。另外,在很多即席查询和计算应用中,数据的分析任务通常由上层用户零散地给出,与用于处理管道数据和流数据的连续运行分析任务不同,这种零散的分析任务会造成集群的计算能力有些时间段不能被充分利用。另一方面,集群的存储容量必须容纳可能被访问到的任何数据,尽管实际上每次需要使用的工作集合只是整体数据的一小部分。最后,集群本身还需要大量精心的维护管理工作,以确保集群使用者之间的隔离和性能不受彼此太多影响。    

对于上述这些问题的简洁而优雅的解决方案是采用一种上层按需计算集群结合底层对象存储的架构。这种架构通过解耦需要连续运行的持久化存储模块和只有发生分析任务才使用的计算模块来解决这些问题的根源。与上段提到的需要连续运行的整体化集群架构相比,这种架构具有如下优势:
  • 更高的存储性价比和可扩展性:对象存储的性价比很高,大多数对象存储服务提供商都为用户提供无缝扩展到任意数据量的功能。
  • 更高的计算性价比和系统弹性:仅在需要时才使用计算资源,并在必要时扩展计算集群规模以适应不同规模的分析任务。
  • 降低维护成本:计算集群变成一种消耗性资源,使用完后即可释放相关资源,并不需要长时间维护。用户也不需要担心数据的安全问题,因为通常提供给计算集群的数据是来自底层对象存储的数据副本。
事实上,这种计算和存储解耦的方案具备上述优势的同时,也存在着一个关键的缺点:性能损失。这是因为底层的对象存储通常并不是为高I / O吞吐量而设计的,因此会导致上层的计算分析任务可能会因为数据访问效率低下而整体性能变地低效。

幸运的是新架构存在的这个问题可以通过在计算集群上部署Alluxio得到很好的解决。通过引入Alluxio,可以使得计算任务的I/O速度达到内存级别,并且不需要维护长时间运行的集群或昂贵的前期投入成本。

1. 架构示例图介绍

b648ec977ae516ac8b00506abe7ce12969b8c6ef

上图显示了利用Alluxio提升按需数据分析服务性能的架构图,从图中可以看出Alluxio与按需使用的计算集群部署在一起,从而减少计算集群频繁访问远程存储的耗时。

2. 结合Alluxio系统架构的优势分析

Alluxio是部署在计算群集中的虚拟的分布式存储系统,为上层应用的I/O提供内存级访问速度的性能。 通过Alluxio虚拟化底层存储系统,使得任何基于Alluxio API接口(Alluxio提供HDFS兼容接口)编写的计算应用程序都能自动地访问用任何或多个底层存储系统,而不需要修改任何代码。此外,Alluxio是一个设计为可横向扩展的分布式存储系统,这意味着通过部署更多的机器来轻松地存储更大的数据集并提高访问性能。

事实上,部署和使用Alluxio对上层应用程序而言是简单和透明的。应用程序还是不断地访问数据,就好像作业直接访问的是远程存储上的数据,Alluxio会智能地将热数据保存在计算集群的内存中以供后续读取。整个过程对于应用程序是透明的,并且不需要进行手动ETL。一旦数据进入Alluxio,它将对集群的所有应用程序可用,因此在同一数据集被多次使用的场景中,应用的性能会大幅提高。

Alluxio为用户提供较高的灵活性和效率。任何需要持久化的结果或转换都可以通过Alluxio直接完成,Alluxio可以将数据同步传播到底层存储系统,以确保数据不会因为节点故障而丢失。此外,用户还可以选择仅在Alluxio内存中存储临时数据或中间数据,从而允许计算任务对这些缓存的数据进行内存级速度访问。

3. 总结

相比于长期运行的计算分析集群高昂的成本和维护工作量,与对象存储结合使用的按需计算集群的架构是一个更简洁和更具性价比的服务解决方案。通过在计算集群中并置(co-locate)部署Alluxio和计算框架,我们克服了这种按需集群模型的关键性的性能缺点。Alluxio系统的架构设计使其成为大数据软件栈中提供此核心功能的一个很好的选择。

版权申明:本文由南京大学顾荣、黄志翻译整理自Alluxio公司技术博客,由Alluxio公司授权云栖社区及CSDN首发(联合),版权归Alluxio公司所有,未经版权所有者同意请勿转载。
相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
3月前
|
Rust 数据挖掘 数据处理
Polars库:数据分析的新星,性能与易用性的完美结合
Polars库:数据分析的新星,性能与易用性的完美结合
120 1
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
构建高效数据分析系统的关键技术
【10月更文挑战第5天】构建高效数据分析系统的关键技术
44 0
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
194 4
|
4月前
|
数据采集 机器学习/深度学习 数据可视化
【优秀python web系统毕设】基于python的全国招聘数据分析可视化系统,包括随机森林算法
本文介绍了一个基于Python的全国招聘数据分析可视化系统,该系统利用数据挖掘技术、随机森林算法和数据可视化技术,从招聘网站抓取数据,进行处理、分析和预测,帮助用户洞察招聘市场,为求职者和企业提供决策支持。
157 2
|
4天前
|
数据挖掘 关系型数据库 Serverless
利用数据分析工具评估特定业务场景下扩缩容操作对性能的影响
通过以上数据分析工具的运用,可以深入挖掘数据背后的信息,准确评估特定业务场景下扩缩容操作对 PolarDB Serverless 性能的影响。同时,这些分析结果还可以为后续的优化和决策提供有力的支持,确保业务系统在不断变化的环境中保持良好的性能表现。
14 2
|
4月前
|
SQL 数据挖掘 关系型数据库
性能碾压pandas、polars的数据分析神器来了
性能碾压pandas、polars的数据分析神器来了
|
4月前
|
存储 数据可视化 大数据
基于Python Django的大数据招聘数据分析系统,包括数据大屏和后台管理
本文介绍了一个基于Python Django框架开发的大数据招聘数据分析系统,该系统具备后台管理功能和数据大屏展示,利用大数据技术收集和分析招聘市场趋势,帮助企业和招聘机构提高招聘效率和质量。
157 3
|
4月前
|
数据可视化 安全 前端开发
基于Django的美团药品数据分析与可视化系统,有多用户功能,可增删改查数据
本文介绍了一个基于Django框架开发的美团药品数据分析与可视化系统,该系统具备多用户功能,支持数据的增删改查操作,并采用MySQL、pandas、echarts和bootstrap技术栈,为用户提供了一个高效、安全且实用的药品数据管理和分析平台。
基于Django的美团药品数据分析与可视化系统,有多用户功能,可增删改查数据
|
4月前
|
数据采集 数据可视化 数据挖掘
基于Django的数据分析可视化系统,有后台,有增删改查,实现多用户登录
本文介绍了一个基于Django框架开发的今日头条数据分析可视化系统,该系统具备后台管理、增删改查功能以及多用户登录,利用数据可视化技术为新闻媒体行业提供数据管理和决策支持。
基于Django的数据分析可视化系统,有后台,有增删改查,实现多用户登录
|
4月前
|
前端开发 Java JSON
Struts 2携手AngularJS与React:探索企业级后端与现代前端框架的完美融合之道
【8月更文挑战第31天】随着Web应用复杂性的提升,前端技术日新月异。AngularJS和React作为主流前端框架,凭借强大的数据绑定和组件化能力,显著提升了开发动态及交互式Web应用的效率。同时,Struts 2 以其出色的性能和丰富的功能,成为众多Java开发者构建企业级应用的首选后端框架。本文探讨了如何将 Struts 2 与 AngularJS 和 React 整合,以充分发挥前后端各自优势,构建更强大、灵活的 Web 应用。
61 0