场景需求:
涉及文件如下:
1.大量的用户头像;
2.大量的用户通过web层上传的word文档;
业务如下:
1.上述文件需要进行存储,也就是小文件存储;
2.同时各个web层的节点能够读到;
3.能够对文件进行crud;
调研开源产品列表如下:
TFS
FastDFS
MongoDB
对比一览表:
开源产品 | TFS | FastDFS | MongoDB |
实现语言 | C/C++ | C/C++ | C/C++ |
授权协议 | GPLv2 | GPLv3 | AGPL |
跨平台 | 只支持Linux | 只支持Linux | 跨 |
Java Api | 有 | 有 | 有 |
概述 | TFS是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,其设计目标是支持海量的非结构化数据。淘宝内部使用的分布式文件系统,针对海量小文件的随机读写访问性能做了特殊优化,承载着淘宝主站所有图片、商品描述等数据存储。 | 开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 | 以GridFS文件规范存储在MongoDB。数据库支持以BSON格式保存二进制对象。 但是MongoDB中BSON对象最大不能超过4MB。 GridFS 规范提供了一种透明的机制,可以将一个大文件分割成为多个较小的文档。这将容许我们有效的保存大的文件对象,特别对于那些巨大的文件,比如视频。 |
是否适合做大规模小文件存储 | 适合 | 适合 | 不太适合,除非小文件不是海量 |
所有评论(0)