MongoDB数据库之海量存储机制

 

GridFS是一种将大型文件存储在MongoDB数据库中的文件规范。

一、如何实现海量存储

由于mongodb中的bson对象大小是限制的,所以gridfs规范提供了一种透明的机制,可以将一个大文件分成多个较小的文件。这样的机制允许有效地保存大文件的对象,特别是哪些巨大的文件,比如视频,高清图片;该规范指定了一个将文件分块的标准,每个文件都在集合对象中保存一个元数据对象,一个或多个块对象可被组合在一个chunk块集合中。mongodb中主要是利用mongofiles工具。

Grifs使用两个表来存储数据:

Files(包含元数据对象)

chunks(抱哈你一些相关信息的二进制块)

为了使多个gridfs命名为一个单一的数据库,文件和块都有一个前缀。默认情况下,前缀是fs.所以任何默认的gridfs存储将包括命名空间fs.files和fs.chunks。

二、命令行工具

mongofiles是从命令行操作gridfs的一种工具,例如将“testfile”这个文件存到数据库里面,可以执行如下操作。首先咱们整体认识一下mongofiles:
 
实例存放文件到数据库中
 
 
db.fs.files.find()参数说明:
 
filename:储存文件的名称;
chunksize:chunks的大小
uploaddate:入库时间
md5:文件的md5码
length:文件的大小(单位:字节)
 
db.fs.chunks.find()参数说明:
n:代表chunks的序号,此序号是从0开始;
data字段就是实际存储的数据
 
从数据库取出来数据:
[html]  view plain  copy
 
  1. D:\Program Files\mongodb\bin>mongofiles get test.txt  
  2. connected to: 127.0.0.1  
  3. done write to: test.txt  

gridfs文件也可以创建索引,一个块就可以利用它file_id和n的值来进行检索。

 

http://blog.csdn.net/sxb0841901116/article/details/41733805

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值