使用Alluxio加速基于Ceph对象存储的数据分析

1.介绍

随着企业收集的数据量的不断增长,人们迫切需要找到高效的存储解决方案。由于简单性,可扩展性和具有成本效益,对象存储(包括Ceph)已经越来越成为传统文件系统的常用替代方案。在大多数情况下,对象存储系统采用内部部署或在云中部署,与进行分析的计算节点相互分离。这种分离有几点好处。

提高成本效益——存储容量和计算能力可以单独配置。这样做简化了容量规划,并确保能够更好地利用资源。

易于管理——将数据与计算分离意味着单个存储平台可被不同的计算集群所共享。例如,一个运行着长时间服务的集群将数据发送到对象存储,可以和数据处理集群一起运行,从而挖掘出一些价值。

使用Alluxio加速基于Ceph对象存储的数据分析

然而,这种架构的后果是数据远离计算节点。当直接在对象存储上进行分析时,会从存储节点反复提取数据,从而导致性能下降。这种延迟可能会妨碍一些关键的数据价值被及时提取。

在计算节点上部署Alluxio可以解决这一问题。通过智能地存储与计算密切相关的活动归档数据,将性能提升至内存级速度,从而实现对数据热点的快速分析。

2.示例架构

使用Alluxio加速基于Ceph对象存储的数据分析

3.为什么选择Alluxio

Alluxio是一个能达到内存级速度的虚拟分布式文件系统。它驻留在计算节点上,并按照集群的规模进行扩展。Alluxio管理内存中的数据,并且选择性地管理辅助存储层的数据,例如便宜的SSD和HDD,从而获得额外的容量。通过将热数据保存在计算节点的内存中,并在任意辅助层之间无缝地迁移数据,Alluxio在大多数情况下可以实现以内存速度访问远程数据。这种加速是热点数据分析的一个关键推动者。

Alluxio还能在不同的计算框架之间以及同一框架内的不同作业之间共享数据。无论上层使用的是何种计算引擎,计算集群的所有用户都可以在本地获取数据并重复访问。因此,计算节点上数据的生命周期与访问它的作业或框架是分离的。通过数据共享,Alluxio可确保内存中不存在冗余的数据副本,从而降低了容量需求和成本。

应用程序利用Alluxio的简单性和灵活性持续访问数据,就像是运行在运程对象存储上一样。任何需要持久化的结果或转换都可以由Alluxio通过配置同步地将更改传播到底层对象存储系统中来完成。这样确保了没有数据丢失从而易于管理。此外,用户可以选择仅在Alluxio内存中存储临时数据或中间数据,从而允许以内存速度写入。

4.结论

计算资源与对象存储的分离提供了一个具有成本效益的解决方案。通过在进行分析的节点上运行Alluxio,远程对象存储的主要限制被消除了。Alluxio的设计使其成为发掘计算和存储分离架构的性能潜力的数据分析栈的关键组件。

如果您有兴趣学习如何使用Alluxio从远程对象存储中及时获取数据价值,请下载我们的白皮书,白皮书详细说明了如何使用Alluxio和Spark以及Ceph对象存储集群来配置和使用一个计算集群。


分享到:


相關文章: