阿里云CPFS与OSS之间数据双向流动机制

news2025/1/21 13:00:39

       随着云上对象存储成本的逐渐降低,越来越多的企业利用阿里云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倍以上,使您在使用数据前只需要等待很短的时间。
  • 云监控支持新的关于数据导入和导出的性能监控指标
  • 数据导入和导出报表,供管理员了解数据流动的结果

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

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

相关文章

实验二 ROS结合OpenCV示例——人脸识别

ROS结合OpenCV示例——人脸识别 一、实验原理&#xff1a;二、实验步骤&#xff1a;<1> 安装opencv 以及串口功能包<2> 测试opencv串口是否安装成功 三、程序分析&#xff1a; 一、实验原理&#xff1a; Opencv库是一个基于BSD许可发行的跨平台开源计算机视觉库&a…

STM32WB55_NUCLEO开发(9)----接收手机数据点亮LED

概述 本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程&#xff0c;并通过与STM32WB配对&#xff0c;向该特征写入一个任意字节&#xff0c;绿色LED会切换。 硬件准备 首先需要准备一个开发板&#xff0c;这里我准备的是NUCLEO-WB55RG 的开发板&#xff1a; 选择芯片…

加拿大各省接受公立教育的初始年龄汇总 — 供携子女赴加的访学、博后参考

近年来到加拿大从事访问学者和博士后研究的申请者日益增多&#xff0c;有些申请者想带孩子同去上公立学校。因为加拿大各省教育局政策有差异&#xff0c;所以入学&#xff08;包括学前班&#xff09;年龄不同&#xff0c;为此知识人网小编整理本文为大家解惑答疑。 加拿大为本国…

GitHub Actions自动发布Package到Pub.dev

一、创建package或plugin 先创建一个package或者plugin 二、手动上传第一个版本到pub.dev flutter packages pub publish --serverhttps://pub.dartlang.org 三、在admin配置自动化发布 打开pub.dev中的对应的package按照以下图片配置 四、在项目跟目录配置发布脚本 1、在…

XMLMapperBuilder解析*mapper.xml

springboot的MybatisAutoConfiguration自动配置类会创建SqlSessionFactory&#xff0c;创建过程就是填充configuration属性&#xff0c;调用buildSqlSessionFactory()方法完成SqlSessionFactory创建&#xff0c;这其中就会创建XMLMapperBuilder解析mapper.xml和XMLConfigBuilde…

UHD在DPDK下进行编译

1.安装choco windows环境,用管理员权限打开 powershell 命令行界面。 输入命令:Set-ExecutionPolicy AllSigned 继续输入命令:Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]…

C++---区间DP/高精度计算---凸多边形的划分(每日一道算法2023.4.27)

注意事项&#xff1a; 本题是"区间DP—能量项链"的扩展题&#xff0c;可以先理解下那道题。 本题使用了"高精度乘法"和"高精度加法"&#xff0c;可以去这两篇文章看&#xff0c;有详解。 题目&#xff1a; 给定一个具有 N 个顶点的凸多边形&…

什么是SSO?

SSO&#xff08;Single Sign On&#xff09;单点登录。SSO是在多个应用系统中&#xff0c;用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。 当…

中山大学_程序设计新手赛2023_4题的小朋友_总结

送自己一句话&#xff1a;即使生活很不顺利&#xff0c;也不要成为一个连自己都讨厌的人 那样&#xff0c;当你有一天回首过往&#xff0c;只不过是在演戏中匆匆做过这一生 题目&#xff1a;见我上传的资源 A:关于时间复杂度 解&#xff1a; 1.关键&#xff1a; 法一&…

前端开发之axios请求封装详细讲解

前端开发之axios请求封装 前言1、安装axios2、创建公共文件request3、导入axiso4、初始化axios5、axios请求拦截器6、axios响应拦截器7、handleData&#xff1a;处理请求后来的response8、CODE_MESSAGE&#xff1a;code信息 前言 在vue项目中&#xff0c;和后台交互获取数据这…

openEuler社区人才评定考试流程指引

最近因为公司工作的需要参加考试了openEuler社区人才评定考试&#xff0c;本次考试题型主要包括单选、多选、判断三类题型。考试内容基本都是操作系统使用相关的内容。 考试需要注意事项&#xff1a; 1.考试为线上答题考试&#xff0c;需开启摄像头。 2.考试期间请保持周围环…

SQL server增删改查(1)

SQL server数据类型 整数型: BIGINT INT SMALLINT 小数型: FLOAT DOUBLE 文本型: CHAR VARCHAR NCHAR NVARCHAR TEXT 日期和时间类型 DATE TIME DATETIME 布尔型: BIT 数据类型含义INT长整数(也可以写作INTEGER)SMALLINT短整数CHAR(n)长度为n的定长字符串, 不足n个字符的空白部…

Scala语言入门以及基本语法

文章目录 前言1.环境搭建1) IDEA中插件下载2) SDK下载配置 2.基本使用1&#xff09;var与val的区别2) .基本数据类型3).字符串的基本用法4) 控制结构1) if else2) for 循环3) while循环 5)类6) 函数 前言 scala在一种简洁的高级语言中结合了面向对象和函数式编程。Scala的静态…

8个免费的PNG素材网站推荐

很多设计小白都不知道什么是PNG。事实上&#xff0c;PNG是一种支持透明度的图像格式。当你想在设计中将图像与背景或文本混合时&#xff0c;它就会派上用场。 如果你没有时间为你正在处理的设计创建透明的PNG图像&#xff0c;你也可以使用我收集的PNG素材网站&#xff0c;以便…

【Linux从入门到精通】Linux常用基础指令(中)

本篇文章接上篇文章&#xff08;【Linux从入门到精通】Linux常用基础指令&#xff08;上&#xff09;&#xff09;进行详解。本章的指令相对较为重要&#xff0c;使用频率较高&#xff0c;难度相对上篇文章较难&#xff0c;也较为复杂。希望能对你的理解有所帮助。 文章目录 一…

(Open AI 极简教程)ChatGPT注册登录常见问题及其解决方法最全总结

好久没有更新过技术类的文章了&#xff0c;临近五一假期&#xff0c;首先祝大家假期游玩愉快&#xff0c;也希望本篇文章能够对你有所帮助&#xff0c;今天这篇博客将会把ChatGPT注册中可能遇到的问题彻头彻尾的讲一下&#xff0c;如果感觉有帮助的话就动动你发财的小手点个收藏…

蓝奥声核心技术分享——一种无线低功耗配置技术

1.技术背景 无线低功耗配置技术指基于对目标场景状态变化的协同感知而获得触发响应并进行智能决策&#xff0c;属于蓝奥声核心技术--边缘协同感知(EICS&#xff09;技术的关键支撑性技术之一。该项技术涉及物联网边缘域的无线通信技术领域&#xff0c;具体主要涉及网络服务节点…

3.龙芯2k1000 builroot文件系统编译过程

3.龙芯2k1000 builroot文件系统编译过程 文章目录 3.龙芯2k1000 builroot文件系统编译过程&#xff08;一&#xff09;、在Ubuntu环境下载并配置交叉编译链&#xff08;与内核编译工具链相同&#xff09;&#xff08;二&#xff09;、下载buildroot源码&#xff08;三&#xff…

【Linux命令篇】正则表达式浅析

前言 转义字符是将普通字符转化为特殊字符的一种方式。 在正则表达式中&#xff0c;一些字符被定义为特殊字符&#xff08;也称为元字符&#xff09;&#xff0c;它们具有特殊的含义。这些特殊字符包括&#xff1a; 句点字符 .&#xff1a;可以匹配除了换行符以外的任何单个…

JavaScript经典教程(四)-- JavaScript基础 - BOM、打印、window对象等详解

184&#xff1a;JavaScript基础 - BOM、打印、window对象等详解 185&#xff1a;JavaScript基础 - 数据类型Number及运算符号 1、关键字 &#xff08;3&#xff09;alert - 警告窗 原型&#xff1a;window.alert(); alert实际上是一个函数 注&#xff1a;alert无法弹出部分…