前言
Ozone作为又一个全新的存储系统,它在底层存储结构上和HDFS有着不小的区别,用户往Ozone内读写数据的方式也有所不同。不过为了兼容目前Hadoop FileSystem的读写,Ozone实现了一个叫做OzoneFileSystem的功能。通过使用OzoneFileSystem,用户能够使用往常Hadoop FileSystem的通用接口进行Ozone内对象数据的读写。不过OzoneFileSystem的做法只是在Ozone读写外层包装处理了下,核心本质还是在读写基于K-V存储的Ozone对象数据。在某些例如rename,list,delete等等这些操作上需要进行整个db的scan,效率显然不会太高。基于OzoneFileSystem实现的操作效率问题,Ozone社区设计提出了全新的按照文件原生结构的FileSystem namespace的metadata结构。它能有效的解决现有OzoneFileSystem实现上的不足之处。