大資料基礎架構總結
本文是對大資料領域的基礎論文的閱讀總結,相關論文包括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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基礎資料結構大賞資料結構
- 《大話資料結構》總結資料結構
- 大資料平臺基礎架構hadoop安全分析大資料架構Hadoop
- Redis基礎資料結構Redis資料結構
- 資料結構基礎和演算法題系列總結資料結構演算法
- mysql資料庫的基礎架構MySql資料庫架構
- 資料結構基礎 連結串列資料結構
- 大資料基礎知識總結和大資料方面的核心技術大資料
- 《大前端 基礎元件》系列 CSS基礎架構前端元件CSS架構
- 資料結構基礎知識資料結構
- 資料基礎架構中的新技術方法:惠普HPE Ezmeral資料結構架構資料結構
- Redis基礎——剖析基礎資料結構及其用法Redis資料結構
- 大資料基礎架構Hadoop,終於有人講明白了大資料架構Hadoop
- go 基礎總結 --- 資料型別Go資料型別
- Redis基礎資料結構之字串Redis資料結構字串
- Redis基礎資料結構之MapRedis資料結構
- Redis基礎資料結構之SkipListRedis資料結構
- 資料結構基礎--雜湊表資料結構
- 淺析Redis基礎資料結構Redis資料結構
- 資料結構基礎第4講資料結構
- 資料結構基礎第3講資料結構
- 基礎資料結構之陣列資料結構陣列
- 基礎資料結構之遞迴資料結構遞迴
- Redis基礎資料結構之連結串列Redis資料結構
- ABP框架之——資料訪問基礎架構框架架構
- 《大話資料結構》讀後總結(七)資料結構
- 《大話資料結構》讀後總結(五)資料結構
- 《大話資料結構》讀後總結(六)資料結構
- 《大話資料結構》讀後總結(八)資料結構
- 《大話資料結構》讀後總結(九)資料結構
- 《大話資料結構》讀後總結(三)資料結構
- 《大話資料結構》讀後總結(四)資料結構
- 《大話資料結構》讀後總結(一)資料結構
- 資料結構 & 演算法 in Swift (一):Swift基礎和資料結構資料結構演算法Swift
- JS基礎總結(1)——資料型別JS資料型別
- 資料庫基礎知識總結(轉)資料庫
- 前端基礎系列(三) -- 演算法 + 資料結構基礎前端演算法資料結構
- 公共基礎知識-資料結構-樹資料結構