随着存储系统和存储格式的组合日益多样化,不同计算框架访问存储系统的复杂性不断增加,数据层的创新迫在眉睫,这也正是Alluxio创立的初衷。Alluxio提供的方案使用以内存为中心的架构,将底层持久化存储系统中的文件和对象抽象化,为计算应用程序提供共享的数据访问层。
Alluxio本身并非持久化存储系统,而是位于持久化存储系统和计算框架之间的数据访问层,在技术栈中部署这一层可提供诸多优势。
架构
对于用户应用和计算框架而言,Alluxio可提供快速存储并促进作业(无论是否在同一计算引 擎上运行)之间的数据共享和本地性。
就存储而言,Alluxio将大数据应用和传统的存储系统连接起来,因此扩充了能够访问和利用 数据的可用工作负载集。
Alluxio集群组件
在较高的逻辑层面上,Alluxio包含三个组件:master、worker和client。 master 和 worker通常由系统管理员维护和管理, 构成了Alluxio服务端。而应用程序(如 Spark 或 MapReduce 作业、Alluxio命令行或 FUSE 层)通过client与Alluxio服务端进行交互。
数据流
典型配置下,Alluxio在常规读和写场景的行为:Alluxio与计算框架和应 用程序并置部署,而底层存储一般是远端存储集群或云存储。
读操作:Alluxio位于存储和计算框架之间,可以作为数据读取的缓存层。
写操作:用户可以通过选择不同的写入类型来配置不同的写入性能。用户可以通过Alluxio API或在 client中配置属性 alluxio.user.file.writetype.default 来设置写入类型。
立即点击下载白皮书,了解更多精彩内容。