【MongoDB】MongoDB資料庫之海量儲存機制,mongodb海量儲存

來源:互聯網
上載者:User

【MongoDB】MongoDB資料庫之海量儲存機制,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欄位就是實際儲存的資料
從資料庫取出來資料:
D:\Program Files\mongodb\bin>mongofiles get test.txtconnected to: 127.0.0.1done write to: test.txt

gridfs檔案也可以建立索引,一個塊就可以利用它file_id和n的值來進行檢索。

db.fs.files.find()參數說明:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.