dqh3000
V2EX  ›  问与答

求教, 1000 万个总计 30GB 的文件,单机存储,渴望随机读取速度快,怎么存比较好?

  •  
  •   dqh3000 · Mar 22, 2018 · 4502 views
    This topic created in 2979 days ago, the information mentioned may be changed or developed.

    用什么数据库或系统或?

    请教

    27 replies    2018-03-23 10:26:56 +08:00
    dqh3000
        1
    dqh3000  
    OP
       Mar 22, 2018
    可以认为是 1000 万个 json,但是并不需要查询内容

    可以接受 KV 感觉的读取,每个文件可以有 uuid
    binux
        2
    binux  
       Mar 22, 2018   ❤️ 2
    加 30G 内存
    dqh3000
        3
    dqh3000  
    OP
       Mar 22, 2018
    @binux 随机读写速度相对不会因为数据太多,性能下降太高就行
    msg7086
        4
    msg7086  
       Mar 22, 2018
    NVMe SSD + Reiser4 ?
    golmic
        5
    golmic  
       Mar 22, 2018 via Android
    不懂帮顶。希望知道答案
    murmur
        6
    murmur  
       Mar 22, 2018
    30g 随便买个 intel 的高速 ssd 就可以了啊
    Aug
        7
    Aug  
       Mar 22, 2018 via Android
    分布式?
    paranoiagu
        8
    paranoiagu  
       Mar 22, 2018 via Android
    这么多文件,参考 ccache 的存储方式。
    XSugar
        9
    XSugar  
       Mar 22, 2018 via iPhone
    文件按文件名划分区块?索引会不会好些
    vwhenx
        10
    vwhenx  
       Mar 22, 2018
    搞个 64G 内存,存内存里面
    mhycy
        11
    mhycy  
       Mar 22, 2018
    入库,瓶颈在文件系统
    shakoon
        12
    shakoon  
       Mar 22, 2018
    上世纪末本世纪初这样的数据库存储方式在大型机里可是主流的呢,好多银行在用,VSAM 了解一下 →_→
    Mutoo
        13
    Mutoo  
       Mar 22, 2018
    taobao 当初为了实现高性能小文件的读取,自己搞了一套 tfs,后来还做成分布式的。你可以了解一下
    https://github.com/alibaba/tfs
    tigiyj
        14
    tigiyj  
       Mar 22, 2018
    最近正好我这类问题同问,我是 4000 万文件,将近 500g,
    tigiyj
        15
    tigiyj  
       Mar 22, 2018
    最近正好遇到这类问题同问,我是 4000 万文件,将近 500g,
    jasontse
        16
    jasontse  
       Mar 22, 2018 via iPad
    加内存 buffer 或者 Optane
    dqh3000
        17
    dqh3000  
    OP
       Mar 22, 2018
    如果把所有文件都对齐到一个统一大小,算是拿空间换时间,不知道会不会好一点?

    换文件系统这件事儿实在是,并不容易……
    yqylovy
        18
    yqylovy  
       Mar 22, 2018
    可以考虑 rocksdb
    sunny352787
        19
    sunny352787  
       Mar 22, 2018
    我觉得还是扔库里先试试,常用的 redis、mongoDB,甚至 mysql 的读取性能其实应付一般的需求都可以,扔进去测试一下看看先,这么问没有统一答案的,而且随机读取可能没你想象的那么慢
    dqh3000
        20
    dqh3000  
    OP
       Mar 22, 2018
    @sunny352787

    现在在 Postgresql 里
    taobibi
        21
    taobibi  
       Mar 22, 2018
    SSD 组 RAID10,这样读取没问题,但是响应时间不太好说。
    natforum
        22
    natforum  
       Mar 22, 2018
    借楼问下 1300 多个文件 100g,怎么搞,原来想过 hadoop+hdfs,不知道可行性
    macfee
        23
    macfee  
       Mar 22, 2018
    tfs
    zts1993
        24
    zts1993  
       Mar 22, 2018
    kv 推荐 rocksdb - 具体到实现可以看看 pika
    msg7086
        25
    msg7086  
       Mar 23, 2018
    @natforum 简单点可以 GlusterFS。
    iyg429
        26
    iyg429  
       Mar 23, 2018 via iPhone
    @binux 拷贝速度快 和什么关系最大?硬盘和内存?
    leekafai
        27
    leekafai  
       Mar 23, 2018
    加内存,全部放到内存里面,要读就从内存去读,这样是最快的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3664 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 100ms · UTC 04:55 · PVG 12:55 · LAX 21:55 · JFK 00:55
    ♥ Do have faith in what you're doing.