阿里云文件存储CPFS实现与OSS之间数据双向便捷流动

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
简介: 阿里云文件存储CPFS现已支持“数据流动”特性。该功能适用于2021年9月29日以后建立的CPFS文件系统。当文件系统启用该特性后,“数据流动”功能可以实现将对象存储OSS的bucket中的数据合并入CPFS进行统一命名空间的元数据管理。用户可以手动或者通过自动Lazy-load能力,将OSS中的数据复制到CPFS中,实现通过POSIX文件接口高速访问OSS中的数据,在保持数据在OSS中低成本存储的同时,获得高性能文件访问能力,满足云上自动驾驶、机器学习、HPC等大数据计算场景的需求。

随着云上对象存储成本的逐渐降低,越来越多的企业利用阿里云OSS存储他们的大量数据并构建数据湖。现在阿里云文件存储CPFS与对象存储OSS实现了深度集成,客户可以在三十分钟内创建一个高性能CPFS文件系统并链接到他们的OSS bucket。当链接到OSS bucket以后,CPFS文件系统会自动同步OSS bucket中的对象元数据,将OSS对象透明地显示为CPFS文件。这使客户能够使用高性能、POSIX兼容的文件接口快速地处理OSS中数据。处理完成后,客户可以通过CPFS控制台或者OpenAPI将结果写回链接的OSS bucket。

适合的业务场景

阿里云的客户将CPFS广泛应用于各种高性能数据分析场景,如:CG渲染和转码、电气设计自动化(EDA)、自动驾驶、金融量化分析、AI机器学习和高性能计算(HPC)。

CPFS使启动和运行传统的专业高性能文件系统变得简单且经济高效。CPFS旨在为客户提供完美兼容POSIX接口的极致性能的共享分布式文件系统。CPFS充分利用了云上硬件基础设施高速迭代的红利,基于全固态SSD介质和高性能RDMA网络,在可控的成本下,提供了亚毫秒的延迟、数百万IOPS和百GBps吞吐量,使计算密集型工作负载能够更快地完成。

根据我们的经验以下行业都可以从CPFS+OSS数据流动中获益

  • 自动驾驶 – 客户在进行定期试驾后返回车库时,会定期从车辆向阿里云OSS上传大量传感器数据,进行数据初步清洗,并需要依赖高性能CPFS文件系统+GPU进行机器学习运算
  • 媒体和娱乐 – 客户通过公网不断将原始视频素材上传到阿里云OSS,并需要通过CPFS+GPU进行CG渲染或后期剪辑编辑,再利用OSS+CDN进行分发
  • 金融服务 – 客户持续上传大量金融交易数据至阿里云OSS,通过CPFS进行分析
  • 石油和天然气 – 海量数据需要使用OSS进行低成本存储和归档,专业的HPC软件利用CPFS提供的MPI-IO接口进行高效分析和计算
  • 基因计算 – 客户每天可以从采集源,通过internet将新DNA数据上传到阿里云OSS,再利用专业软件进行分析,CPFS为这些专业软件超高吞吐和POSIX接口

文件系统中的子文件系统Fileset

本次CPFS的更新,我们在文件系统中实现了一种新的目录树结构--Fileset。它就像在父文件系统中的一个小型文件系统,它拥有独立的inode空间和管理能力。Fileset内的文件或目录数量上限缺省是100万个,如果您的业务场景需要提高文件数量额度,请提交工单申请,我们可以为您进行调整。未来我们会基于Fileset开放更多的元数据管理能力,本次开放的为OSS和CPFS的数据流动功能。当前,您可以在一个文件系统中创建10个Fileset,我们建议您按照业务需求将未来可能进行独立管理的目录配置成Fileset,比如按照:独立部门、独立业务、重要核心数据等。

数据流动模式和性能

元数据导入

您可以在创建好CPFS文件系统后随时通过创建"数据流动”将某个OSS bucket链接到CPFS文件系统的某个Fileset。在配置数据流动时,您可以配置在添加新对象或在OSS bucket中更新现有对象时是否在CPFS中自动更新其元数据:

  • 不自动更新CPFS中的文件:(默认)在创建数据流动时,CPFS会一次性导入对应OSS bucket中的所有对象的元数据。之后不会自动导入任何新的或者更改的对象。也不会从文件系统中自动删除从OSS bucket中删除的对象。
  • 自动更新CPFS中的文件(元数据自动更新):在创建数据流动时,CPFS会一次性导入对应OSS bucket中的所有对象的元数据。之后,按照配置的时间间隔和OSS前缀,CPFS会自动更新指定OSS前缀下新的或者更改的对象的元数据至CPFS文件系统。您可以及时的在CPFS中看到OSS中的最新更新。此功能依赖阿里云事件总线 EventBridge服务,CPFS会为您自动配置。什么是事件总线EventBridge?

数据导入:

当CPFS从链接的OSS bucket导入新对象时,它只下载这些对象的名称、前缀和权限(即元数据),并使它们在文件系统中显示为新文件和目录。如果对象不包含元数据,则CPFS将使用root:root和755的默认权限。如果在导入过程中,OSS中已更改的对象不再包含其元数据,则CPFS将保留当前元数据值,而不是使用默认权限。OSS对象的内容(数据)有两种方式进行导入:

  • 可以通过控制台或者OpenAPI创建数据流动任务手动导入CPFS
  • 可以在应用程序首次访问时由CPFS自动加载到文件系统中(我们称之为"Lazy-load")

我们推荐针对小型数据集或少量数据更新使用"Lazy-load"能力,可以有效降低管理成本,且应用几乎无感。对于大型数据集,我们建议通过创建手动任务进行提前数据导入。

数据删除(evict):

CPFS为热数据提供高性能读写的同时,成本也远高于OSS,如何高效率的使用CPFS有限的空间是客户的重要诉求。数据流动功能提供了删除CPFS中数据但是保持元数据的能力,使得CPFS中宝贵的空间可以进行轮转使用。用户在将数据导出至OSS或者确认OSS上有必要备份后,可以通过CPFS控制台或者OpenAPI删除CPFS中文件的数据,腾出空间供其他数据集导入使用,CPFS上元数据仍将保留,下次读取数据时,CPFS会从OSS自动拉取。

数据流动性能:

每个数据流动的带宽都可以在创建时进行配置,也可以在创建后进行调整,调整后一般需要在十分钟左右生效。数据流动按照带宽进行收费并根据CPFS文件系统的容量大小进行了一定减免,详见:CPFS计费说明

CPFS在进行数据导入时会对所有OSS对象进行并行化读取。根据我们的经验,为发挥出理想的带宽能力,我们建议您将数据分散在多个OSS prefix下,平均文件大小不小于1MB。以下是我们在实验室环境下获得的数据流动的OPS能力:

数据导入OPS:1000

数据导出OPS:1000

数据删除OPS:2000

总结

数据流动功能将CPFS与OSS进行深度集成,允许客户轻松快速地处理存储在OSS上的数据集,这包括以下一系列功能:

  • 新的目录树结构Fileset
  • 能够在CPFS文件系统和OSS之间传输POSIX元数据,这允许您在CPFS和OSS之间维护POSIX权限、所有权和时间戳。有关更多信息,请参阅"数据流动概述"。
  • 新的控制台页面和OpenAPI,为您提供创建、管理、监控CPFS文件系统与其链接的OSS bucket之间的数据传输。有关更多信息,请参阅CPFS OpenAPI参考文档
  • 相较通过ossfs工具将数据从OSS导入CPFS文件系统,导入速度提高了10倍以上,使您在使用数据前只需要等待很短的时间。
  • 云监控支持新的关于数据导入和导出的性能监控指标
  • 数据导入和导出报表,供管理员了解数据流动的结果
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
4月前
|
机器学习/深度学习 人工智能 专有云
人工智能平台PAI使用问题之怎么将DLC的数据写入到另一个阿里云主账号的OSS中
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
19天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
3月前
|
存储 机器学习/深度学习 弹性计算
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
|
4月前
|
存储 NoSQL 文件存储
云计算问题之阿里云文件存储CPFS如何满足大模型智算场景的存储需求
云计算问题之阿里云文件存储CPFS如何满足大模型智算场景的存储需求
|
4月前
|
消息中间件 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python和阿里云SDK读取OSS中的文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
存储 人工智能 弹性计算
|
4月前
|
存储 运维 安全
阿里云OSS的优势
【7月更文挑战第19天】阿里云OSS的优势
193 2
|
4月前
|
存储 API 开发工具
阿里云OSS
【7月更文挑战第19天】阿里云OSS
188 1
|
4月前
|
存储 弹性计算 对象存储
预留空间是什么?阿里云OSS对象存储预留空间说明
阿里云OSS预留空间是预付费存储产品,提供折扣价以锁定特定容量,适用于抵扣有地域属性的Bucket标准存储费用及ECS快照费。通过购买预留空间,如500GB通用预留+100GB标准-本地冗余存储包,用户可优化成本。
206 4
|
4月前
|
人工智能 对象存储
【阿里云AI助理】自家产品提供错误答案。阿里云OSS 资源包类型: 下行流量 地域: 中国内地通用 下行流量包规格: 300 GB 套餐: 下行流量包(中国内地) ,包1年。那么这个是每月300GB,1年是3600GB的流量;还是1年只有300GB的流量?
自家产品提供错误答案。阿里云OSS 资源包类型: 下行流量 地域: 中国内地通用 下行流量包规格: 300 GB 套餐: 下行流量包(中国内地) ,包1年。那么这个是每月300GB,1年是3600GB的流量;还是1年只有300GB的流量?
128 1

相关产品

  • 对象存储