请教用于存储大量小文件的方案
我的情况是要存储大量10K到10M的文件,总大小7T,以后还要不断增加,也会删除一些文件,我想到的最简单的办法就是直接存在Windows NTFS文件系统里,这样会有什么缺点?
总觉得存这么多的小文件不好,然后,我想到了利用lucene,不做索引,只存储,利用lucene的段合并功能,把文件合并在一起,lucene还会帮我压缩数据,但这样明显会增加至少10几倍的磁盘读写,而且lucene有缓存机制,万一出了什么差池,缓存flush到磁盘时失败了,那不是会造成数据不一致了吗?那我还要做这些善后工作。。。
然后,听说hadoop的分布式文件系统有多强大,为了这,我又大概看了一下hadoop,但发现hadoop最终存的还是一个一个的文件,而且就是原文,那还不如直接NTFS了,我还没深入了解hadoop,不知道hadoop能不能把大量小文件放在一个大的容器里处理?但我又有个疑问,hadoop最终存的还是一个一个的文件,但一个目录里的文件数量是有限制的,达到上限后,我们、hadoop要怎么做?