前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式存储:alluxio简介

分布式存储:alluxio简介

作者头像
Freedom123
发布2024-03-29 16:11:13
1760
发布2024-03-29 16:11:13
举报
文章被收录于专栏:DevOpsDevOps

简介

Alluxio 是世界上第一个面向基于云的数据分析和人工智能的开源的 数据编排技术 。 它为数据驱动型应用和存储系统构建了桥梁, 将数据从存储层移动到距离数据驱动型应用更近的位置从而能够更容易被访问。 这还使得应用程序能够通过一个公共接口连接到许多存储系统。 Alluxio内存至上的层次化架构使得数据的访问速度能比现有方案快几个数量级。

在大数据生态系统中,Alluxio 位于数据驱动框架或应用(如 Apache Spark、Presto、Tensorflow、Apache HBase、Apache Hive 或 Apache Flink)和各种持久化存储系统(如 Amazon S3、Google Cloud Storage、OpenStack Swift、HDFS、GlusterFS、IBM Cleversafe、EMC ECS、Ceph、NFS 、Minio和 Alibaba OSS)之间。 Alluxio 统一了存储在这些不同存储系统中的数据,为其上层数据驱动型应用提供统一的客户端 API 和全局命名空间。

Alluxio 项目源自 UC Berkeley 的 AMPLab (见 论文 ),在伯克利数据分析栈 (Berkeley Data Analytics Stack, BDAS ) 中扮演数据访问层的角色。 它以 Apache License 2.0 协议的方式开源。 Alluxio 是发展最快的开源大数据项目之一,已经吸引了超过 300 个组织机构的 1000多名贡献者 参与到 Alluxio 的开发中,包括 阿里巴巴 Alluxio 百度 CMU Google IBM Intel 南京大学 Red Hat 腾讯 UC Berkeley 、 和 Yahoo 。 到今天为止,Alluxio 已经在 数百家机构 的生产中进行了部署,最大部署运行的集群规模超过 1500 个节点。

优势

通过简化应用程序访问其数据的方式(无论数据是什么格式或位置),Alluxio 能够帮助克服从数据中提取信息所面临的困难。Alluxio 的优势包括:

  • 内存速度 I/O :Alluxio 能够用作分布式共享缓存服务,这样与 Alluxio 通信的计算应用程序可以透明地缓存频繁访问的数据(尤其是从远程位置),以提供内存级 I/O 吞吐率。此外,Alluxio的层次化存储机制能够充分利用内存、固态硬盘或者磁盘,降低具有弹性扩张特性的数据驱动型应用的成本开销。
  • 简化云存储和对象存储接入 :与传统文件系统相比,云存储系统和对象存储系统使用不同的语义,这些语义对性能的影响也不同于传统文件系统。在云存储和对象存储系统上进行常见的文件系统操作(如列出目录和重命名)通常会导致显著的性能开销。当访问云存储中的数据时,应用程序没有节点级数据本地性或跨应用程序缓存。将 Alluxio 与云存储或对象存储一起部署可以缓解这些问题,因为这样将从 Alluxio 中检索读取数据,而不是从底层云存储或对象存储中检索读取。
  • 简化数据管理 :Alluxio 提供对多数据源的单点访问。除了连接不同类型的数据源之外,Alluxio 还允许用户同时连接同一存储系统的不同版本,如多个版本的 HDFS,并且无需复杂的系统配置和管理。
  • 应用程序部署简易 :Alluxio 管理应用程序和文件或对象存储之间的通信,将应用程序的数据访问请求转换为底层存储接口的请求。Alluxio 与 Hadoop 生态系统兼容,现有的数据分析应用程序,如 Spark 和 MapReduce 程序,无需更改任何代码就能在 Alluxio 上运行。

技术创新

Alluxio 将三个关键领域的创新结合在一起,提供了一套独特的功能。

  • 全局命名空间 :Alluxio 能够对多个独立存储系统提供单点访问,无论这些存储系统的物理位置在何处。这提供了所有数据源的统一视图和应用程序的标准接口。有关详细信息,请参阅 统一命名空间文档
  • 智能多层级缓存 :Alluxio 集群能够充当底层存储系统中数据的读写缓存。可配置自动优化数据放置策略,以实现跨内存和磁盘(SSD/HDD)的性能和可靠性。缓存对用户是透明的,使用缓冲来保持与持久存储的一致性。有关详细信息,请参阅 缓存功能文档
  • 服务器端 API 翻译转换 :Alluxio支持工业界场景的API接口,例如HDFS API, S3 API, FUSE API, REST API。它能够透明地从标准客户端接口转换到任何存储接口。Alluxio 负责管理应用程序和文件或对象存储之间的通信,从而消除了对复杂系统进行配置和管理的需求。文件数据可以看起来像对象数据,反之亦然。

应用场景

世界上许多头部企业都在生产中部署Alluxio,以从数据中获取价值。我们在Powered-By页面中列出了部分企业。下面我们将介绍一些最常见的 Alluxio 应用场景。

1. 应用场景1:加速云上分析和AI 作业

许多企业都在公有云(AWS S3、Google Cloud 或 Microsoft Azure)对象存储上运行分析和机器学习负载(Spark、Presto、Hive、Tensorflow 等)。 虽然云对象存储通常性价比更高,易于使用和扩展,但也存在一些挑战:

  • 性能不稳定,难以实现SLA一致
  • 元数据操作昂贵,拖慢负载运行
  • 自带缓存对于短暂运行的集群无效

Alluxio 通过提供智能多级缓存和元数据管理来解决这些挑战。在计算集群上部署 Alluxio 有助于:

  • 实现分析引擎的性能稳定
  • 降低AI训练时间和成本
  • 去除重复存储带来的成本
  • 对于短暂运行的工作负载实现集群外缓存

本应用场景案例参见Electronic Arts(美国艺电)。

2. 应用场景2:加速本地对象存储的分析和AI作业

在本地部署的对象存储上运行数据驱动型应用会带来以下挑战:

  • 分析和AI负载性能差
  • 缺乏对主流框架的原生支持
  • 元数据操作成本高昂且性能低下

Alluxio 通过提供缓存和 API 转换功能来解决这些问题。在应用端部署 Alluxio 带来以下益处:

  • 分析和AI负载性能提升
  • 可灵活实现存储隔离
  • 支持多个API,不影响终端用户体验
  • 降低总存储成本

本应用场景案例参见DBS(新加坡星展银行)。

3. 应用场景3:”零拷贝”混合云迁移

随着越来越多的企业迁移上云,其中一种常见的过渡做法是利用云上的计算资源,同时从本地数据源读取数据。但是,这种混合架构带来了下列问题:

  • 远程读取数据速度慢且不稳定
  • 将数据拷贝到云存储耗时,复杂且易出错
  • 合规性和数据主权相关规定不允许将数据拷贝上云

Alluxio提供”零拷贝”上云功能,使得云上的计算引擎能够访问本地数据,而无需持久化的数据复制或定期同步。这一功能可带来以下益处:

  • 性能等同于数据位于云计算集群上
  • 不影响终端用户体验和安全模式
  • 普通数据访问层采用基于访问和策略的数据移动
  • 可利用弹性云计算资源,降低成本

本应用场景案例参见Walmart(沃尔玛)。

4. 应用场景4:云上数据的混合云存储网关

另一种混合云架构是从私有数据中心访问云存储。使用这种架构通常会导致以下问题:

  • 没有云存储和本地存储的统一视图
  • 网络流量成本过高
  • 无法使用本地计算引擎访问云上数据
  • 运行分析和AI作业时性能不佳

Alluxio 作为混合云存储网关,可利用本地计算处理云上数据, 从而解决这些问题。当Alluxio与本地计算一同部署时,Alluxio可管理计算集群的存储并将应用所需数据本地化,从而实现:

  • 通过智能分布式缓存提高读写性能
  • 减少数据复制,从而节约网络成本
  • 提供灵活API接口和云存储安全模式,不影响终端用户体验

本应用场景案例参见Comcast(康卡斯特)。

5. 应用场景5:支持跨数据中心的数据访问

许多企业出于性能、安全或资源隔离的目的,建立了独立于主数据集群的卫星计算集群。由于这些卫星集群需要通过主集群远程访问数据,有一定难度,这是因为:

  • 跨数据中心的副本需要手动操作,非常耗时
  • 数据拷贝导致不必要的高昂网络成本
  • 在过载的存储集群上进行复制作业严重影响现有负载的性能

Alluxio 可以作为一个数据逻辑副本,部署在卫星集群中的计算节点上,并配置为连接到主数据集群,因此:

  • 无需跨数据中心维护冗余的副本
  • 减少复杂的数据同步
  • 与远程访问数据相比实现性能提升
  • 实现跨业务部门的自主数据架构

其他

参考:https://www.alluxio.com.cn/quickstart/overview/

https://www.alluxio.com.cn/quickstart/use-cases/

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 优势
  • 技术创新
  • 应用场景
    • 1. 应用场景1:加速云上分析和AI 作业
      • 2. 应用场景2:加速本地对象存储的分析和AI作业
        • 3. 应用场景3:”零拷贝”混合云迁移
          • 4. 应用场景4:云上数据的混合云存储网关
            • 5. 应用场景5:支持跨数据中心的数据访问
            • 其他
            相关产品与服务
            对象存储
            对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
            http://www.vxiaotou.com