如何借力Alluxio推动大数据产品性能提升与成本优化?

news2025/6/9 13:35:03

在这里插入图片描述

内容简介

随着数字化不断发展,各行各业数据呈现海量增长的趋势。存算分离将存储系统和计算框架拆分为独立的模块,Alluxio作为如今主流云数据编排软件之一,为计算型应用(如 Apache Spark、Presto)和存储系统(如 Amazon S3、Alibaba OSS)的数据访问构建了桥梁。

本文使用亚马逊云、阿里云服务商产品,对Presto、Hive等计算框架与不同UFS直连时的关键性能指标进行测评,同时给出集成Alluxio组件后的性能评估,得出以下结论:

√ Alluxio 可减少任务运行时间(低带宽情况下甚至可以减少一个数量级)和 CPU时间;这表明 Alluxio 一定程度上可以节省带宽并减轻服务器运算压力。
√ Alluxio 可更好地兼容众多底层存储系统,这表明在不损失性能的前提下,选择价格更为低廉的对象存储系统(如Alibaba OSS, Amazon S3)。
简而言之,集成数据驱动软件 Alluxio 既能提升性能,又能降低运营成本。

实验设计

本实验采用 TPC-DS 生成的 1GB 数据集,选择19条SQL作为该实验工作负载。[1]
在这里插入图片描述
我们将原始数据存到底层存储系统中,使用Hive管理原始数据和元数据,将Presto作为计算应用,形成 Presto → Hive → (Alluxio →) HDFS/OSS/S3 的连接模式,并进行Presto直接读UFS和Presto通过Alluxio缓存读UFS两种对比测试。我们采用挂钟时间(WallTime,执行查询花费的总时间)和CPU时间(ProcessCpuTime,处理查询所花费的总CPU时间)两组测量指标进行对比测试。

实验结果与意义

实验结果分析

通过TPC-DS测试的对比后,可得出以下几点结论:

(1)Alluxio 可减少挂钟时间,在低带宽下尤为明显。

√ 图1-1是在AWS上,使用HDFS作为存储系统,统计挂钟时间均值(AWS实例带宽最高可达10G/s,性能小幅度提升):
图1-1

√ 图1-2是在阿里云上,使用HDFS作为存储系统,统计挂钟时间均值(选择阿里云按量付费最高带宽200M/s):
图1-2

√ 图1-3是在阿里云上,使用HDFS作为存储系统,统计挂钟时间均值(低带宽模式,带宽15M/s),可以看到性能提升一个数量级。
图1-3
(2)Alluxio 可节省带宽。由图1-2和图1-3可知,若想在无Alluxio的情况下达到有Alluxio的效果,需要设法进一步提升公网带宽。

(3)Alluxio 一定程度上可减轻服务器运算压力,CPU时间较短。

图2-1是在阿里云上使用HDFS作为存储系统,统计CPU时间。
图2-1
图2-2是在AWS上使用S3作为存储系统,统计CPU时间。
图2-2
(4)Alluxio 为计算框架和存储系统的数据访问搭建桥梁,大大降低运行环境配置难度。目前 Presto 对 S3 兼容性较好,但对 OSS 和 COS 兼容性较差,目前尚无Presto直接访问OSS数据的方案。但用Alluxio则无需考虑计算框架和底层存储系统的兼容性问题,因为Presto对Alluxio、Alluxio对OSS兼容性很好,配置环境很容易。

(5)由于无需考虑计算框架与底层存储系统兼容性,则可使用价格更为低廉的对象存储系统,其带宽成本与维护成本均比 Hadoop 低。并且由图3-1和图3-2得知Alluxio缓存读情况下性能差别并不明显,但对象存储系统价格更为低廉,因此对象存储可作为存储系统更好的选择。

图3-1为使用AWS服务器,分别对 HDFS 和 S3 进行测试,统计挂钟时间。
图3-1
图3-2为使用阿里云服务器,分别对 HDFS 和 OSS 进行测试,统计挂钟时间。
图3-2

对象存储与HDFS存储成本对比

由于云服务产品种类繁杂、使用相同产品不同的应用场景下开销差异较大。以本实验为例,云服务主要开销由存储、数据传输和云服务器三个部分构成,故我们仅对本实验使用云服务产品及其他常用云服务产品进行上述指标的定量分析(忽略诸如数据请求、对象清单等极低成本服务的指标),扩展服务及其详细价格详情请参考云服务产品价格页面。

亚马逊云

亚马逊服务器使用 S3 和 HDFS 作为存储系统时(HDFS 使用 EBS 存储,因此以美国东部俄亥俄2023年1月6日 S3 Standard 和 EBS 为例),价格对比如下(数据来源:Amazon S3 价格、Amazon EC2 实例价格、Amazon EBS 定价 ):

(1)存储
在这里插入图片描述
本实验采用S3 Standard 、通用型SSD (gp2) 和一张普通快照,S3 每 GB 存储价格仅为 gp2 的 1/7~1/6。即使数据量增大,使得运行环境占用存储忽略不计,在不考虑快照的情况下,S3 Standard 数据存储价格仅为 gp2 的1/4~1/3。

(2)数据传输
在这里插入图片描述
AWS两者公网流出流量价格一致,公网流入流量均免费。

(3)服务器成本
在这里插入图片描述
服务器成本请参考 Amazon EC2 实例价格,S3 并无此项成本,而 EC2 成本很高,以本实验存储系统用到的实例为例(美国东部俄亥俄2023年1月6日 r5a.large 价格)。

阿里云

以2023年1月12日华北1(青岛)区域的 OSS 标准型存储和块存储 (EBS) 为例(数据来源:对象存储OSS 定价详情、块存储定价详情)。

(1)存储
在这里插入图片描述
本实验采用 OSS 标准存储(本地冗余)、ESSD 云盘 PL0 和一个普通快照,可见在 Alluxio 缓存读性能相近情况下,OSS 每 GB 存储价格仅为 EBS 的 1/6~1/5。

(2)数据传输
在这里插入图片描述
本实验采用按量付费带宽。可见 OSS 带宽成本比 HDFS 带宽成本要低一些。倘若OSS开启CDN加速,理论上可进一步提升带宽速度并降低带宽成本。

(3)服务器成本
在这里插入图片描述
服务器成本请参考 云服务器 ECS,OSS 并无此项成本,而 ECS 成本很高,以本实验存储系统用到的实例为例(华北1青岛2023年1月12日 ecs.r6.large 价格)。

总结

综合亚马逊云、阿里云的存储、数据传输和服务器成本,使用对象存储系统的开销要比HDFS低很多,而使用 Alluxio 可十分方便地接入各种存储系统,这无疑意味着可大大降低企业运营成本。
在这里插入图片描述

想要了解更多关于Alluxio的干货文章、热门活动、专家分享,可点击进入【Alluxio智库】:
在这里插入图片描述

参考
^我们选择和《SQL-on-Hadoop: Full Circle Back to Shared-Nothing Database Architectures》(Proceedings of the VLDB Endowment, Vol. 7, No. 12)相同的20条SQL作为该实验工作负载。Q59 由于过于复杂,运行时间过长,内存消耗过大,测试难度较大,故该实验仅对其他19个SQL进行测试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/334300.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

buu [网鼎杯 2020 青龙组]boom 1

题目描述: 一个应用程序,打开了是一串要运行的代码: 题目分析: 首先,跟着代码走下1去得到: 对密文进行md5解密,得到:输入后继续跟着代码走下去,得到:好家伙&#xff0…

RabbitMQ 部署指南

RabbitMQ 部署指南RabbitMQ部署指南1.单机部署1.1.下载镜像1.2.安装MQ2.安装DelayExchange插件2.1.下载插件2.2.上传插件2.3.安装插件3.集群部署2.1.集群分类2.2.获取cookie2.3.准备集群配置2.4.启动集群2.5.测试2.5.1.数据共享测试2.5.2.可用性测试4.镜像模式4.1.镜像模式的特…

太酷了,用Python实现一个动态条形图!

大家好,我是小F~说起动态条形图,小F之前推荐过两个Python库,比如「Bar Chart Race」、「Pandas_Alive」,都可以实现。今天就给大家再介绍一个新的Python库「pynimate」,一样可以制作动态条形图,…

JVM调优最全面的成长 :参数详解+垃圾算法+示例展示+类文件到源码+面试问题

目录1.优秀的Java开发者1.1 什么是Java?1.2 编程语言1.3 计算机[硬件]能够懂的语言1.3.1 计算机发展史1.3.2 计算机体系结构1.3.3 计算机处理数据过程1.3.4 机器语言1.3.5 不同厂商的CPU1.3.6 操作系统1.3.7 汇编语言1.3.8 高级语言1.3.9 编译型和解释型1.3.9.1 编译…

内网渗透(十三)之内网信息收集-收集域环境中的基本信息

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…

android kotlin 协程(一) 简单入门

android kotlin 协程(一) config: system: macOS android studio: 2022.1.1 Electric Eel gradle: gradle-7.5-bin.zip android build gradle: 7.1.0 Kotlin coroutine core: 1.6.4 前言:最近系统的学习了一遍协程, 计划通过10篇左右blog来记录一下我对协程的理解, 从最简…

视频融合平台EasyCVR集成宇视SDK关闭“按需直播”,一直未拉流是什么原因?

EasyCVR平台不仅能提供丰富的视频能力,还可提供云、边、端分布式海量视频资源的统一管理与运维,从而实现数据采集、处理、汇聚、分析、存储、管理等全环节的视频能力。借助智能分析网关的AI智能检测能力,可实现人脸、人体、车辆、烟火、物体、…

(十五)双边滤波Bilateral Filter

文章目录mathjax: true1.高斯滤波1.1 理论1.2 示例2.双边滤波(Bilateral Filter)2.1 理论基础2.2 OpenCV bilateralFilter函数参考资料欢迎访问个人网络日志🌹🌹知行空间🌹🌹 title: 3.双边滤波BilateralFi…

微信小程序 java基于Android老年人智慧服务平台-

目录 1绪论 4 1.1项目研究的背景 4 1.2开发意义 4 1.3项目研究内容 4 1.4论文结构 4 2开发技术介绍 6 2.1B/S架构 6 2.2 Android平台 6 2.3 Java语言简介 6 2.4 MySQL 介绍 7 2.5 MySQL环境配置 8 2.6 SSM框架 8 3系统分析 9 3.1可行性分析 9 3.1.1技术可行性 9 3.1.2经济可行性…

【图像异常检测】 Anomalib

原文: A practical guide to image-based anomaly detection using Anomalib 1. 简介 在工业生产中,质量保证是一个很重要的话题, 因此在生产中细小的缺陷需要被可靠的检出。工业异常检出旨在从正常的样本中检测异常的、有缺陷的情况。工业…

构建工具tsup入门第四部分

🎄Hi~ 大家好,我是小鑫同学,一位长期从事前端开发的编程爱好者,我将使用更为实用的案例输出更多的编程知识,同时我信奉分享是成长的唯一捷径,在这里也希望我的每一篇文章都能成为你技术落地的参考~ 目录&am…

哈夫曼树、带权路径长度、前缀编码 的概念

文章目录一、基本概念1.1带权路径长度(WPL)1.2哈夫曼树二、哈夫曼树的构造三、哈夫曼树的应用3.1哈夫曼编码与前缀编码一、基本概念 1.1带权路径长度(WPL) 路径长度: 经历的边数 结点的带权路径长度: 从树…

创建线程的三种模式

进程,是对运行时程序的封装,是系统进行资源调度和分配的基本单位,实现了操作系统的并发。 线程,是进程的子任务,是CPU调度和分派的基本单位,实现了进程内部的并发。 线程在进程下运行。 进程之间不会影响…

从0到1一步一步玩转openEuler--09 openEuler基础配置--设置日期和时间

文章目录9 设置日期和时间9.1 使用timedatectl命令设置9.1.1 显示日期和时间9.1.2 通过远程服务器进行时间同步9.1.3 修改日期9.1.4 修改时间9.1.5 修改时区9.2 使用date命令设置9.2.1 显示当前的日期和时间9.2.2 修改时间9.2.3 修改日期9.3 使用hwclock命令设置9.3.1 硬件时钟…

QT之OpenGL深度测试

QT之OpenGL深度测试1. 深度测试概述1. 1 提前深度测试1.2 深度测试相关函数2. 深度测试精度2.1 深度冲突3. Demo4. 参考1. 深度测试概述 在OpenGL中深度测试(Depth Testing)是关闭的,此时在渲染图形时会产生一种现象后渲染的会把最先渲染的遮挡住。而在启用深度测试…

浏览器的底层运行机制

一、复习 1.进程和线程 进程:指一个程序(或浏览器打开一个页面就是开辟一个进程)* 线程:程序中具体执行任务的一个进程中可能包含一到多个线程!!* 单线程:同时只能处理一件事,上一件事处理完,…

ASEMI三相整流模块MDS55-16特征,MDS55-16应用

编辑-Z ASEMI三相整流模块MDS55-16参数: 型号:MDS55-16 最大重复峰值反向电压(VRRM):1600V 最大RMS电桥输入电压(VRMS):1700V 最大平均正向整流输出电流(IF&#xf…

MySQL架构图

MySQL架构图 Mysql逻辑架构图主要分三层: 1) 第一层负责连接处理,授权认证,安全等等 每个客户端连接都会在服务器进程中拥有一个线程,服务器维护了一个线程池,因此不需要为每一个新建的连接创建或者销毁线程。 当客户…

看板管理对项目管理有什么帮助?

在目前市面上的项目管理工具中,项目看板功能基本上成为了标配。看板作为敏捷的项目管理工具,可以帮助我们将项目工作可视化展现。项目看板的作用1,提高团队信息流动性:看板工具可以及时的传递项目工作中的最新讯息,保证…

Mapper文件注入问题

Mapper文件注入问题UserMapper that could not be found.原因分析解决方案程序正常运行,但是注入类爆红问题原因分析解决方法UserMapper’ that could not be found. 原因分析 撰写了mapper文件,但是没有注入spring容器 解决方案 添加mybatis.mapper-…