MongoDB-GRIDFS大文件系统

gridfs 是一种在mongodb中存储大二进制文件的机制,使用gridfs的原因:

1、存储巨大的文件(视频图片)。

2、利用GRIDFS可以简化需求。

3、GRIDFS 利用已经建立起来的复制以及分片机制,故障回复和拓展都很容易。

4、gridfs 可以避免用户上传文件的系统出问题。

5、不产生此片碎片。

简介:gridfs 使用两个表格来存储数据: files 包含元数据对象,chunks包含其他的一些相关的二进制块。

为了使多个grdifs 命名为一个单一的数据库 文件与块都有一个前缀,默认为fs,包含 fs.files 和 fs.chunks。 各种其他的第三方语言可以更改前缀。

使用简介: 目录中包含mongofile 文件 进入 bin

例如:

/usr/local/mongodb/mongofiles  put  ‘/home/timeless/桌面/2000多个域名‘ -u root -p
Enter password:
connected to: 127.0.0.1
added file: { _id: ObjectId(‘550d5ae73c11b4f50c88c99e‘), filename: "/home/timeless/桌面/2000多个域名", chunkSize: 261120, uploadDate: new Date(1426938599982), md5: "025141eb3b856cb1d05f51c8b1fac3ec", length: 62 }
done!//登陆MONGO
>/usr/local/mongodb/mongo -uroot -p
MongoDB shell version: 2.6.6
Enter password:
connecting to: test
> show collections
fs.chunks
fs.files
person
stocks
system.indexes> db.fs.files.find()
{ "_id" : ObjectId("550d5ae73c11b4f50c88c99e"), "filename" : "/home/timeless/桌面/2000多个域名", "chunkSize" : 261120, "uploadDate" : ISODate("2015-03-21T11:49:59.982Z"), "md5" : "025141eb3b856cb1d05f51c8b1fac3ec", "length" : 62 }
> db.fs.chunks.find()
{ "_id" : ObjectId("550d5ae7e67b9f05743cdc35"), "files_id" : ObjectId("550d5ae73c11b4f50c88c99e"), "n" : 0, "data" : BinData(0,"d2hvaXMgcHJpdmFjeSBwcm90ZWN0aW9uIHNlcnZpY2UgYnkgdmFsdWUtZG9tYWluICAgIOazqOWGjOS6ugo=") }
> 

列出现在的文件信息

[email protected]:~$ /usr/local/mongodb/mongofiles list  -u root -p
Enter password:
connected to: 127.0.0.1
/home/timeless/桌面/2000多个域名    62
[email protected]-HP-Pavilion-g4-Notebook-PC:~$ 

下载当前文件

[email protected]:~$ /usr/local/mongodb/mongofiles get /home/timeless/桌面/2000多个域名  -u root -p
Enter password:
connected to: 127.0.0.1
done write to: /home/timeless/桌面/2000多个域名

删除指定文件

[email protected]:~$ /usr/local/mongodb/mongofiles delete  /home/timeless/桌面/2000多个域名  -u root -p
Enter password:
connected to: 127.0.0.1
done!
[email protected]-HP-Pavilion-g4-Notebook-PC:~$
时间: 2024-12-14 22:55:00

MongoDB-GRIDFS大文件系统的相关文章

MongoDB GridFS最佳应用概述

<MongoDB GridFS最佳应用概述> 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs GridFS是MongoDB数据库之上的一个简单文件系统抽象.如果你熟悉Amazon S3的话,那么GridFS与之相似.为什么像MongoDB这样的NoSQL数据库会提供这样的一个文件层抽象呢? 一.使用GridFS的理由 理由如下: 1)存储用户产生的文件内容 大多数Web应用都允许用户上传文件.当用户使用关系数据库时,这些用户产生的文件会存储在文件系

mongodb gridfs基本使用

Mongodb GridFS图片文件存储解决方案 之前解决方案是接收图片数据后,将图片直接存储到盘阵,然后通过Apache做服务器,将图片信息存储到数据库,并且存储一个Apache的访问路径. 目前需要后台服务存储图片,将图片存储到MongoDB集群中,然后通过Nginx中的nginx-gridfs模块进行访问,在浏览器中通过url访问,效果与Apache访问本地文件一样. 本方案的内容比较基础,以后会有深入了解和优化,敬请期待! 一.安装MongoDB (1)安装MongoDB 进入计划安装目

MongoDb GridFS的使用

MongoDb GridFS 是MongoDB的文件存储方案,主要用于存储和恢复那些超过16M(BSON文件限制)的文件(如:图片.音频等),对大文件有着更好的性能. 要在C#中使用GridFS,首先安装Nuget包: MongoDB.Driver.GridFS Bucket GridFS中的数据也是分集合存储的,每个集合叫一个bucket,每个bucket里面可以存储多个文件: 在C#中使用bucket和使用集合差不多,创建一个GridFSBucket对象即可. var bucket = ne

GDAL2.1增加支持Mongodb存储空间大数据

      随着空间数据越来越渗透到社会生活的各个方面,大数据提供服务的能力有待增强.如全国地理国情普查数据,仅空间矢量数据一个省数据量在30GB左右,影像更在TB级,全国数据量就更不得了,传统的集中存储模式如果在几个部门间使用还凑合,在十几个部门,成千上万次服务请求并发的情况下,难以为继.为此尽早使用互联网思维,采用集群并发处理的模式处理空间数据,提供必要的统计分析为当务之急.为此本文探讨了如何使用Mongodb存储空间大数据,从最基本的数据入库存储开始. 1目录 1.1 gdal2.1增加支

【转】PHP操作MongoDB GridFS 存储文件

PHP操作MongoDB GridFS 存储文件,如图片文件 GridFS是MongoDB的一个内置功能,它提供一组文件操作的API以利用MongoDB存储文件,GridFS的基本原理是将文件保存在两个Collection中,一个保存文件索引,一个保存文件内容,文件内容按一定大小分成若干块,每一块存在一个Document中,这种方法不仅提供了文件存储,还提供了对文件相关的一些附加属性(比如MD5值,文件名等等)的存储.

MongoDB GridFS规范

This is being changed for 2.4.10 and 2.6.0-rc3. Tyler Brock's explanation: Now that the server uses power of 2 by default, if the default chunk size for gridfs is 256k we will almost always be throwing away some storage space. This is because if the

MongoDB进阶系列(14)——GridFS大文件MD5验证

md5在上传之后都会保存在fs.files的元数据信息里,用来以后用户在get大文件之后比对md5值进行验证. linux中查看md5值的方法是: md5sum 文件名 那么我们就看看从Mongodb中get的文件的md5和MongoDB中存储的GridFS的md5是否一样. [[email protected] ~]$ sudo /usr/local/mongodb/bin/mongofiles put mongodbBook.tar.gz  [sudo] password for neil:

MongoDB——GridFS

GridFS是一个规范的存储和检索文件超过16 mb的bson文档大小限制. 而不是将文件存储在一个文档中,GridFS文件分为部分,或块,每个块作为一个单独的文档.使用FridFS与使用分片无 关.在默认情况下网格文件系统块大小限制为255 k.GridFS文件系统使用两个集合存储文件.一个收集存储文件块, 其他商店文件元数据. 当你查询GridFS文件系统存储文件时,驱动或客户端将重新组装块.你可以通过GridFS文件系统上执行范围查询 文件存储.你也可以从任意部分的文件访问信息,你可以"跳

mongodb Gridfs操作

GridFS 介绍 GridFS是MongoDB规范用于存储和检索大文件,如图片,音频文件,视频文件等.这是一种文件系统用来存储文件,但数据存储于MongoDB集合中.GridFS存储文件比其文档大小16MB限制的更大能力. GridFS的划分一个文件分成块存储数据每个块在一个单独的文件,每个最大尺寸255K. GridFS默认使用两个集合 fs.files 和 fs.chunks 存储该文件的元数据和块.每组块标识其唯一的_id ObjectID字段.fs.files切断作为父文件. fs.c

【转发】mongodb Gridfs操作

原文链接:https://www.cnblogs.com/wangjing666/p/6844598.html GridFS 介绍 GridFS是MongoDB规范用于存储和检索大文件,如图片,音频文件,视频文件等.这是一种文件系统用来存储文件,但数据存储于MongoDB集合中.GridFS存储文件比其文档大小16MB限制的更大能力. GridFS的划分一个文件分成块存储数据每个块在一个单独的文件,每个最大尺寸255K. GridFS默认使用两个集合 fs.files 和 fs.chunks 存