免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

MONGODBGridFS存儲文件與文件系統存儲的區別是怎樣的

本篇文章給大家分享的是有關MongoDB  GridFS存儲文件與文件系統存儲的區別是怎樣的,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

在城陽等地區,都構建了全面的區域性戰略布局,加強發展的系統性、市場前瞻性、產品創新能力,以專注、極致的服務理念,為客戶提供做網站、成都網站設計 網站設計制作按需求定制網站,公司網站建設,企業網站建設,品牌網站設計,營銷型網站,外貿網站建設,城陽網站建設費用合理。

數據庫中大部分都不建議存儲較大的文件到數據庫中,而在MONGODB 數據庫中有一種方式可以存儲較大的文件,這種文件的格式叫做GridFS.

這里就產生一個問題,這個GRIDFS 功能到底什么時候才有用

首先Gridfs的文件存儲方式和數據提取方式都與普通的MONGO的信息存儲的方式不同,根據文檔的提示 gridfs 存儲的數據應該是超過16MB的BSON文件。

GridFS并沒有將文件存儲在單個文檔中,而是將文件分成多個部分(即塊[1]),并將每個塊存儲為單獨的文檔。默認情況下,GridFS使用255 kB的默認塊大小;也就是說,GridFS將文件分成255 kB的塊(最后一塊除外)。最后一塊的大小取決于需要。類似地,不大于塊大小的文件只有最后一個塊,只使用所需的空間和一些額外的元數據。

本身MONGODB 的Gridfs是通過兩個文件來進行存儲數據的, 而Gridfs 和文檔存儲最大的區別在于,對于內存的消耗,如果是文檔方式存儲,則數據需要他通過內存來進行輸出,而如果采用gridfs的方式來存儲數據,則文件是通過驅動程序來進行文件的組裝,而不再通過內存的方式來進行數據的提取。

說到這里可能已經有聲音提出異議, 我存儲文件使用文件系統好不好,為什么要用數據庫來存儲,性能怎么樣,你的優勢優勢又在哪里,這估計是比較難于回答的問題之一。

在文件系統中,存儲數據的個數是有限制的,這和文件的系統的設計是有關的,(Windows linux )都有類似的問題,而MONGODB 的方式來存儲文件,這樣的情況就不是一個需要特別考慮的問題。 

這是其一, 而后面的問題是,如果我希望我的文件是同步傳輸的,這樣的問題,估計要操作系統的文件系統來進行處理,就會出現問題。例如我在A 地點寫了一個文件,我希望我能在B 地點來讀取這個文件,或者我希望我的文件有備份,有COPY 有保護。

說到這里,估計提出異議的同學的聲音慢慢會變得安靜下來, 的確上面的問題讓文件系統來做,方案,消耗對比,都不那么容易。

而交給MONGODB 則會變得容易了許多,如果你能保證網絡的穩定性,的確可以進行在北京寫入的文件,在上海同步提取,并且可能廣州想同時獲取也不是問題。這不就是一個異地的文件分發系統,如果能二次開發一下,我想這樣的產品也會有相關的需求。

而另外祭出的一個點就是,數據安全方面的需求,對于文件系統如果對文件進行細致的權限劃分將是很難的一件事情,而對于數據庫則是本身具有的功能,從數據的安全性來看,如果多數據的安全性有較高的要求,完全可以通過MONGODB 的方式來更換傳統的文件存儲的模式。

廢話這么多,可以看看到底怎么操作gridfs ,下面是將一個目錄的文件,塞進mongodb中

MONGODB  GridFS存儲文件與文件系統存儲的區別是怎樣的

文檔中提出,如果需要自動更新整個文件的內容,請不要使用GridFS。作為替代方法,您可以存儲每個文件的多個版本,并在元數據中指定文件的當前版本。您可以在上傳文件的新版本后,在原子更新中更新指示“最新”狀態的元數據字段,然后根據需要刪除以前的版本。

在操作完上面的PYTHON 腳本后,查看下面的image database ,collection 會有兩個

fs.chunks

fs.files

fs.files 是負責存儲文件的非實體信息,可以認為他是一個目錄, 而fs.chunks 則是存儲實體的file的chunks 信息。

所以兩個collection 任何一個受損都不是一件好事情。

為了提高效率,GridFS在每個塊和文件集合上使用索引。為了方便,符合GridFS規范的驅動程序會自動創建這些索引。您還可以根據需要創建任何附加索引,以滿足應用程序的需要。

GridFS使用filename和uploadDate字段對文件集合使用索引

現實中如果不使用python,在外部進行mongodb 的文件操作則可以使用 mongofiles 對MONGNODB 的存儲文件進行簡單的查詢和數據的處理

對于小型的文件,并且有上面提到的需求的情況下,使用MONGODB 是可以來完滿的達到相關的需求的,所以數據庫可以替代存儲,在某些場合是有優勢的。

當然可能還有些同學提出,如果文件是在文件系統中可以打開后直接修改,而使用了gridfs 系統則不可以,而必須下載文件,然后在將修改后的文件上傳,原文件刪除,這樣的做法是不是有點太麻煩了,這里就牽扯另一個問題了,重要點。

1 MONGODB GRIDFS使用它的目的是在文件的分發和權限的控制,以及文件的高可用和復用,多版本文件分發等等功能,這些功能都是文件系統不能給與你的

2 文件系統固然比GRIDFS 要方便,但如果你需要上面的功能,必須妥協。

經常聽到有些質疑聲,站在A 點 說B 點好,而B 點達不到你的要求,魚和熊掌兼得,技術上當然是兼得最好,但要搞清楚主次,那些是你必須的,那些是可以舍棄的,幻想和理想,也僅僅就差一個字。

以上就是MONGODB  GridFS存儲文件與文件系統存儲的區別是怎樣的,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創新互聯行業資訊頻道。

新聞標題:MONGODBGridFS存儲文件與文件系統存儲的區別是怎樣的
文章地址:http://m.newbst.com/article6/gdocog.html

成都網站建設公司_創新互聯,為您提供小程序開發網頁設計公司品牌網站建設網站策劃ChatGPT電子商務

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

商城網站建設