大家好,又见面了,我是你们的朋友全栈君。
Alluxio介绍
Alluxio是什么?
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和阿里巴巴OSS)之间。Alluxio统一了存储在这些不同存储系统中的数据,为其上层数据驱动应用程序提供了统一的客户端API和全局名称空间。
它主要基于内存以文件的形式为上下游应用提供数据存取服务。
优势
Alluxio通过简化应用程序访问数据的方式,可以让用户专注于数据的应用而非考虑数据存储的格式或位置。其优点如下:
- 内存速度I/O:Alluxio可以用作分布式共享缓存服务,因此与Alluxio通信的计算应用程序可以透明地缓存频繁访问的数据,尤其是来自远程位置的数据,以提供内存I/O吞吐量。此外,Alluxio的分层存储可以同时利用内存和磁盘(SSD/HDD),使数据驱动应用程序的弹性扩展具有成本效益。
- 简化的云和对象存储采用:与传统文件系统相比,云和对象存储系统使用不同的语义,这对性能有影响。常见的文件系统操作(如目录列表和重命名)通常会带来巨大的性能开销。当访问云存储中的数据时,应用程序没有节点级别的位置或跨应用程序缓存。通过使用云或对象存储部署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管理应用程序与文件或对象存储之间的通信,无需复杂的系统配置和管理。文件数据可以看起来像对象数据,反之亦然。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/234892.html原文链接:https://javaforall.cn