《大数据之路-阿里巴巴大数据实践》读书笔记
ps:這本書主講阿里的大數據體系架構方案,從底層到高層闡述,目前對我來說此書的難度較大,不是很懂,大部分為對原書的引用歸納,我會給出相應的大牛的關于此書的讀書筆記的傳送門供參考。以下為大牛關于本書的讀書筆記供參考:讀書筆記傳送門https://www.jianshu.com/p/69dbf35713ad
此書下載傳送門http://www.java1234.com/a/javabook/yun/2018/0308/10578.html
?
整本書分為四篇幅,共分16個章節分別闡述阿里巴巴在大數據的挑戰下的各個方面的應對與方法。
第一篇數據技術篇,包括第2、2、4、5、6、7章。
第二篇模型篇,包括第8、9、10、11章。
第三篇數據管理篇,包括第12、13、14、15章。
第四篇數據應用篇,包括16章。
????總述阿里巴巴在大數據時代,面臨的挑戰與機遇,系統的整體大數據系統架構,在數據爆炸增長的時代,能不能有組織、有序、有結構地存儲,是阿里數據技術部門和產品部門需要解決的問題,另一個很重要的問題是在如雙十一這種促銷活動購物活動時候,阿里的服務能不能穩定的提供,滿足越來越高的下單峰值,阿里大數據井噴式爆發,在數據服務和數據產品方面有著極大的挑戰。
????各層總述1.數據采集層方案主要包含倆個部分,第一部分Aplus.JS,它是Web端日志采集技術方案,app端日志采集技術方案為UserTrack,在此之上,阿里用規范埋點,這樣在滿足用戶要求的同時,像在不同是場景中都有做,這樣以此為依托在通過建立一套數據傳輸體系,來實現從生產業務端到大數據系統的數據傳輸,傳輸采用TimeTunnel(TT),包括數據庫增量數據傳輸以及日志數據傳輸,TT作為基礎架構,支持流式計算和及以不同時間窗口的批量計算,通過DataX和同步中心(ps基于前者封裝)來連節備用數據庫獲取數據。典型的日志采集工作過程如下,1用戶點擊操作,2瀏覽器隨即像服務器發起http請求,3服務器端業務處理模塊按邏輯解析,將處理結果反饋給瀏覽器,4瀏覽器展現給客戶。日志采集工作,一般在第四步執行,在HTML文檔中增加一個日志采集點,當進行到這一步時候,會觸發這個操作,發出請求至日志采集的服務器,如此日志采集服務器便可以確認瀏覽器的操作,采集-發送-收集-解析,另外考慮到互動行為特征,如鼠標焦點的變化,交互日志采集阿里通過一套名為“黃金令箭”采集方案來解決。另外包括頁面日志服務器端的清洗和預處理,此處不再 細說,以上僅僅為瀏覽器的頁面采集工作,還有無線客戶端的日志采集工作,阿里使用采集sdk來實現,阿里使用名為UserTrack(UT)的sdk,有些頁面事件,有著無痕埋點,無需開發者任何編碼實現,UT提供了頁面展現、頁面退出、添加頁面擴展信息這三個接口,UT提供透傳參數的功能,及當前頁面某些信息傳入到下一個或者好幾個頁面中,通過Super Position Moder來進行來源去向的追蹤,像用戶路徑還原這種問題就很簡單了。
????還有一些控點事件和其他事件,除了之前提到的,UT還提供默認的采集方法,如自動捕獲應用崩潰,sdk提供日志的聚合功能,利用頁面的生命周期來適當的聚合,以及本地聚合功能,識別頁面復用,配合棧的深度等進行更為復雜的操作。很多情況下H5和Native互跳,數據丟失驗證,用戶路徑無法還原,多端之間數據隔離等問題,阿里通過對H5和Native統一處理來解決。那么就涉及到日志的歸檔,通常Native部署采集SDK方式,具體流程略過。涉及到另外一個問題訪客數,用戶登陸時候用用戶ID來唯一標示,為登陸的界面,pc端用Cookie信息作為設備唯一信息,aap端,阿里采用UTDID來標識。
????無線端日志上傳,是先存儲在本地,后伺機上傳,上傳動作不單以時間間隔來決定,還要考慮日志的大小以及合理性,對與重要的數據,此時可以適當地釋放其他日志資源來優先處理。日志早已不是初期的饑餓階段,反而面臨海量日志淹沒的危險,故問題不再是采集技術本身,而是如何數據的規范化、機構化、組織化。阿里采用日志分流和定制處理、采集與計算一體化設計這倆個方案。具體有關分布式,分治策略等,后一個要求對日志的歸類和匯總,,一體化要求采集和計算作為一個系統考慮,阿里采用用戶直觀感知的SPM規范。
????另外一個重要的問題是大促保障,如“雙十一“活動,需要保證每個階段都沒有問題,端埋點采集,服務器處理,傳輸,解析,分析,應用,需要考慮服務器能力,實時處理等各方面,對非重要數據進行適當限流,延遲上報,部分采樣,后錯峰恢復。
另外從業務上改造,各鏈路做優化。
?
????數據同步主要將不同源系統的數據文件通過文件服務器,上傳到目標系統,由于上傳下載可能會造成數據丟失,除上傳文件本身外還會上傳一個校驗文件,以確保準確性。通過解析日志文件獲取發生變更的數據,主要步驟為源系統日志文件到通過日志解析模塊,在由TCP/IP協議,數據加載模塊再到目標系統。
????數據存儲時候面對大量非結構化數據,將其直接以文本文件形式存放在文件系統中,這些數據也有著很大的作用,目前阿里的大數據處理系統MaxCompute數據存儲已經達到了PB級別!對于離線類型數據倉庫應用,需將不同數據源數據批量同步至數據倉庫。數據只有被整合和計算才能使用,挖掘潛在信息,數據的最大化價值化,阿里數據計算層主要包括倆大體系:數據存儲及計算云平臺(離線計算平臺MaxCompute和StreamCompute:阿里自主研發的流式大數據平臺)和數據整合及管理體系(內部稱之為OneData),構建統一規范可共享的全域數據體系,數據倉庫的數據加工鏈路包括:操作數據層(ODS)、明細層(DWD)、匯總層(ADS)。
????數據計算和整合好后,需要供給產品和應用進行消費,阿里構建了自己的數據服務層,通過接口服務話方式對外提供數據服務。數據源架構在各種數據庫之上,如Hbase,后面移至阿里云數據庫(ApsaraDB for RDS? 簡稱RDS)和表格存儲(Table Store),統一數據平臺(OneService ),提供數據查詢、復雜數據查詢、實時數據推送等服務。
????在數據應用層,需要將數據供給給用戶,阿里表現在各個方面:搜索、廣告、金融、文娛、物流、保險等,阿里平臺產品主要有實時數據監控、自助式數據網站或產品構建的數據小站、宏觀決策分析支撐平臺、對象分析工具、行業數據分析門、流量分析平臺等。
總結:在數據為王的時代,有數據是資本,能分析數據是優勢,最大消費數據是才是目的所在,有了這些數據才能成為新能源。
總結
以上是生活随笔為你收集整理的《大数据之路-阿里巴巴大数据实践》读书笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++数据结构——热闹的聚会
- 下一篇: 管外磁水处理器的简单介绍