刘嘉承:从设计、实现和优化角度浅谈Alluxio元数据同步
导读:今天分享的刘嘉题目是Alluxio元数据和数据的同步 ,从设计实现和优化的设计实现角度进行讨论 。主要包括以下几个方面的和优化角内容 :
- Alluxio简介
- Alluxio的数据挂载
- Alluxio和底层存储的一致性
- Alluxio和UFS的元数据/数据同步
- 元数据同步的实现原理和优化
- 对不同场景的推荐配置
01
Alluxio简介
Alluxio是云原生的数据编排平台 ,通过解耦计算和存储层 ,度浅在中间产生了一个数据编排层,元数负责对上层计算应用隐藏底层的据同时间细节 。Alluxio提供了统一的刘嘉存储命名空间,在中间层提供了缓存和其他数据管理功能 。设计实现在下图可以看到有Spark 、和优化角Hive 、度浅Map reduce这一类传统的元数Hadoop大数据计算应用 、Presto 这种OLAP类型的据同数据分析,还有像Tensorflow 、刘嘉Pytorch这样的设计实现AI应用。存储层比较丰富,和优化角包括各种各样的存储。
图1 Alluxio简介
下面是Alluxio用户列表,这些公司都公开展示了Alluxio的使用场景。通过粗略分类 ,看到非常多的行业 ,包括互联网、金融、电子商务、娱乐 、电信等 。感兴趣的同学可以关注公众号,上面有相关文章的汇总。
图2 Alluxio的用户展示
--
02
Alluxio数据挂载
这部分将首先回顾Alluxio如何通过数据挂载实现统一编排层;之后讨论Alluxio如何和底层存储保持一致;介绍元数据和数据同步功能;Alluxio的时间原理和优化;最后对不同场景的推荐配置给出建议。
1. Alluxio统一的数据命名空间
首先介绍数据挂载这个功能 。Alluxio通过把底层存储挂载到Alluxio层上,实现了统一的数据命名空间 。
图3 Alluxio统一命名空间
上图的例子中Alluxio挂载了HDFS和对象存储。Alluxio的文件系统树就是由左右两棵树合成,形成了一个虚拟文件系统的文件系统树 。它可以支持非常多的底层存储系统,统一把它们称作Under File System。称为Under是因为它们都处于Alluxio的抽象层下。Alluxio支持各种各样不同的底层存储系统,比如不同版本的HDFS,支持NFS, Ceph, Amazon S3, Google Cloud之类不同的对象存储。除此之外还支持非常多其他类型的对象存储 ,比如微软Azure 、阿里、华为、腾讯,也包括国内其他供应商 ,如七牛对象存储 。左下图中的例子是在自己的电脑上运行Alluxio ,可以挂载不同的存储,比如挂载HDFS,另外还可以挂载不同版本的HDFS,挂载对象存储,挂载网盘。
2. Alluxio挂载点
Alluxio的统一命名空间 ,实际就是把挂载合成了一个Alluxio的虚拟层。Alluxio的挂载点可以粗略分成两种:
- 根挂载点
- 嵌套挂载点