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

news2024/7/6 20:47:48

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

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.coloradmin.cn/o/1508200.html

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

相关文章

编译支持国密的抓包工具 WireShark

目录 前言WireShark支持国密的 WireShark小结前言 在上一篇文章支持国密的 Web 服务器中,我们搭建了支持国密的 Web 服务器,但是,我们使用 360 安全浏览器去访问,却出现了错误: 是我们的 Web 服务器没有配置好?在这里插入图片描述还是 360 安全浏览器不支持国密?还是两…

pycharm手动安装常用插件

下载插件 (1)下载地址:JetBrains Marketplace 这里以语言包为例子 2、中文语言包 进入pycharm中的设置,点击plugins,选从磁盘中安装插件

分享axios+signalr简单封装示例

Ajax Axios Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。 从浏览器创建 XMLHttpReque…

最新基于R语言lavaan结构方程模型(SEM)技术

原文链接:最新基于R语言lavaan结构方程模型(SEM)技术https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247596681&idx4&sn08753dd4d3e7bc492d750c0f06bba1b2&chksmfa823b6ecdf5b278ca0b94213391b5a222d1776743609cd3d14…

ChatGPT等AI使用的过程苦笑不得瞬间

引言: 在人工智能的浪潮中,我们见证了技术的飞速发展和智能应用的广泛渗透。特别是随着语言模型的进步,AI如ChatGPT、文心一言、通义千问、讯飞星火等已经成为人们日常生活和工作中不可或缺的助手。然而,与任何新兴技术一样&#…

在云端构建和部署工作负载的最佳方式是怎样的?

如果要问当今企业希望从云计算中获得什么,那么 “低延迟” 以及 “更接近客户” 可能会是很多企业的首要目标。低延迟可以带来诸多好处,如提升用户满意度、增加竞争优势、降低运营成本等;更接近客户则有助于降低网络拥塞、减少数据丢失、符合…

【算法】一类支持向量机OC-SVM

【算法】一类支持向量机OC-SVM 前言一类支持向量机OC-SVM 概念介绍示例编写数据集创建实现一类支持向量机OC-SVM完整的示例输出 前言 由于之前毕设期间主要的工具就是支持向量机,从基础的回归和分类到后来的优化,在接触到支持向量机还有一类支持向量机的…

可免费使用的AI平台汇总 + 常用赋能科研的AI工具推荐

赋能科研,AI工具助你飞跃学术巅峰!(推荐收藏) 文章目录 赋能科研,AI工具助你飞跃学术巅峰!(推荐收藏)一、可免费使用的AI平台汇总1. ChatGPT2. New Bing3. Slack4. POE5. Vercel6. 其他平台7. 特定功能平台8. 学术资源平台9. 中文…

Linux学习——线程的控制

目录 ​编辑 一,线程的创建 二,线程的退出 1,在子线程内return 2,使用pthread_exit(void*) 三,线程等待 四,线程获取自己的id值 五,线程取消 六,线程分离 一,线程的创建 在对…

MySQL常见的索引类型介绍

我将为您详细讲解 MySQL 中常见的索引类型,以及它们的使用场景、特点、区别和优势。索引是提高数据库查询性能的关键工具,它可以加速数据检索速度,减少服务器的负担。在 MySQL 中,索引类型主要包括 B-Tree 索引、哈希索引、全文索…

025—pandas 根多列判断不在其他列的数据

思路 是有两个相同结构的数据表,已知第二个表是第一个表的部分数据,需要以其中两列为单位,判断在第一个表中存在,在另外一个表中不存在的数据。 思路: 我们先将 df1 和 df2 的 x、y 列取出,组合为元组形成…

深入探索HAProxy:高性能负载均衡器的奥秘

目录 引言 一、HAProxy基础知识 (一)HAProxy概述 (二)核心特性 (三)支持调度算法 二、安装haproxy (一)下载源码包 (二)解决依赖环境 (三…

教你实现微信公众号消息每日自动推送-俘获妹子芳心

教你实现微信公众号消息每日自动推送-俘获妹子芳心,我们使用的是github的这个库。链接:https://github.com/limoest/daily_reminder 。作者的仓库已经有足够详细的教程。本文主要描述搭我自己的建过程,帮助更多小白一步一步搭建实现~ 首先要fork该项目 申请微信接口公众测试…

高端竞赛活动,财会知识竞赛复赛方案

复赛环节共计有48名选手参与,随机分为2组,每组24名选手,经过与预赛环节相同的关卡及赛制,即每组选手皆通过两轮关卡赛一轮复活赛,每组角逐12名选手晋级。2组共计24名选手晋级决赛,而未进入决赛的选手则获得…

分享软件项目实施方案模板

本项目在实施过程中将遵守做到以下几个方面: 与建设单位共同完成整个系统软件、网络等设计,负责系统的开发、测试、调试、人员培训、系统的试运行和交付,并保证系统质量。负责系统的维护、应用软件的升级和更新。提出对系统硬件设备的相关技术要求。在项…

redis源码分析

是什么 是基于内存(而不是磁盘)的kv(而不是关系型mysql那种)数据库,通过空间换时间 源码分析 跳表skiplist 假设你有个有序链表,你想看某个特定的值是否出现在这个链表中,那你是不是只能遍历一次链表才能知道,时间复杂度为O(n…

JavaEE--SpringBoot配置⽂件

配置文件的基本概念 properties的语法格式 读取配置文件的内容 properties的缺点 yml 主要使用yml yml的文件格式 先举一个例子,简单了解一下 验证结果如下: yml读取配置文件的内容 配置文件内容为空的时候的情况 配置内容为null时的情况 配置…

算法项目(7)—— 文本检索图片

本文包含什么? 免环境配置,实现文本搜索图片全套代码以及代码介绍运行有问题? csdn上后台随时售后.项目说明 本文主要实现用文本搜索数据库中图片的功能. 项目运行 代码地址在文末 点击链接后选择T4的GPU: 将云盘中的代码文件clip_search.tar拖到下图位置上传代码: 执行…

OD_2024_C卷_200分_9、园区参观路径【JAVA】【动态规划】

package odjava;import java.util.Scanner;public class 九_园区参观路径 {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt(); // 长 -> 行数int m sc.nextInt(); // 宽 -> 列数int[][] matrix new int[n][m]; // 地图…

RK3568 xhci主控挂死问题

串口日志 rootjenet:~# [18694.115430] xhci-hcd xhci-hcd.1.auto: xHCI host not responding to stop endpoint command. [18694.125667] xhci-hcd xhci-hcd.1.auto: xHCI host controller not responding, assume dead [18694.125977] xhci-hcd xhci-hcd.1.auto: HC died; c…