上周末有幸参加了Alluxio(之前也叫Tachyon),七牛云和示说网举办的Alluxio上海Meetup,之前我并没有在真实应用场景中使用过Alluxio,对其适用的应用场景一直报怀疑态度。自信聆听其创始人的演讲之后,感觉这个项目还挺有意思,对Alluxio简单总结一下:
DAL(数据访问层)
Alluxio DAL
Alluxio提供了各种文件访问API,包括兼容HDFS的API,Alluxio特有的数据访问API,Rest API和FUSE API,特别是FUSE API,支持POSIX标准的文件访问接口,让很多单机版的程序(如TensorFlow),可以享受大数据和云端的数据存取。不过它并不支持随机的文件写访问,想想也合理,毕竟底层文件存储系统可能是HDFS或者S3;
统一数据访问
依然如上图,Alluxio底层的存储系统可以是亚马逊的S3,Google的存储,阿里云OSS,也可以是HDFS,甚至是单机的SAS,NFS。让这些文件系统都可以无缝与现有的大数据平台(通过HDFS Compatible API),或者单机版软件(通过FUSE API)完全兼容。
透明的文件缓存抽象
高效访问数据的时候,如何做好文件缓存,其实对应应用程序开发者而言,有时候出于性能的考虑是非常重要的,Alluxio提供了透明的缓存方案,让内存(DR