關於課題的計畫:名稱目前還沒有,另外本人電腦沒有任何office軟體,初期先用這個txt 好表達點。
以後課題的計畫,進展,總結均在此資料夾更新。
對於工作時間我分為 12月到1月 3月到4月 4月到5月
12月到1月:這個月主要還是以學習為主,**,書籍的學習,初步的環境搭建與實踐,主要任務是多看多學。
**:gfs+map/reduce+bigtable ; 還有後續的引用**等等等
1、**學習
就看了gfs的**,並且還沒看完,看到中途有點看不懂的感覺。 google重新審視了關於目前所用的舊分布式檔案系統,基於從自身實際資料儲存需求和處理等目標,設計一套與傳統分布式檔案系統截然不同的檔案系統,即gfs。並且在實踐中提到,他們已經部署到相關服務中去,以此證實了該檔案系統的價值,從而也才有這篇**。不愧是以實踐驅動型的公司,即使是**也要有一定規模的實踐專案相支撐。
接下來是他的設計觀點:
*元件的故障常態化:相對於當今大資料的時代,動則上tb的資料處理之迅速,所以對資料的處理的穩定性要求更好,在如此大的資料規模下,發生故障應該是非常非常常見的,我感覺在某種程度上,這樣的常態化增強了系統的靈敏度和高穩定性,而不像傳統的系統那樣面對突發的故障動不動就以宕機的結果呈現出來。
*把塊的單位尺寸增大:文中說面對總量tb級的資料,如果還是以傳統kb級的單位塊管理的話,實際上是浪費處理效率的。面對大資料的來領,其資料處理的單位塊的大小也應該有所變化。
*資料讀寫方面的優化集中在大資料的訪問上面尤其是讀方面:從實際測試的情況看,追加比重寫發生的更頻繁,並且追加的資料要方面後面資料能夠比較方面的讀取,我感覺讀取是最最頻繁的,從資料庫的表操作來看也是select是最最常用的,所以如何高效讀取(訪問)大資料塊檔案是優化的關鍵,也可以說把精力集中於此。
*協同設計或者說放鬆模型架構適應實際需求:這裡我讀到的意思感覺就是,google認為就有的檔案系統架構過於死板或者固定(也可能是舊模型並沒有考慮到現在大資料處理的現狀),所以他們覺得對於目前的現狀可以把模型改的鬆弛,使其更傾向於目前的大資料處理。說白了宗旨就是一切為現實的實際而服務,對於已有的教科書式的模型架構如果發現有與現狀不契合的沒必要強制地去實現這種不契合現狀的設計。
接下來是他們設計的猜想:
*故障常態化:前面所說的系統的高靈敏與高穩定
*資料單位尺寸變大:更方面現狀的大資料量的處理
*優化大資料的訪問(讀寫,主要是讀):這裡讀到了優化磁頭來回偏移的工作,實際上從總的來看這不是新東西了,當時讀到這裡立馬就定位到當初閱讀作業系統原理中關於磁碟儲存讀寫檔案的工作原理,感覺是把作業系統層的檔案系統的優化搬到這裡來,感覺不是什麼新東西,當然我還沒讀完這篇**,不敢妄下定論。
*上面是讀的優化,那這裡就是寫的優化:寫上上面說了主要是追加而不是重寫。如果乙個程序對應乙個追加操作,那麼在大資料的應用環境下,必然有無數個追加程序對同乙個檔案的追加操作,如何解決其不衝突性呢??這裡我又定位到資料庫原理了,作業系統原理也有,感覺是學好學精基礎課程是相當的有好處的而不要盲目地追趕時髦的技術,應用情景太相似了,記得裡面有很多方式實現不衝突 什麼互斥鎖啊,訊號量啊等等。
*最後一點猜想是持續的頻寬比低延遲要很重要:我覺得究其原因是現在是分布式的天下,其不同終端不同伺服器間的通訊都是要依靠貸款的,舊有的檔案系統一般是單個機器下的應用環境所以應該很少有涉及到關於檔案系統頻寬的影響。而且我覺得以前對應不管是檔案系統還是作業系統的實時性,低延遲都研究的非常多了,尤其是航天航空領域。所以現在google似乎是要另闢蹊徑,從其他方面作優化,而且他們也說了在實際的現狀應用中系統對於延遲的忍受不是非常嚴格的,這也可以對應到上面他們的設計觀點最後一點的宗旨,服務於實際。
2、書籍學習
大概掃了一下書本的前兩章,應為有些地方是關於實踐的工作,當時沒有linux工作環境,所以就跳過
基本上了解了下hadoop的歷史由來吧,相比較而言我更感興趣的是它的創始人doug-cutting,因為以前稍微用過nutch和lucene,感覺此人的開源做的好牛啊。其他的關於hadoop的安這些實踐操作的就大概看了下沒寫看,第二章的hdfs除了他的配置,api沒怎麼細看外,其他它說的原理方面的感覺跟**gfs的大致相同總之都是乙個大資料的思想。
3、看過書後我才開始進行環境的搭建
這週的工作基本上就做了這些。
遇到的問題主要是
* 自己在讀**的時候,沒有看英文原版,上來就看中文版的gfs,而且看的過程中感覺中文版的看得極其彆扭,特別是在涉及到技術細節的地方,很難理解這中文翻譯要表達什麼,其實當時上來就看得中文版 我已經看到了2.7左右 關於一致性模型的地方,但是到這裡實在看不下去了,因為這些技術細節實在沒看懂,只是掃了一遍知道有這回事,當然也有可能跟我看**的一種漫不經心的態度有關,態度不認真,當**來看可能也有這方面的因素在裡面;最後放棄純看中文版,因為再看下我根本不知道他在講什麼,所以自己又重頭看英文原版,看到不懂的單詞自己查翻譯等等,這其中的過程的確是浪費了比較多的時間。
* 對於一些底層的基本的實現,還有術語,機制等等不是很了解,比如什麼一致性模型,網路通訊的一些機制,資料訪問讀寫的細節,原子性操作等等;這可能跟各種底層原理基礎課程沒有學深有關係,到時候還得多問問相關的知識,更要把這些課程重新拿來學深才好。
* 對於**的擔憂:現在**我只看了他的總覽思路等等,涉及到具體細節設計的地方還沒看,不會到時候看到這裡又是一頭霧水吧。。。
第二週目標:(假想:希望能夠讀完gfs這篇**吧,希望,希望;另外結合那本實戰書的閱讀和現有的作業系統環境的實踐,逐步地把系統環境真正地架起來)
第二週工作:
3月到4月:這個月應該要明確自己要做個什麼東西出來了,並且要實現。
實現:軟體工程的一套,需求 設計 文件 實現等等。
4月到5月:鑑於完成的成品寫**。
**:寫**,查** 再學習
實踐:在**的寫作過程中,可能有維護,二次編碼一類的東西把。
現在是精確到月的計畫設定,不足的地方請指正。
大資料時代必須破解的重大現實課題
當今,社會資訊化和網路化的發展導致資料 式增長,全球資料量大約每兩年翻一番,這意味著人類在最近兩年產生的資料量相當於之前產生的全部資料量。大資料時代 已經到來,大資料滲透到各個行業領域,逐漸成為一種生產要素發揮著重要作用,成為未來競爭的制高點。然而,大資料掀起新一輪生產率提高和生活方式改變的同時,隨...
大資料時代必須破解的重大現實課題
當今,社會資訊化和網路化的發展導致資料 式增長,全球資料量大約每兩年翻一番,這意味著人類在最近兩年產生的資料量相當於之前產生的全部資料量。大資料時代已經到來,大資料滲透到各個行業領域,逐漸成為一種生產要素發揮著重要作用,成為未來競爭的制高點。然而,大資料掀起新一輪生產率提高和生活方式改變的同時,隨之...
關於大資料的大資料平台
大資料平台,顧名思義就是整合 應用和大資料系統之間的差異,將應用程式產生的資料匯入到大資料系統,經過處理計算後再匯出給應用程式使用。網際網路產品處理使用者請求,需要毫秒級的響應,要在 1 秒內完成計算,普通大資料計算必然不能實現這樣的響應要求。如何才能彌補這網際網路和大資料系統之間的差異呢?解決方案...