看需求,MongoDB 是挺适合(就是吃硬盘比较猛),
不求特别快的速度,且文件名可快检索(重名率低) hadoop 的 hdfs 也可以,直接按路径信息+文件名 存下,取的时候也一样。
至少它们都可以集群化扩展,hadoop 也是需要一些学习成本。
再者,可以参考图片型网站的存储方式:文档(html) 按目录保存成文件,路径信息保存在 DB 里 (mysql 就行)。文件可以保存在 带冗余的 ZFS / btrfs 等支持 snapshot 的高级文件系统,或者更高级的专业存储设备里。
这样,你再备份就相对简单很多了,db 的路径信息相对就小的多,
文件嘛,有了快照,就可以机器空闲时间把快照版本的文件 rsync 之类工具传输到专用备份设备上去。
习惯了 SQL 的话,PostgreSQL 也可以考虑,它字符串类型可以支持到 1GB 大小(你一个文档有这么大么?):
"In any case, the longest possible character string that can be stored is about 1 GB. "
来源:
PostgreSQL: Documentation: 10: 8.3. Character Types :
https://www.postgresql.org/docs/10/static/datatype-character.html8.3. 字符类型 | PostgreSQL 中文文档 9.3 :
https://wizardforcel.gitbooks.io/postgresql-doc/64.html