1. 程式人生 > >大資料基礎概念

大資料基礎概念

  • 傳統的大資料
    在大資料這個概念還沒出來以前人們是怎麼進行資料資料分析和計算的呢?
    • 資料儲存
      首先資料量都沒有很大,不同的資料散佈在不同資料庫中。如果真的資料大的話就只能花最貴的錢買最好的機器最好的資料庫或者多分幾個庫裝。
    • 資料分析
      人們還沒有意識到資料可以做很多事情,所以資料的需求也比較少; 使用傳統的資料庫和單機程式來進行統計分析,就能滿足大部分需求。如果公司比較注重資料的話,可能會弄一個數據中心,彙總各種資料,開發一套資料分析系統來完成自動化的報表。
  • 轉折
    資料量越來越大,資料分析的成本越來越高。某一天Google扔了三篇論文出來引爆了大資料(Google總喜歡把自己不用了的技術分享出來)。這三篇論文提出了一個解決資料太多,存不下,計算不了方案,從此打開了大資料時代的門。人們根據這三篇論文​開發了hadoop家族,後來成為大資料的標配,開始了全民大資料的時代。


    ​​​
  • 現在的大資料
    普遍的都利用hadoop家族建立起大資料平臺,匯聚各種資料,統一進分析計算。
    • 資料來源&資料採集
      自從大資料的處理工具完善之後,基本能稱得上資料的東西都可以整合進大資料平臺。比如,前端的使用者行為日誌、後端資料庫、爬蟲的資料等。
      • 埋點
        所謂的埋點就好比埋的地雷,你走過地雷響了,我就知道你走過哪裡。正常來說就是你在網頁或app上點選某個按鈕是就把你這個點選行為記錄下來發給伺服器,這樣就知道你都幹了啥。​當然埋點你可以自己寫程式手動埋,也可以引入第三方工具實現自動話埋點。有時候前端不方便埋點就可以在伺服器後端程式進行埋點。
      • 資料庫

        資料庫呢,主要記錄一些狀態資料,比如你的性別年齡啥的。
    • 資料接入
      這麼多資料來源想要進入大資料平臺,當然都會有不同的渠道,同一個資料來源也可能有不同的進入方式。
      • 批量資料
        比如資料庫的資料都是些狀態資料,業務的需求要求的實時性不高,可以每天批量的匯入。匯入的方式又可以分為增量和全量
        • 全量
          每次匯入全部的資料,因為資料是在不斷變化的,我們只擷取匯入時刻的資料。
        • 增量
          每次匯入有變化的資料;當資料有變化時我們就標記一下每條資料變化的時間,依據這個時間判定這次是否匯入。
      • 實時流資料

        像使用者行為這種資料每時每刻都在不斷的產生,業務的需求可以需要我們快速的反應,比如使用者搜尋了某個商品下一秒馬上推送相關的商品。這時資料要快速的流動快速的計算,就出現了資料匯流排的概念,把資料接入資料匯流排實時的流入大資料平臺。
    • 資料儲存
      大資料平臺的儲存其實是比較單一的,就是一個分散式檔案系統,當然這個檔案系統又可以分各種儲存格式來存。
    • 資料處理
      資料處理就是大資料平臺的核心了。分實時的處理和批量處理。
    • 資料查詢
      資料在大資料平臺處理完成輸出到業務系統進行使用,大資料平臺也可以直接提供查詢服務。