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

來源:互聯網
上載者:User

標籤:mongodb   gridfs   

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()參數說明:

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.