第一篇論文Bigtable,他是個一個分布式的結構化資料存盤系統,它被設計用來處理海量資料,在谷歌上很多專案都會使用Bigtable,但是它們的需求不盡相同,盡管這樣,Bigtable仍能提供一個靈活的,高性能的解決方案
Bigtable通過行關鍵字的字典順序來組織資料,Tablet是資料分布和負載均衡調整的最小單位,當操作只讀取行中很少幾列的資料時效率很高,通常只需要很少幾次機器間的通信即可完成;而列關鍵字組成的集合是訪問控制的基本單位,存放在同一列族下的所有資料通常都屬于同一個型別,一張表中列族列族不能太多,訪問控制,磁盤和記憶體的使用統計都是在列族層面進行。客戶可以通過API函式對Bigtable進行寫入或者洗掉Bigtable中的值,從每個行中查找值,或者遍歷表中的一個資料子集。
Tablet的分配是由Master服務器來記錄,來調節各個Tablet之間的裝載關系,為了提高讀操作的性能,Tablet服務器使用二級快取的策略。掃描快取是第一級快取;Block快取是二級快取。
谷歌中的一個個性化查詢需要用到Bigtable來存盤每個用戶資料。每個用戶都有一個唯一的id,每個用戶的id和一個列名系結。一個單獨的列族被用來存盤各種型別的行為,個性化查詢使用以Bigtable為存盤的MapRedure任務生成用戶的資料圖表。這些用戶資料圖表用來個性化當前的查詢結果。
在設計,實作,維護,支持Bigtable的程序中,我們得到了許多經驗,一個就是很多型別錯誤都會導致大型分布式系統受損,我們通過修改協議來解決這些問題;另一個就是我們要在徹底了解一個新特性會被如何使用之后,再決定是否添加這個特性;還有一個是我們發現系統級的監控對Bigtable非常重要,比如,我們擴展了我們的RPC系統,它允許我們檢測和修正很多問題。另外最要的識訓是我們簡單設計的價值,簡潔的設計和編碼給維護和除錯帶來巨大的好處。
第二篇論文主要是介紹MapReduce,它是一個編程模型,也是一個處理和生成超大資料集的演算法模型的相關實作。MapReduce這個程式能夠在大量的普通配置的電腦中實作并行話處理,MapReduce產生的原因是當我們需要輸入的資料巨大時會出現許多問題,而它的出現讓我們不必關心這些復雜問題,由于MapReduce封裝了并行處理,容錯處理,資料本地化優化,負載均衡等等技術難點的細節,使得MapReduce庫易于使用 ,可以用它來進行排序,資料挖掘,機器學習以及很多其他的系統,我們從MapReduce的開發程序中學到了不少東西,第一個就是約束編程模式使得并行和分布式計算非常容易,也易于構造容錯的計算環境,第二個是它節約了網路寬度,第三個是解決了由于機器失效導致的資料丟失問題。
第三篇論文是講GFS,GFS是在我們重新審視了傳統檔案系統在設計上的折衷選擇,衍生出的完全不同的設計思路,它完全滿足了我們對存盤的需求。然而在建造和部署GFS的程序中,我們經歷了各種各樣的問題,有些是技術上的,有些是操作上的,但是都找到了相應的解決方案
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/127290.html
標籤:非技術版
上一篇:求大佬給個這個分頻模塊程式的注釋
下一篇:求大佬教 小白要哭了
