從程序員到架構師:大數據技術金融級全場景應用實戰 王偉杰 趙世輝
定 價:¥99
中 教 價:¥54.45 (5.50折)
庫 存 數: 1
本書以功能更廣更深、可靠性和安全性要求更高的金融級大數據平臺為參照,介紹大數據平臺的架構過程及各種大數據技術,不僅包含數據采集、數據集成、作業調度、數據加工、實時數據倉庫、數據服務、數據可視化、數據挖掘等常見的應用場景,還加入了數據質量、數據安全、三態投產等廣受關注的內容。本書以業務場景、技術選型、技術架構對主要章節進行劃分,讓讀者在理解大數據業務需求的基礎上,了解各種大數據技術,并能夠選取合適的技術來構建大數據平臺。 本書內容豐富,圖文并茂,實戰性強,適合大數據技術初學者,政府、金融機構的大數據應用決策和技術人員,以及IT經理、CTO、CIO等快速學習大數據技術,并能快速提升讀者的大數據平臺架構能力。
金融級別大數據技術應用,全場景、全技術在架構師的業務場景講述中,體會實際技術需求、難點與應用,技術學習更高效14個業務場景,圖文并茂,教你技術如何選、如何用
前言隨著互聯網和數字化技術的飛速發展,大數據成為熱門的技術領域。特別是2019年國家明確將數據視為生產要素以來,大數據技術的發展更加迅猛,已經成為現代社會各行各業發展的最大變量。掌握大數據技術,對于程序員來說,可以極大地提升職場價值和社會價值。然而,作者在學習MapReduce和Spark的時候,有多次從入門到放棄的經歷。相關的技術教程很多,即使按照教程一步步學習,也往往不得其解,過了一段時間就忘掉了,需要從頭再學。現有的大數據技術非常多,如Hive、MPP、Spark、Flink、Kafka、Hudi、Iceberg等,這些技術往往很復雜,學習代價也很大。即使下定決心去學一種技術,也會因為不知道這種技術對未來工作有沒有用,而帶著質疑去學習,效果可想而知。如果有這么一本書,像講故事一樣,描述用特定大數據技術解決一些業務問題的項目經歷,在各種大數據使用場景中引領讀者學習各種大數據技術的具體應用,那么讀者就可以參照這些場景,并結合自己的實際工作,從應用出發,帶著一些具體問題,研究對應的大數據技術,這樣的學習是更有效的。這就是本書的意義所在。下面對本書的結構脈絡進行說明。1.大數據技術應用場景選取本書以大數據技術應用場景進行章節劃分,所述場景力求全面,而金融業在大數據技術運用的深度和廣度上都有優勢,且應用場景比較典型。在過去的十幾年里,作者團隊一直扎根金融大數據技術研發,對大數據技術體系的龐大和應用場景的復雜多樣深有體會,且積累了大量實戰經驗。本書由團隊中不同大數據領域的十幾位技術負責人編寫,囊括豐富的大數據應用場景,涉及常用的大數據技術。本書將這些場景分成五類。1)數據處理類:將數據從業務系統采集到數據倉庫,以及在數據倉庫做批量加工或者流式加工。2)數據使用類:數據加工完成以后,以數據服務、數據可視化圖表的方式給到業務系統,并滿足數據使用過程中的響應速度要求。3)數據治理類:大數據所有端到端過程中的質量管理、元數據管理、安全管理。4)數據運維類:大數據系統中的作業調度、跨環境部署、計算資源管理。5)綜合場景類:一些特殊的綜合場景,如數據湖、流批一體、信創等。除了在本集團落地以外,團隊解決大數據應用問題的方案或產品也會輸出到同行業其他公司和其他行業的公司。在與同行的交流當中,作者發現,雖然團隊使用的有些技術架構不是最前沿的(因為金融業比較注重穩定性和安全性),但是幾乎覆蓋大數據能碰到的所有場景,所以本書所選的場景,應該可以滿足大部分大數據技術人員的訴求。2.每個場景的編寫脈絡本書每個場景基本都是按照如下脈絡展開的。1)描述業務需求。2)分析業務需求對應要解決的技術問題,歸納出幾個待解決的技術難點。3)闡述每個技術難點的解決思路。4)針對解決思路進行技術選型。5)分析針對每一個難點的解決方案。6)整合得到整體解決方案和技術架構。7)闡述方案落地時的技術要點或注意事項。8)介紹方案實際應用效果。9)分析架構的優缺點、使用注意事項、不適合的場景(使用限制)。以上內容基本是按照大數據架構師碰到特定業務問題時,從需求分析到方案落地,再到事后總結的整個歷程編排的。讀者閱讀時,可以從架構師的角度進行思考,也能夠習得架構師的一些實戰經驗。本書基于場景進行大數據技術應用講解,在以下幾個方面可以幫助讀者。1.學習新技術開發人員學習新技術時,可能已經確定這項技術要用在哪里,比如,為了快速搜索一個有上千萬條記錄的大表,就去學習Elasticsearch;也可能并不清楚這項技術的用途,比如,因為很流行用Spark作為大數據平臺,所以就去學習。這兩種情況里,前者往往通過相關教程或者官方文檔就能上手使用,但是對于后者,開發人員在學習過程中可能經常會想,為什么要有某個功能?為什么會有Shuffle?結果資料看完了,對技術如何使用還是云里霧里的。閱讀這本書,在應用場景中學技術,知道某項技術能解決什么問題,也就能理解它為什么那樣設計,才能真正學會它。2.發揮數據的業務價值技術人員都希望利用自己的技術能力提供業務價值,在大數據平臺中,就是利用大數據技術挖掘數據的價值。但是實現這個目標并不容易,需要豐富的實戰經驗,對于新手來說,往往要花費不少時間進行諸多項目的歷練。這時就可以參考本書,對照自己的任務需求找到類似的項目實施過程。3.提升自我價值如果想成為一名架構師,需要在哪些方面有所提升?需要做些什么?答案可能是,列出幾個甚至幾十個維度,對照自己的不足逐個進行改進。作者認為,有一個更簡單的答案:某個項目需要設計方案去實現某種相對較新的功能,如果能夠給出可行方案,那就是完成了一項架構師工作。對于一個新的項目需求,可以通過自己之前的項目經歷去解決,本書的案例也能提供一些參考。希望本書能夠幫助技術人員為公司解決更多的實際問題,提升自我價值。4.面試展示面試的時候,通常面試官會了解一下候選人的具體項目或架構經歷,很多候選人無法清楚展現自己解決問題的過程和其間發揮的作用。本書提供了大量的實戰案例,并且每個案例都非常詳細地闡述了從業務需求到技術落地過程中方方面面的考量,能為讀者的項目經歷展示提供一些參考,閱讀中的思考過程也能幫助讀者對大數據技術應用和項目實施進行梳理與總結。需要注意的是,本書基于實戰經歷編寫,注重業務需求描述和技術應用講解,目的是讓讀者深入業務去理解技術,如果想具體學習一項技術的使用方法,可以閱讀相應的圖書、官方文檔等資料。相信讀者在了解以上編寫思路后,在閱讀本書時會更有針對性。接下來,請開啟基于全場景應用實戰學習大數據技術的歷程吧。
編者
擁有近20年互聯網研發經驗,涉及保險、電商、銀行等行業,曾帶領團隊完成20多個架構搭建/改造項目,具有豐富的架構遷移、大數據計算框架搭建、億級大數據量系統優化經驗,在AI工程化落地、中臺化改造、DevOps等方面也有大量實踐。編者團隊為大型國有銀行資深團隊,具有豐富的大型金融級大數據平臺搭建、改造、運維、管理經驗。
前言第1部分 概述及數據處理第1章 金融大數據應用概述/1.1 金融大數據技術發展歷程/1.2 大數據技術分類/1.3 金融大數據技術應用場景/第2章 數據采集/2.1 數據采集業務場景/2.2 存儲到HDFS的采集技術方案/2.2.1 前端渠道用戶行為數據采集/2.2.2 服務端應用層數據采集/2.2.3 數據庫層的采集/2.2.4 基于HDFS的數據采集整體架構/2.3 T 0的采集技術方案/2.3.1 T 0采集架構與基于HDFS的采集架構的不同點/2.3.2 T 0采集架構在前端、后端以及數據庫端的設計/2.3.3 T 0數據采集整體架構/2.4 全域數據實時采集的技術挑戰/2.5 實現全域數據實時采集的技術思路/2.5.1 數據庫數據實時采集/2.5.2 基于Flink的采集平臺和采集類型算子化/2.5.3 如何保證實時采集鏈路數據的一致性/2.6 全域數據實時采集的整體技術方案/2.6.1 數據源層/2.6.2 數據采集層/2.6.3 數據存儲層/2.6.4 如何選擇合適的采集模式/2.7 本章小結/第3章 數據離線處理/3.1 數據離線處理業務場景/3.2 數據離線處理架構的主要難點/3.2.1 數據傳輸標準/3.2.2 可以快速自由組合大數據處理動作的架構/3.2.3 數據離線處理的整體技術架構/3.2.4 數據離線處理各環節的技術要點/3.3 企業級數據傳輸標準/3.3.1 標準文件定義/3.3.2 模型演進下的數據傳輸標準/3.4 快速自由組合大數據作業流的架構要點/3.4.1 大數據離線處理作業開發流程/3.4.2 大數據離線處理作業開發流程技術要點/3.5 數據離線處理整體架構要點/3.5.1 大數據開發人員是寫代碼還是寫SQL語句/3.5.2 是否使用單一的計算引擎/3.5.3 如何解決事務的場景問題/3.5.4 整體架構/3.6 離線處理動作實現要點/3.6.1 數據卸載/3.6.2 數據傳輸/3.6.3 數據預處理/3.6.4 數據加載/3.6.5 數據加工/3.6.6 數據復制/3.7 本章小結/第4章 流式數據處理/4.1 流式數據處理業務場景/4.2 流式數據處理簡介/4.2.1 什么是流式處理/4.2.2 流計算和實時計算有什么區別/4.2.3 流處理引擎/4.2.4 引擎選型思路/4.3 整體方案/4.4 方案難點和解決思路/4.4.1 如何處理延遲與亂序數據/4.4.2 如何實現維表關聯/4.4.3 計算結果存在哪里/4.4.4 如何保證數據一致性/4.5 運維注意事項/4.5.1 監控哪些指標/4.5.2 優化并行度/4.5.3 做好數據補償的準備/4.6 本章小結/第2部分 數據使用第5章 數據服務/5.1 數據服務業務場景/5.1.1 構建聯機同步數據服務的案例/5.1.2 案例擴展/5.1.3 數據服務的需求/5.2 規劃的功能架構/5.3 建設思路/5.3.1 服務訪問代理層/5.3.2 網關層/5.3.3 服務管理層/5.3.4 數據服務/5.3.5 數據訪問代理(查詢引擎)/5.4 整體架構和時序圖示例/5.4.1 整體架構/5.4.2 時序圖示例/5.4.3 注意事項/5.5 本章小結/第6章 數據加速/6.1 數據加速業務場景/6.2 技術選型/6.2.1 選型維度介紹/6.2.2 ClickHouse、Kylin、Elasticsearch和Doris的對比/6.2.3 ClickHouse和Doris的對比/6.2.4 ClickHouse和Kylin的對比/6.2.5 選型結論/6.3 整體架構介紹/6.3.1 功能架構介紹/6.3.2 業務流程介紹/6.4 基于ClickHouse的實戰介紹/6.4.1 基于ClickHouse的數據鏈路/6.4.2 ClickHouse部署架構/6.4.3 部署規劃/6.4.4 配置經驗/6.5 基于Kylin的實戰介紹/6.5.1 基于Kylin的數據鏈路/6.5.2 配置經驗/6.6 本章小結/第3部分 數據治理第7章 元數據管理/7.1 元數據管理的業務背景/7.1.1 元數據管理的目標/7.1.2 元數據管理的功能需求/7.2 詳細設計思路和實現方案/7.2.1 元數據模型/7.2.2 元數據存儲/7.2.3 元數據采集與登記/7.2.4 元數據設計與發布/7.2.5 數據權限管理/7.2.6 元數據應用/7.3 整體技術架構介紹/7.4 本章小結/第8章 數據安全管理/8.1 數據安全管理業務背景/8.1.1 需求討論/8.1.2 數據安全流程/8.2 識別和脫敏的技術難點/8.2.1 如何快速掃描和識別成千上萬張表/8.2.2 如何即時解析用戶的SQL語句獲取查詢的表字段/8.2.3 如何保存識別出來的數據保密等級/8.3 識別大量數據/8.3.1 識別數據的主要步驟和思路/8.3.2 自動識別的技術方案/8.4 動態脫敏的技術方案/8.4.1 動態脫敏的主要流程/8.4.2 使用Calcite解析SQL/8.4.3 動態脫敏接口設計/8.5 用MySQL保存識別出來的數據保密等級/8.6 本章小結/第9章 數據質量管理/9.1 數據質量管理業務背景/9.2 技術語言業務化/9.2.1 完善數據字典/9.2.2 元數據信息可視化/9.2.3 檢核規則模板化/9.3 數據技術檢核任務的自動化生成/9.3.1 技術檢核的難點/9.3.2 技術檢核任務的自動化/9.4 大數據文件的檢核/9.4.1 檢核數據方法/9.4.2 大文件快速檢核技術實現方案/9.4.3 方案的權衡點/9.5 端到端的架構/9.6 本章小結/第4部分 數據部署與運維第10章 大數據作業調度/10.1 作業調度的技術難點/10.1.1 架構設計/10.1.2 作業編排/10.1.3 資源管理/10.1.4 作業監控運維/10.1.5 非功能要求/10.2 作業調度整體架構/10.2.1 經典兩層作業調度架構/10.2.2 早期分布式作業調度架構/10.2.3 基于MQ/Redis的分布式作業調度架構/10.3 作業排程/10.3.1 作業排程的主要步驟和思路/10.3.2 基于Redis的智能化作業排程方案/10.4 作業資源管理/10.5 調度運維服務/10.5.1 作業影響性分析/10.5.2 故障診斷/10.6 調度非功能設計/10.6.1 性能/10.6.2 可靠性/10.7 業務使用效果及局限性總結/10.8 作業調度發展趨勢與未來規劃/10.9 本章小結/第11章 大數據計算資源管理/11.1 大數據計算資源管理業務場景/11.1.1 資源管理業務背景/11.1.2 資源類型/11.1.3 大數據平臺資源規劃/11.1.4 跨AZ資源管理/11.1.5 資源使用監控/11.2 資源管理技術實現思路/11.2.1 資源管理技術實現簡介/11.2.2 基于Kubernetes的資源管理實現/11.2.3 基于YARN的Hadoop資源管理實現/11.3 資源管理解決方案設計/11.3.1 資源管理整體流程/11.3.2 資源管理整體實現架構/11.3.3 資源管理中靈活資源配置場景介紹/11.4 資源管理設計不足探討/11.5 本章小結/第12章 三態投產/12.1 三態投產業務場景/12.1.1 大數據三態/12.1.2 常規軟件投產/12.1.3 自研投產部署方案的技術難點/12.2 解決思路/12.2.1 要在三態中投產的大數據應用內容/12.2.2 導入導出的范圍控制/12.2.3 導入導出的性能問題/12.2.4 制品和平臺及其組件版本的兼容性/12.2.5 制品的數據完整性/12.3 整體方案介紹/12.3.1 整體架構/12.3.2 方案要點/12.4 本章小結/第5部分 綜合應用場景第13章 流批一體/13.1 流批一體業務背景/13.2 流批一體初步架構/13.2.1 場景問題解決思路/13.2.2 架構方案/13.2.3 Lambda架構/13.2.4 存在的問題/13.3 流批同寫一張表的架構/13.3.1 什么是流批同寫一張表/13.3.2 技術選型/13.3.3 Hudi原理介紹/13.3.4 架構方案/13.3.5 要點和技術難點/13.3.6 待解決的問題/13.3.7 使用效果/13.4 處理層面的流批一體/13.4.1 技術選型/13.4.2 流批處理一體架構方案/13.4.3 關于Kappa架構/13.5 選擇什么樣的流批一體架構方案/13.5.1 3種流批一體架構方案對比/13.5.2 流批一體是否會取代流處理或批處理/13.6 本章小結/第14章 數據湖應用/14.1 什么是數據湖/14.2 為什么要建設數據湖/14.3 數據湖的規劃設計/14.3.1 數據湖和數據倉庫的區別與關系/14.3.2 數據湖架構規劃/14.4 數據湖的技術選型/14.4.1 數據獲取/14.4.2 數據存儲/14.4.3 數據處理/14.4.4 訪問分析/14.4.5 數據管理/14.5 數據湖的整體架構/14.5.1 技術架構/14.5.2 數據鏈路介紹/14.6 數據湖建設中的問題/14.7 本章小結/第15章 建設自主可控的信創大數據平臺/15.1 建設大數據平臺的業務背景/15.1.1 為什么要建設大數據平臺/15.1.2 建設大數據平臺的架構需求/15.1.3 待解決的架構問題/15.2 組件劃分及設計/15.2.1 組件劃分/15.2.2 各組件設計思路/15.2.3 組件間協同/15.3 信創適配/15.3.1 什么是信創/15.3.2 信創環境適配常見問題/15.3.3 適配工作/15.4 整體架構/15.5 本章小結/第16章 大數據發展趨勢與未來規劃/16.1 大數據領域新技術的發展/16.1.1 新型數據存儲與計算架構/16.1.2 實時數據處理技術/16.1.3 數據治理和安全隱私保護技術/16.2 大數據與其他技術領域的融合發展/16.2.1 大數據技術領域內部融合/16.2.2 大數據與人工智能技術/16.2.3 大數據與物聯網技術/16.2.4 大數據與云原生技術/16.3 技術人員的應對措施/16.3.1 創新思維和跨界思維/16.3.2 持續學習的態度/16.3.3 關注技術的業務價值而不是技術本身/16.4 大數據開發中的幾個誤區/16.4.1 重技術不重業務/16.4.2 重繼承不重創新/16.4.3 重功能不重非功能/16.4.4 技術上重深度不重廣度/后記/