大數據基礎架構總結


簡介:本文是對大數據領域的基礎論文的閱讀總結,相關論文包括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對性能的天花板作用,將運算的結果以實時的方式呈獻在我們面前。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM