Java从入门到精通――数据库篇MongoDBGridFS文件系统

2015-07-24 08:37:57 · 作者: · 浏览: 0
一、概述
?
GridFS是MongoDB的一种存储机制,用来存储大型二进制文件。
?
优点:
?
1.使用GridFS能够简化你的栈。如果已经在使用MongoDB,那么可以使用GridFS来代替独立的文件存储工具
?
2.GridFS会自动平衡已有的复制或者为MongoDB设置的自动分片,所以对文件存储做故障转移或者横向扩展会更容易。
?
3.当用于存储用户上传的文件时,GridFS可以比较从容地解决其他一些文件系统可能会遇到的问题。
?
4.在GridFS中,文件存储的集中度会非常高,因为MongoDB是以2G为单位来分配数据文件。
?
缺点:
?
1.GridFS的性能比较低:从MongoDB中访问文件,不如直接从文件系统中访问文件速度快
2.如果要修改GridFS上的文档,只能先将已有文件删除,然后再将整个文档重新保存。
?
GridFS使用最简单的方式是使用mongofiles工具,所有Mongo DB发行版中都包含了mongofiles这个工具,可以用它在GridFS中上传文件、
下载
文件、查看文件列表、搜索文件、以及删除文件。下面就为大家演示一下。
?
二、代码演示。
?
2.1上传一个文件
?
mongofiles -d foobar -l "E:\a.txt" put "a.txt"
?
2.2查看文件列表
?
db.fs.chunks.find() 和db.fs.files.find() 存储了文件 系统的所有文件信息
?
2.3查看所有文件
?
mongofiles -d foobar list
?
2.4删除存在的文件
?
mongofiles -d foobar delete 'a.txt'
?
三、总结。
?
GridFS系统为我们再用MongoDB存储很大的数据文件提供了一个很高效的系统
?