Alluxio:用例

1.对象存储数据加速

       许多组织中,越来越流行的架构是利用对象存储作为数据分析应用程序(Spark、Presto、Hadoop)的重要数据源。对象存储可以是公共对象存储服务(如AWS S3、Azure blob存储、谷歌云存储、阿里云OSS或腾讯COS),也可以是内部对象存储(如Ceph或Swift)。
       虽然对象存储通常更划算、更易于伸缩和维护,但是它们不具有与文件系统相同的功能,即使提供了类似于文件系统的接口。一些缺失的功能包括:
1.缺少文件系统级的数据缓存:访问同一数据集的多个作业无法从缓存频繁访问的数据中获益。
2.计算上缺乏node级别的数据本地化:数据始终是远程读取的,并且从来不是计算任务的本地节点。
3.不同的性能影响:列出对象的操作可能很慢,特别是当桶中有很多对象时。重命名对象的操作也可能很慢,因为一致性保证较差。
4.吞吐量限制:存储系统(比如S3)会限制计算节点的吞吐量。
5.安全模型:对象存储通常使用不同于文件系统的安全模型。
       在这样的体系结构中,在计算端部署Alluxio(在计算端,数据被配置为从对象存储中持久存储)可以显著地使应用程序受益。Alluxio可以与不同的应用程序一起本地缓存数据,并管理相应的元数据,以避免对象存储的特定低效元数据操作。

2.计算集群赋能者

       出于性能、安全性或资源隔离等原因,公司维护独立于其主数据集群的计算集群,使用专用资源用于关键任务应用程序。这个 计算集群需要经常从主数据集群访问数据。这需要在作业执行期间远程读取数据,或者在作业执行之前运行ETL管道来预加载数据。
       Alluxio可以加速从主数据集群读取的远程数据,而不需要添加额外的ETL步骤。当部署到计算集群中的计算节点并配置为连接到主数据集群时,Alluxio充当一个本地数据代理层,它提供与主数据集群相同的名称空间。Alluxio将透明地将频繁访问的数据缓存到计算集群本地,以减少网络流量,降低主数据集群的总体负载。

3.公共数据访问层

       用户将Alluxio部署为公共数据访问请求的存储抽象层。Alluxio支持不同的存储连接器,包括公有云(AWS,Azure),以及私有存储服务(HDFS,Ceph)。只要应用程序与Alluxio集成,就可以访问不同的持久存储系统,而不需要在应用程序中更改二进制或源代码。

你可能感兴趣的:(Alluxio:用例)