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