V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jinxueliu
V2EX  ›  数据库

存储大量的文件该选用哪种数据库?

  •  
  •   jinxueliu · 2016-08-31 17:53:57 +08:00 · 2221 次点击
    这是一个创建于 3007 天前的主题,其中的信息可能已经有所发展或是发生改变。

    存储大量的文件(每个文件 10Mb 左右)该选用哪种数据库?有哪些可选方案,优缺点是什么? 希望大家不吝赐教

    第 1 条附言  ·  2016-09-01 10:55:21 +08:00
    从大家的回答中受益匪浅,看来还是应该创建文件系统来存储这些文件
    22 条回复    2016-09-01 13:48:41 +08:00
    paulw54jrn
        1
    paulw54jrn  
       2016-08-31 17:56:17 +08:00
    如果用云的话就是存 S3(或对应的服务上), 然后 meta data 存数据库用于检索.

    自己搭的话可以 HDFS, 可以 NFS + RDBMS
    VeryEase
        2
    VeryEase  
       2016-08-31 18:01:07 +08:00
    二进制文件为什么要存数据库.... 如果真要这么做的话,可以考虑下 mongodb , 以前做过某款产品,开发版就是这么干的,后来放弃这种做法了。
    lhbc
        3
    lhbc  
       2016-08-31 18:04:48 +08:00 via Android
    身为程序员
    “大量”这种词就不应该说
    e8c47a0d
        4
    e8c47a0d  
       2016-08-31 19:14:53 +08:00
    为什么要存在数据库里……
    hanxiV2EX
        5
    hanxiV2EX  
       2016-08-31 19:21:47 +08:00 via iPhone
    存文件,数据库只存路径
    zhuangzhuang1988
        6
    zhuangzhuang1988  
       2016-08-31 20:18:41 +08:00
    @e8c47a0d 为什么不能存数据里面?!
    https://book.douban.com/subject/6800774/
    参见这个。。不过有好有坏。。。
    whatot
        7
    whatot  
       2016-08-31 20:32:12 +08:00
    在几乎所有情况下,都是应该减少数据库内部的数据量。
    你这样使用数据库完全就是在浪费数据库的能力。

    存文件还是用对象存储,元数据放数据库。
    htfy96
        8
    htfy96  
       2016-08-31 20:34:39 +08:00
    建议 GlusterFS 。 mongoDB 稳定性。。 https://news.ycombinator.com/item?id=9912842
    purrgil
        9
    purrgil  
       2016-08-31 20:45:15 +08:00
    什么叫大量?

    2T 硬盘就叫大数据?
    lcsoft
        10
    lcsoft  
       2016-08-31 21:03:04 +08:00
    很好奇,除了要索引文件内容做全文搜索,还有哪些原因需要把文件塞到数据库里?
    kingoldlucky
        11
    kingoldlucky  
       2016-08-31 21:11:26 +08:00
    对象存储 ~~ 文件和元数据分开放 现在大互联网公司都这么干 对于海量小文件也适用
    lianxiaoyi
        12
    lianxiaoyi  
       2016-08-31 21:15:51 +08:00 via Android
    这种东西毫不犹豫丢阿里云 oss 或者七牛啊!然后数据库装唯一标识!用数据库存储,你考虑过数据库带宽的感受没?
    tjxjj
        13
    tjxjj  
       2016-08-31 21:20:13 +08:00
    真和数据库压根没啥关系。数据库最多放个索引和元数据,核心还是你这些文件是否要考虑分库,分目录和带宽(如果经常要用的话,如果是图片还需要创建低分辨率的图片等等)
    Powered
        14
    Powered  
       2016-08-31 21:23:05 +08:00 via Android
    有目录的文件夹->自建分布式文件系统
    没有目录的单个文件->对象存储
    carmark
        15
    carmark  
       2016-08-31 21:32:31 +08:00
    msg7086
        16
    msg7086  
       2016-08-31 23:20:59 +08:00
    文件系统就是一个数据库。
    pubby
        17
    pubby  
       2016-08-31 23:24:56 +08:00 via Android
    @carmark 在用
    dsg001
        18
    dsg001  
       2016-09-01 10:04:49 +08:00
    几千万<100K 文件硬盘扛不住,压缩后扔到数据库
    jinxueliu
        19
    jinxueliu  
    OP
       2016-09-01 10:53:02 +08:00
    @lhbc @purrgil 可能我的表述有问题,重点是想解决文件分布式存储的问题,使得每个节点都能快速访问
    ooonme
        20
    ooonme  
       2016-09-01 12:31:51 +08:00 via iPhone
    @jinxueliu hdfs 太小的文件要做合并的
    lhbc
        21
    lhbc  
       2016-09-01 12:41:56 +08:00 via Android
    @jinxueliu 大量 是什么概念?
    十万级?百万级?千万级?亿级?
    每一个级别的技术差异是不一样的。
    没给具体的数量级,哪有什么方案可言。
    efurture
        22
    efurture  
       2016-09-01 13:48:41 +08:00
    文件系统,数据库存路径
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5547 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 118ms · UTC 08:32 · PVG 16:32 · LAX 00:32 · JFK 03:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.