大資料基礎架構總結

bluetooth發表於2021-09-09

本文是對大資料領域的基礎論文的閱讀總結,相關論文包括GFS,MapReduce、BigTable、Chubby、SMAQ。

大資料出現的原因:

大多數的技術突破來源於實際的產品需要,大資料最初誕生於谷歌的搜尋引擎中。隨著web2.0時代的發展,網際網路上資料量呈獻爆炸式的增長,為了滿足資訊搜尋的需要,對大規模資料的儲存提出了非常強勁的需要。基於成本的考慮,透過提升硬體來解決大批次資料的搜尋越來越不切實際,於是谷歌提出了一種基於軟體的可靠檔案儲存體系GFS,使用普通的PC機來並行支撐大規模的儲存。存進去的資料是低價值的,只有對資料進行過加工才能滿足實際的應用需要,於是谷歌又創造了MapReduce這一計算模型,該模型能夠利用叢集的力量將複雜的運算拆分到每一臺普通PC上,計算完成後透過彙總得到最終的計算結果,這樣就能夠透過直接增加機器數量就獲得更好的運算能力了。

有了GFS和MapReduce之後,檔案的儲存和運算得到了解決,這時候又出現了新的問題。GFS的隨機讀寫能力很差,而谷歌有需要一種來存放格式化資料的資料庫,原本透過單機的資料庫就能解決的問題到了谷歌那裡就悲劇了,於是神器的谷歌就又開發了一套BigTable系統,利用GFS的檔案儲存系統外加一個分散式的鎖管理系統Chubby就設計出來了BigTable這樣一個列式的資料庫系統。

在谷歌完成了上述的系統後,就把其中的思想作為論文釋出出來了,基於這些論文,出現了一個用JAVA寫的類GFS開源專案Hadoop,最開始hadoop的贊助人是yahoo,後來這個專案成了Apche的頂級專案。

大資料的解決方案:

谷歌的那一套系統是閉源的,開源的Hadoop於是就廣泛傳播開來了。

圖片描述

和谷歌那套系統類似,Hadoop的最核心的儲存層叫做HDFS,全稱是Hadoop檔案儲存系統,有了儲存系統還要有分析系統,於是就有了開源版本的MapReduce,類似的參照BigTable就有了Hbase。一開源之後整個系統用的人就多了,於是大家都像要各種各樣的特性。facebook的那些人覺得mapreduce程式太難寫,於是就開發了Hive,Hive就是一套能把SQL語句轉成Mapreduce的工具,有了這套工具只要你會SQL就可以來Hadoop上寫mapreduce程式分析資料了。對了,參考chubby,我們有了開源的ZooKeeper來作為分散式鎖服務的提供者。

由於Hadoop最開始設計是用來跑檔案的,對於資料的批處理來說這沒什麼問題,有一天突然大家想要一個實時的查詢服務,資料這麼大,要滿足實時查詢首先要拋開的是mapreduce,因為它真的好慢。2008年的時候一家叫Cloudera的公司出現了,他們的目標是要做hadoop界的redhat,把各種外圍系統打包進去組成一個完整的生態系統,後來他們開發出來了impala,impala的速度比mapreduce在實時分析上的效率有了幾十倍的提升,後來hadoop的創始人Doug Cutting也加入了cloudera。這時候學院派也開始發力了,加州大學伯克利分校開發出來了Spark來做實時查詢處理,剛開始Spark的語法好詭異,後來慢慢出現了Shark專案,漸漸的使得Spark向SQL語法靠近。

未來的發展趨勢:

時代的發展決定了未來幾乎就要變成資料的時代了,在這樣的一個時代,大資料的需求越來越深,摒棄過去的抽樣調查,改為全量的統計分析,從一些原本無意義的資料中挖掘價值。當前大資料已經開始逐漸服務於我們的生活,搜尋、科學、使用者分析。。。

為了進一步提供大資料的分析能力,記憶體計算的概念在未來還會持續很長的時間,透過記憶體計算,摒棄磁碟IO對效能的天花板作用,將運算的結果以實時的方式呈獻在我們面前。



作者:A尚學堂Nancy老師
連結:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3402/viewspace-2815493/,如需轉載,請註明出處,否則將追究法律責任。

相關文章