|  |      1v2ex_user001      2014-06-30 13:33:37 +08:00 据说淘宝商品detail页的描述是存在TFS上的 | 
|      2wudikua OP @v2ex_user001 so.... | 
|  |      3rrfeng      2014-06-30 14:10:11 +08:00 『比我按照文件名hash放在多级目录里存文件有提升么』 TFS 不是就是为了解决海量文件存储效率的问题么? 千万级/亿级的小文件直接存到硬盘上,一般的文件系统都吃不消的。特别是当高并发读取的时候…… | 
|  |      4chenha0      2014-06-30 14:30:18 +08:00 首先你要确定你的业务对分布式文件系统有需求。。。单机能搞定的当然就用不着了 | 
|      5wudikua OP @rrfeng 为什么吃不消,TFS还不是一样是把上亿小文件存在文件系统里。只不过通过一个namenode定位block所在的datanode,通过index定位fieldid到最终的文件。 | 
|  |      6passluo      2014-06-30 14:43:15 +08:00 研究得好高级啊 | 
|  |      7incompatible      2014-06-30 14:48:03 +08:00 @wudikua 注意3楼最后一句  “高并发” | 
|  |      8rrfeng      2014-06-30 15:00:05 +08:00 @wudikua  你没读仔细吧,存储方式是合并存储的,block 固定大小,n 个小文件会被连续的写入 1 个 block 里。 文件的 ID (namenode 里储存的)包含了存储位置信息:datanodeID,blockID,fileID 等等。 文件还是直接存储在文件系统上没错,但是大量的减少了文件系统的 inode(假设有的话)使用量。 我记得新版已经可以切分大文件到小的 block 了…… | 
|  |      11c4pt0r      2014-06-30 17:26:23 +08:00 减少文件IO 参考Facebook的HayStack的设计 http://static.usenix.org/legacy/events/osdi10/tech/full_papers/Beaver.pdf |