业界主流数据加速技术路线

       计算存储分离已经成为云计算的一种发展趋势。在计算存储分离之前,普遍采用的是传统的计算存储相互融合的架构,但是这种架构存在一定的问题,比如在集群扩容的时候会面临计算能力和存储能力相互不匹配的问题。用户在某些情况下只需要扩容计算能力或者存储能力,而传统的融合架构不能满足用户的这种需求,进行单独的扩充计算或者存储能力;其次在缩容的时候可能会遇到人工干预,人工干预完后需要保证数据在多个节点中同步,而当有多个副本需要同步时候,可能会造成的数据丢失。而计算存储分离架构则可以很好的解决这些问题,使得用户只需要关心整个集群的计算能力。

1 Alluxio

      Alluxio支持在任何云中进行计算的数据编排,统一了本地和跨任何云的数据孤岛,为您提供所需的数据本地性、可访问性和弹性,以降低为当今大数据和 AI/ML 工作负载编排数据相关的复杂性。

统一的数据编排层:抽象的数据层为数据分析和AI提供统一的数据访问接口

高效的数据访问 & 便捷的数据管理:定制化数据策略,提供完整的数据呈现、加速数据访问

异构环境的支持:实现跨数据中心、跨云等异构体系敏捷数据集成和编排

说明:

      Alluxio并不改变文件组织方式,只是通过缓存加速数据数据访问。

2 Juicefs

      JuiceFS 是一款面向云原生设计的高性能分布式文件系统,在 Apache 2.0 开源协议下发布。提供完备的 POSIX 兼容性,可将几乎所有对象存储接入本地作为海量本地磁盘使用,亦可同时在跨平台、跨地区的不同主机上挂载读写。

      JuiceFS 采用「数据」与「元数据」分离存储的架构,从而实现文件系统的分布式设计。文件数据本身会被切分保存在对象存储(例如 Amazon S3),而元数据则可以保存在 Redis、MySQL、TiKV、SQLite 等多种数据库中,你可以根据场景与性能要求进行选择。

      JuiceFS 提供了丰富的 API,适用于各种形式数据的管理、分析、归档、备份,可以在不修改代码的前提下无缝对接大数据、机器学习、人工智能等应用平台,为其提供海量、弹性、低价的高性能存储。运维人员不用再为可用性、灾难恢复、监控、扩容等工作烦恼,专注于业务开发,提升研发效率。同时运维细节的简化,对 DevOps 极其友好。

核心特性:

    POSIX 兼容:像本地文件系统一样使用,无缝对接已有应用,无业务侵入性;

    HDFS 兼容:完整兼容 HDFS API,提供更强的元数据性能;

    S3 兼容:提供 S3 网关 实现 S3 协议兼容的访问接口;

    云原生:通过 Kubernetes CSI 驱动 轻松地在 Kubernetes 中使用 JuiceFS;

    分布式设计:同一文件系统可在上千台服务器同时挂载,高性能并发读写,共享数据;

    强一致性:确认的文件修改会在所有服务器上立即可见,保证强一致性;

    强悍性能:毫秒级延迟,近乎无限的吞吐量(取决于对象存储规模),查看性能测试结果;

    数据安全:支持传输中加密(encryption in transit)和静态加密(encryption at rest),查看详情;

    文件锁:支持 BSD 锁(flock)和 POSIX 锁(fcntl);

    数据压缩:支持 LZ4 和 Zstandard 压缩算法,节省存储空间。

说明:

      JuiceFS 基于采用「数据」与「元数据」分离存储的架构,从而实现文件系统的分布式设计。文件数据本身会被切分保存在对象存储(例如 Amazon S3),而元数据则可以保存在 Redis、MySQL、TiKV、SQLite 等多种数据库中。

3 腾讯云GooseFS

      数据湖加速器(Data Lake Accelerator Goose FileSystem,GooseFS),是由腾讯云推出的高可靠、高可用、弹性的数据湖加速服务。依靠对象存储(Cloud Object Storage,COS)作为数据湖存储底座的成本优势,为数据湖生态中的计算应用提供统一的数据湖入口,加速海量数据分析、机器学习、人工智能等业务访问存储的性能;采用了分布式集群架构,具备弹性、高可靠、高可用等特性,为上层计算应用提供统一的命名空间和访问协议,方便用户在不同的存储系统管理和流转数据。

GooseFS 提供了以下功能:

  • 缓存加速和数据本地化(Locality):GooseFS 可以与计算节点混合部署提高数据本地性,利用高速缓存功能解决存储性能问题,提高写入 COS 的带宽。
  • 融合存储语义:GooseFS 提供 UFS(Unified FileSystem)的语义,可以支持 COS、Hadoop、S3、K8S CSI、 FUSE 等多个存储语义,使用于多种生态和应用场景。
  • 统一的腾讯云相关生态服务:包括日志、鉴权、监控,实现了与 COS 操作统一。
  • 提供 Namespace 管理能力,针对不同业务、不同的Under File System,提供不同的读写缓存策略以及生命周期(TTL)管理。
  • 感知 Table 元数据功能:对于大数据场景下数据 Table,提供 GooseFS Catalog 用于感知元数据 Table ,提供 Table 级别的 Cache 预热。

说明:

      GooseFS 基于开源 Alluxio 的架构,提供强大的分布式 Cache 能力,能够帮助用户统一跨各种平台用户数据的同时,还有助于为用户提升总体 I/O 吞吐量。

4 阿里云jindoData

      JindoData 是阿里云开源大数据团队自研的数据湖存储加速套件,面向大数据和 AI 生态,为阿里云和业界主要数据湖存储系统提供全方位访问加速解决方案。JindoData 套件基于统一架构和内核实现,主要包括 JindoFS 存储系统(原 JindoFS Block 模式),JindoFSx 存储加速系统(原 JindoFS Cache 模式),JindoSDK 大数据万能 SDK 和全面兼容的生态工具(JindoFuse、JindoDistCp)、插件支持。

JindoFS 存储系统

    基于阿里云 OSS 的云原生存储系统,二进制兼容 Apache HDFS,并且基本功能对齐,提供优化的 HDFS 使用和平迁体验。是原 JindoFS Block 模式的全新升级版本。 阿里云 OSS-HDFS 服务(JindoFS 服务) 是 JindoFS 存储系统在阿里云上的服务化部署形态,和阿里云 OSS 深度融合,开箱即用,无须在自建集群部署维护 JindoFS,免运维。

    OSS-HDFS 服务具体介绍请参考 OSS-HDFS服务概述 。

    JindoFSx 存储加速系统

    JindoFSx(JindoData服务)是原JindoFS Cache模式的全新升级版本,是面向大数据和AI生态的云原生数据湖存储加速系统,为大数据和AI应用访问各种云存储提供访问加速,支持数据缓存、元数据缓存和P2P加速等功能。JindoFSx支持管理多个后端存储系统,可以通过统一命名空间进行管理,也可以兼容各系统原生的访问协议,也支持为这些系统提供统一的权限管理。原生优化支持阿里云OSS和阿里云OSS-HDFS服务,同时也支持业界多云对象存储(例如,Amazon S3)、 Apache HDFS和NAS。

    生态支持和工具

  • JindoSDK 支持。面向云时代的大数据 Hadoop SDK 和 HDFS 接口支持,内置优化访问阿里云 OSS,较 Hadoop 社区版本性能大幅提升;同时对接支持 JindoFS 存储系统包括服务、JindoFSx 存储加速系统;支持多云对象存储。
  • JindoShell CLI 支持。JindoData 除了对接支持 Hadoop/HDFS shell 命令,同时提供一套 JindoShell CLI 命令,从功能、性能上大幅扩展和优化一些数据访问操作。
  • JindoFuse POSIX 支持。JindoData 为阿里云 OSS、JindoFS 存储系统和服务、JindoFSx 存储加速系统提供的 POSIX 支持。
  • JindoDistCp 数据迁移支持。IDC 机房数据(HDFS)上云迁移和多云迁移利器,支持多种存储数据迁移到阿里云 OSS 和 JindoFS 服务,使用上类似Hadoop DistCp。
  • JindoTable 支持。结合计算引擎的使用推出的一套解决方案,支持 Spark、Hive、Presto 等引擎,以及表格式数据的管理功能。
  • 生态插件。除了默认提供 JindoSDK 支持 Hadoop,另外还支持 Flink Connector 等插件。

说明:

      JindoFS存储模式(Block),将JindoFS的文件切分的Block的形式存放本地磁盘以及OSS上,用户通过OSS只能看到Block的数据,该模式非常依赖于本地的Namespace的文件系统,本地的Namespace服务负责管理元数据,通过本地元数据以及Block数据构建出文件数据。

     与Block模式不同的是,Cache模式将JindoFS文件以对象的形式存储在OSS上。该模式兼容现有的OSS文件系统,用户可以通过OSS访问原有的目录结构以及文件,同时该模式提供数据以及元数据的缓存,加速用户的读写数据的性能。

5 百度RapidFS

    百度尚未形成专门的数据加速套件,而是通过一系列工具或其他产品的功能实现一套高性能存储解决方案——由大容量、高吞吐、低成本的存储底座,和更快的运行时存储 PFS、RapidFS 组成。

    PFS是一个典型的并行文件系统,类似于业界的Lustre、GPFS,采用元数据和数据分离架构,物理网络可能是RDMA或高速 TCP。

      数据湖存储加速工具(Data Lake Accelerator,RapidFS)是一款高可靠、高可用、弹性的数据湖存储加速工具。依靠对象存储BOS 作为数据湖存储底座,为数据湖生态中的计算应用提供统一数据湖入口,加速大数据、机器学习、人工智能等业务访问存储的性能。

    RapidFS的定位是一个缓存加速系统,原理是将用户计算节点上的冗余资源,组织成一个小的 P2P 缓存来加速计算。

    RapidFS 加速的能力主要来自于两个方面:

  • 第一个加速效果来自层级命名空间(namespace)的缓存——做 BOS 命名空间的缓存。
  • 第二个加速效果来自数据缓存——针对于 BOS 上数据访问比较慢的问题,RapidFS 将比较热的数据缓存到用户提供的冗余内存和磁盘上面,这样等用户去访问的时候,访问路径很短。

    基于这两类运行时存储如何实心数据流转,通过两种机制来满足的:

    (1)RapidFS的生命周期机制:PFS可以通过生命周期的功能,把近期内不再使用的数据,自动地转移到对象存储里面,让用户能够把成本降下来,用户去访问的时候,PFS 又把数据自动地给加载回来。

    (2)RapidFS的Bucket Link机制:以数据入口在对象存储,将PFS的一个目录或者RapidFS的一个命名空间,和对象存储里面的一个路径做一个绑定,绑定后,PFS 和RapidFS可以自动地帮用户完成数据的加载,以及数据的预热。

     RapidFS后续将推出的Block模式,访问入口在 RapidFS,热数据缓存在计算节点本地,数据的持久化和冷数据由对象存储负责。

6 参考资料

https://github.com/qubole/rubix

Alluxio - Data Orchestration for the Cloud

https://github.com/Alluxio/alluxio

JuiceFS - Open Source Distributed POSIX File System for Cloud

https://github.com/juicedata/juicefs

https://github.com/aliyun/alibabacloud-jindodata

面向高性能计算场景的存储系统解决方案

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

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

相关文章

交流负载箱的特点和优势有哪些?

交流负载箱广泛应用于电力系统、新能源、轨道交通、航空航天等领域。它具有以下特点和优势: 1. 灵活性高:交流负载箱可以根据实际需求,调整输出电流、电压、功率等参数,以满足不同场景下的测试需求。同时,它还可以实现…

App自动化测试之Appium 环境搭建保姆级教程(全网最全)

前言 APP自动化测试运行环境比较复杂,稍微不注意安装就会失败。我见过不少朋友,装了1个星期,Appium 的运行环境还没有搭好的。 搭建环境本身不是一个有难度的工作,但是 Appium 安装过程中确实存在不少隐藏的比较深的坑&#xff…

低代码平台如何选型 盘点国内外主流低代码开发平台

随着数字化转型的加速,低代码开发平台作为一种新型软件开发方式,受到了广泛关注。国内低代码市场也呈现出蓬勃发展的态势,各种低代码平台如雨后春笋般涌现。本文将对国内低代码平台进行盘点,以帮助企业和开发者更好地了解市场情况…

strstr函数、chdir函数、access函数、strdup函数的介绍

1、strstr函数 strstr 是 C 语言中的一个字符串处理函数,用于在一个字符串中查找子字符串的第一次出现。 函数原型 char *strstr(const char *haystack, const char *needle); haystack:要在其中搜索的字符串。needle:要查找的子字符串。 函…

如何正确选择国外服务器的带宽和线路呢?

国外大带宽服务器是一种提供高带宽、高速网络连接和良好稳定性的服务器,但在中国使用这类服务器可能涉及到违反法律法规的风险。因此我无法为你提供相关帮助。接下来和源库一起了解如何正确选择国外服务器的带宽和线路呢? 考虑目标用户的地理位置。如果目标用户主要…

Facebook、亚马逊账号如何养号?

之前我们讨论过很多关于代理器的问题。它们的工作原理是什么?在不同的软件中要使用那些代理服务器?这些代理服务器之间的区别是什么?什么是反检测浏览器等等。 除了这些问题,相信很多人也会关心在使用不同平台的时代理器的选择问题。比如,为什么最好…

错误票据 刷题笔记

开数组 读入数据 记录最小值和最大值 每次读入x; 让a[x]; 从最小值开始 向上扫 当扫到a[x]0时候为断号 扫到a[x]>1为重号&#xff1b; 该题的小技巧 未知长度的数据的读入方式 1.首先在头文件敲上 #include<sstream> #include<string> #include<…

校园外卖创业中的信息差,了解这些创业不迷路

外卖已经成为大学生日常生活的重要组成部分&#xff0c;但大部分高校对外卖都有着严格的管理&#xff0c;外卖取餐不便、配送时间过长、拿错餐等问题频出&#xff0c;基于此校园外卖创业成了高校市场的热门项目。 本文就校园外卖创业中存在的信息差展开分析&#xff0c;帮你理…

window Zookeeper 启动;

文章目录 前言一、Zookeeper 介绍&#xff1a;二、window 使用&#xff1a;2.1 下载&#xff1a;2.2 启动2.3 连接&#xff1a; 总结 前言 本文对window Zookeeper zk 启动 进行介绍&#xff1b; 一、Zookeeper 介绍&#xff1a; ZooKeeper 是一个开源的分布式协调服务&#…

mac 下redis

安装 Redis brew install redis 安装完成后&#xff0c;我们可以使用以下命令来确认 Redis 是否正确安装&#xff1a; redis-cli ping 启动 Redis redis-server 后台启动 Redis&#xff0c;可以使用以下命令&#xff1a; redis-server --daemonize yes 指定配置文件启动…

MongoDB的count() 统计文档数量非常慢

在MongoDB中&#xff0c;count()函数用于统计文档的数量。但是count()函数通常不会使用索引来计算文档数量&#xff0c;而是扫描集合中的文档来计数。当数据量较大的时候&#xff0c;就不适合使用了。 解决方案&#xff1a; 1、使用聚合框架&#xff08;aggregation framewor…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:QRCode)

用于显示单个二维码的组件。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 二维码组件的像素点数量与内容有关&#xff0c;当组件尺寸过小时&#xff0c;可能出现无法展示内容的情况&#xff0c;…

【Java】关于ZooKeeper的原理以及一致性问题,协议和算法和ZooKeeper的理论知识和应用 场景

1. 目录 目录 1. 目录 2. 什么是ZooKeeper 3. 一致性问题 4. 一致性协议和算法 4.1. 2PC&#xff08;两阶段提交&#xff09; 4.2. 3PC&#xff08;三阶段提交&#xff09; 4.3. Paxos 算法 4.3.1. prepare 阶段 4.3.2. accept 阶段 4.3.3. paxos 算法的死循环…

【大厂AI课学习笔记NO.79】机器学习行业人才能力图谱

有从事机器学习行业的小伙伴&#xff0c;人才岗位如上了。 同样的&#xff0c;也是分为领军人才&#xff08;略&#xff09;、产业研发人才、应用开发人才和实用技能人才了。 机器学习领域的就业岗位分析 随着科技的飞速发展&#xff0c;人工智能已成为当今时代最热门的领域…

【2024泰迪杯】B 题:基于多模态特征融合的图像文本检索Python代码实现

【2024泰迪杯】B 题&#xff1a;基于多模态特征融合的图像文本检索Python代码实现 1 题目 2024 年&#xff08;第 12 届&#xff09;“泰迪杯”数据挖掘挑战赛—B 题&#xff1a;基于多模态特征融合的图像文本检索 一、问题背景 随着近年来智能终端设备和多媒体社交网络平台…

Java项目:47 ssm007亚盛汽车配件销售业绩管理统+jsp(含文档)

作者主页&#xff1a;源码空间codegym 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 亚盛汽车配件销售业绩管理系统根据调研&#xff0c;确定管理员管理客户&#xff0c;供应商&#xff0c;员工。 管理配件和配件的进货以及出售…

【基础计算机网络2】物理层——通信基础

【前言回顾】 【考纲内容】 一、物理层的基本概念 1.1 物理层的主要任务 物理层解决如何在连接各种计算机的传输媒体上传输数据比特流&#xff0c;而不是指具体的传输媒介。物理层的主要任务&#xff1a;确定与传输媒体接口有关的一些特性。 1.2 物理层的一些特性 机械特性…

2024年春招程序员个人简历范本(精选5篇|附模板)

HR浏览一份简历也就25秒左右,如果你连「好简历」都没有,怎么能找到好工作呢? 如果你不懂得如何在简历上展示自己,或者觉得怎么改简历都不出彩,那请你一定仔细读完。 Java开发工程师简历范本> 性别 男 年龄 24 学历 本科 张三 专业 计算机科学与技术 毕业院校 …

解释器模式

解释器模式&#xff08;Interpreter Pattern&#xff09;是一种行为型设计模式&#xff0c;它用于定义一种语言的文法&#xff0c;并提供一个解释器来解释该语言中的表达式。这个模式主要用于解决问题领域中存在的特定语言或表达式的解释和执行问题。它将一个问题分解成一系列的…

Vue:纯前端实现文件拖拽上传

先看一下拖拽相关的事件&#xff1a;dragover、dragenter drop和dragleave 。 dragover事件&#xff1a;当被拖动的元素在一个可放置目标上方时&#xff0c;该事件会被触发。 通常&#xff0c;我们会使用event.preventDefault()方法来取消浏览器默认的拖放行为&#xff0c;以便…