當我花了數小時讀完老師要求的論文時,我覺得大資料時代我們對一切都科技發展帶給我們的便利已經習以為常,卻從沒認真去了解過其中的魅力。就像老師說的,我們作為大學生還是有必要嘗試著去讀一次專業的學術論文。
盡管作為一個對云計算一竅不通的人,還是從論文中學到了并盡可能的理解了gfs大體的構建。所以下面主要從gfs的構成,如何有效讀取和寫入,master服務器穩定和資料恢復等方面淺談自己的讀后感想。
gfs的構建,一個gfs集群包含一個單獨的master節點,多臺chunk服務器,并且同時被多個客戶端訪問。在gfs中儲存的檔案都會被分割成固定大小的chunk,并且為了方便識別儲存的資料,會在創建每一個chunk時,分配一個不變的,全球唯一的64位chunk標識,并且以linux檔案的形式保存在本地硬碟上。單一的master節點會大大簡化gfs的設計,因為客戶端通過master找到需要詢問的chunk服務器,客戶端將這些元資料快取一段時間后,后續會直接與chunk服務器進行資料讀取。對于元資料都儲存在master的記憶體中,有三種主要型別的元資料,檔案和chunk的命名空間,檔案和chunk的對應關系,每個chunk副本的存放地點。關于我自己的理解是這些型別的元資料會方便實作讀取,保持master服務器與chunk同步狀態,不會導致master服務器崩潰。
檔案的讀取和寫入,對于讀取和寫入效率,當讀取和寫入的客戶機增加時,多個客戶機同時讀取和寫入的幾率也增加,導致整體的讀取和寫入效率降低。感覺就像我們平時用網線,當多個人用同一條網線時,你的網速就會變得很慢,放視頻打游戲動不動就卡機。gfs系的讀取有兩種操作,一種是大規模的流式讀取,大規模的流式讀取通常一次讀取數百KB的資料,甚至更多。而另外一種是小規模的隨機讀取,并且在gfs中對于記錄追加通過chunk和chunk的副本進行操作,保證至少有一次原子的寫入操作成功執行。
master服務器的穩定和資料恢復備份。在gfs中為了保持master服務器的可靠性,master服務器的狀態也要復制,master服務器的所有操作日志和checkpoint檔案都被復制到多臺機器上,其中操作日志是元資料的唯一持久化存盤記錄,在master服務器在災難恢復時,通過重演操作日志把檔案系統恢復到最近的狀態,而checkpoint是對資料庫做一次快照的行為,讀取checkpoint檔案以及重演checkpoint之后的有限個日志檔案就能恢復系統。而且在論文中可以了解到快照是對一個檔案或者目錄樹做一個拷貝,可以瞬間完成,并且不會對同時進行的其他操作造成干擾,所以通過快照,用戶可以創建一個巨大的資料集的分支拷貝,就如同備份一樣,可以直接提交或者回到拷貝當前狀態。
以上就是讀過論文后對gfs的淺談,其實確實還有許多方面以現在的知識儲備不能夠完全理解,但是從中也確實了解一二,學到了新的知識,同時也見識到了其中的魅力。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/39309.html
標籤:服務器
上一篇:云計算渣渣
