大數據基礎入門——大數據框架Hadoop起源背景!

  大數據的概念在維克托的《大數據時代》一書中提到,書中大數據指不用隨機分析法,而採用所有數據進行分析處理。書中的三個思想就是:數據不是隨機樣本,而是全部數據;數據不是精確性,而是混雜性;數據間不是因果關係,而是相關關係。那麼大數據的應用框架是這樣的呢?

  隨着信息社會的發展,數據在不斷地增長,而且是超幾何的增長。特別是在瀏覽器端產生的數據,萬億用戶的瀏覽數據如何進行存儲和分析計算,這就是Google這樣的公司天然就需要面對的現實。Google在2003年發表文章《The Google File System 》,在2004年發表文章《MapReduce: Simplified Data Processing on Large Clusters》,在2006年發表文章《Bigtable: A Distributed Storage System for Structured Data》。大數據的應用框架,你一定聽過Hadoop,對就是它!Hadoop是基於Google的三篇文章實現的開源框架,現在是Apache下一個很大的項目。

  Hadoop的起源背景之GFS

  大數據解決本質問題之一,就是海量的數據如何進行存儲。海量的數據並不是傳統的MB或者GB級數據,而是TB、PB級的數據概念。這就需要低成本、高效率、高可靠的儲存設計。2003年,Google發表了《The Google File System》文章,闡述瞭解決海量數據儲存的設計思想。在Apache下Lucene的子項目研究下,實現了海量數據的存儲設計:分佈式文件系統(也稱之爲分佈式存儲) HDFS( Hadoop Distributed File System)。

  Hadoop的起源背景之MapReduce

  大數據解決本質問題之二,就是海量數據如何進行分析與計算。在編程計算裏,有並行編程計算框架,這並不是什麼新興的技術。同樣Google在2004年發表了《MapReduce: Simplified Data Processing on Large Clusters》文章,闡述了基於分佈式儲存的海量數據並行計算解決方案思想。開源社區Apache的Hadoop項目研究實現了MapReduce並行計算框架,將計算與數據在本地進行,將數據分爲Map和Reduce階段。簡單闡述就是MapReduce(Java語言實現)基礎編程模型:把一個大任務拆分成小任務,再進行彙總。

  Hadoop的起源背景之BigTable

  大數據解決本質問題之三,就是對於海量的數據進行分析後,提高查詢和利用數據的效率就是需要解決的重點。這就不得不說到數據庫的起源了,數據庫的產生就是爲了查詢和利用數據的效率提高,然而現有的數據庫並不能滿足基於分佈式儲存的需求。

  Google工程師在2006年發表了《Bigtable: A Distributed Storage System for Structured Data》文章,文中闡述了基於分佈式儲存的數據庫設計思想。就這樣數據庫時代從關係型數據庫進入了非關係型數據庫時代,一張大表BigTable設計思想,BigTable就是把所有的數據保存到一張表中,採用冗餘 方式(提高效率和可靠性),基於其設計思想就開源實現了基於HDFS的非關係型數據庫( NoSQL數據庫)HBase。

  小提示:其實在我們常用的雲盤或者網盤,其設計思想就是這樣的,筆者常用的百度網盤也就類似於這樣分佈式的儲存。鄭州婦科zztjfk.com/鄭州婦科醫院zztjfk.com/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章