V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wudikua
V2EX  ›  程序员

淘宝的 TFS 读了一遍简介,求指教

  •  
  •   wudikua · 2014-06-30 13:32:18 +08:00 · 3818 次点击
    这是一个创建于 3599 天前的主题,其中的信息可能已经有所发展或是发生改变。
    刚刚读了一下TFS的简介,这个东西除了能冗余备份,方便扩容以外在性能上比我按照文件名hash放在多级目录里存文件有提升么?
    http://code.taobao.org/p/tfs/wiki/intro/
    12 条回复    2014-06-30 18:33:37 +08:00
    v2ex_user001
        1
    v2ex_user001  
       2014-06-30 13:33:37 +08:00
    据说淘宝商品detail页的描述是存在TFS上的
    wudikua
        2
    wudikua  
    OP
       2014-06-30 14:01:37 +08:00
    @v2ex_user001 so....
    rrfeng
        3
    rrfeng  
       2014-06-30 14:10:11 +08:00
    『比我按照文件名hash放在多级目录里存文件有提升么』

    TFS 不是就是为了解决海量文件存储效率的问题么?

    千万级/亿级的小文件直接存到硬盘上,一般的文件系统都吃不消的。特别是当高并发读取的时候……
    chenha0
        4
    chenha0  
       2014-06-30 14:30:18 +08:00
    首先你要确定你的业务对分布式文件系统有需求。。。单机能搞定的当然就用不着了
    wudikua
        5
    wudikua  
    OP
       2014-06-30 14:36:14 +08:00
    @rrfeng 为什么吃不消,TFS还不是一样是把上亿小文件存在文件系统里。只不过通过一个namenode定位block所在的datanode,通过index定位fieldid到最终的文件。
    passluo
        6
    passluo  
       2014-06-30 14:43:15 +08:00
    研究得好高级啊
    incompatible
        7
    incompatible  
       2014-06-30 14:48:03 +08:00
    @wudikua 注意3楼最后一句 “高并发”
    rrfeng
        8
    rrfeng  
       2014-06-30 15:00:05 +08:00
    @wudikua
    你没读仔细吧,存储方式是合并存储的,block 固定大小,n 个小文件会被连续的写入 1 个 block 里。
    文件的 ID (namenode 里储存的)包含了存储位置信息:datanodeID,blockID,fileID 等等。

    文件还是直接存储在文件系统上没错,但是大量的减少了文件系统的 inode(假设有的话)使用量。

    我记得新版已经可以切分大文件到小的 block 了……
    wudikua
        9
    wudikua  
    OP
       2014-06-30 15:26:59 +08:00
    @passluo 别黑我,闲来无事,随意看看广告而已。
    wudikua
        10
    wudikua  
    OP
       2014-06-30 15:47:18 +08:00
    @rrfeng 哦,还以为他说的合并是在namenode上逻辑上的合并。
    c4pt0r
        11
    c4pt0r  
       2014-06-30 17:26:23 +08:00
    Lax
        12
    Lax  
       2014-06-30 18:33:37 +08:00
    @wudikua “为什么吃不消,TFS还不是一样是把上亿小文件存在文件系统里。” --- 不是的。
    8楼已经有初步的介绍,更详细的原理还可以继续看看源码。现在的海量小文件基本都是这个思路。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1356 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:39 · PVG 01:39 · LAX 10:39 · JFK 13:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.