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