小文件系统调研

场景需求:

涉及文件如下:

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 规范提供了一种透明的机制,可以将一个大文件分割成为多个较小的文档。这将容许我们有效的保存大的文件对象,特别对于那些巨大的文件,比如视频。
是否适合做大规模小文件存储 适合 适合 不太适合,除非小文件不是海量

猜你喜欢

转载自snv.iteye.com/blog/1863352
今日推荐