HDFS存储大量小文件有什么问题?如何存储大量小文件?
WebGIS 解决方案
在地理信息系统中,为了方便传输,通常将数据切分为KB大小的文件存储在分布式文件系统中。
论文结合 WebGIS 数据的相关特征,将相邻地理位置的小文件合并成个大的文件,并为这些文件构建索引。
论文中将小于 16MB 的文件当作小文件进行合并处理,将其合并成 64MB 的 Block 并构建索引。
BlueSky 解决方案
BlueSky 是中国电子教学共享系统,主要存放的是教学所用的 PPT 文件和视频文件,存放的载体为 HDFS 分布式存储系统。
在用户上传 PPT 文件的同时,系统还会存储些文件的快照。用户请求 PPT 时可以先看到这些快照,以决定是否继续浏览。
用户对文件的请求具有很强的关联性。当用户浏览 PPT 时,其他相关的 PPT 和文件也会在短时间内被访问,因而文件的访问具有相关性和本地性。
TFS解决方案
TFS(Taobao File System)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的 Linux机器集群上,可为外部提供高可靠和高并发的存储访问。
TFS为淘宝提供海量小文件存储,通常文件大小不超过1MB, 满足了淘宝对小文件存储的需求, 被广泛应用在淘宝的各项应用中。
它采用了HA架构和平滑扩容, 保证了整个文件系统的可用性和扩展性。
同时扁平化的数据组织结构可将文件名映射到文件的物理地址,简化了文件的访问流程,一定程度上为TFS提供了良好的读/写性能。