【MongoDB】MongoDB數據庫之海量存儲機制
來源:程序員人生 發布時間:2014-12-09 08:35:20 閱讀次數:5387次
GridFS是1種將大型文件存儲在Mongodb數據庫中的文件規范。
1、如何實現海量存儲
由于Mongodb中的bson對象大小是限制的,所以gridfs規范提供了1種透明的機制,可以將1個大文件分成多個較小的文件。這樣的機制允許有效地保存大文件的對象,特別是哪些巨大的文件,比如視頻,高清圖片;該規范指定了1個將文件分塊的標準,每一個文件都在集合對象中保存1個元數據對象,1個或多個塊對象可被組合在1個chunk塊集合中。mongodb中主要是利用mongofiles工具。
Grifs使用兩個表來存儲數據:
Files(包括元數據對象)
chunks(抱哈你1些相干信息的2進制塊)
為了使多個gridfs命名為1個單1的數據庫,文件和塊都有1個前綴。默許情況下,前綴是fs.所以任何默許的gridfs存儲將包括命名空間fs.files和fs.chunks。
2、命令行工具
mongofiles是從命令行操作gridfs的1種工具,例如將“testfile”這個文件存到數據庫里面,可以履行以下操作。首先我們整體認識1下mongofiles:
db.fs.files.find()參數說明:
filename:貯存文件的名稱;
chunksize:chunks的大小
uploaddate:入庫時間
md5:文件的md5碼
length:文件的大小(單位:字節)
db.fs.chunks.find()參數說明:
n:代表chunks的序號,此序號是從0開始;
data字段就是實際存儲的數據
D:Program Filesmongodbin>mongofiles get test.txt
connected to: 127.0.0.1
done write to: test.txt
gridfs文件也能夠創建索引,1個塊就能夠利用它file_id和n的值來進行檢索。
db.fs.files.find()參數說明:
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈