據(jù)架構設計 1/2)
架構設計 相關文檔希望互相學習共同進步風123456789-CSDN博客系統(tǒng)架構設計 相關文章【架構專欄】架構考試介紹【架構專欄】架構知識點知識總覽?共19章內容主要包括11緒論、2計算機系統(tǒng)、3信息系統(tǒng)、4信息安全技術、5軟件工程26數(shù)據(jù)庫設計、7系統(tǒng)架構設計基礎知識38系統(tǒng)質量屬性與架構評估、9軟件可靠性、10軟件架構演化與維護、11未來信息綜合技術412信息系統(tǒng)架構設計、13層次式架構設計、14云原生架構設計、15面向服務架構設計、16嵌入式系統(tǒng)架構設計、17通信系統(tǒng)架構設計、18安全架構設計、19大數(shù)據(jù)架構設計每天進步一點點加油小伙伴們本文學習 第19章大數(shù)據(jù)架構設計以下為個人筆記希望有所幫助共同學習。涉及案例分析題和論文題側重理解性記憶來源于教材知識點需要靈活運用包括傳統(tǒng)數(shù)據(jù)處理系統(tǒng)存在的問題、大數(shù)據(jù)處理系統(tǒng)架構分析大數(shù)據(jù)處理系統(tǒng)面臨挑戰(zhàn)、大數(shù)據(jù)處理系統(tǒng)架構特征、Lambda 架構Lambda 架構對大數(shù)據(jù)處理系統(tǒng)的理解、應用場景、Lambda架構介紹、 Lambda架構的實現(xiàn)、Lambda 架構優(yōu)缺點、Lambda 與其他架構模式對比、Kappa架構Kappa架構下對大數(shù)據(jù)處理系統(tǒng)的理解、架構介紹、Kappa架構的實現(xiàn)、Kappa架構 的優(yōu)缺點、常見 Kappa架構 變形、Lambda 與 Kappa 架構的對比和設計選擇Lambda架構與Kappa架構的特性對比、Lambda架構與Kappa架構的設計選擇、大數(shù)據(jù)架構設計案例分析Lambda 架構在某網奧運中的大數(shù)據(jù)應用、Lambda架構在某網廣告平臺的應用與演進、某證券公司大數(shù)據(jù)系統(tǒng)、某電商智能決策大數(shù)據(jù)系統(tǒng)。第19章大數(shù)據(jù)架構設計?大數(shù)據(jù)架構主要面向大數(shù)據(jù)的容量體量、類型多樣、高速實時、客觀真實、價值可觀、變化多樣和復雜多源的特性既要構建高質量屬性的架構解決方案又受制于成本、性能、可擴展性等諸多條件。同時云計算、物聯(lián)網以及邊緣計算等客觀環(huán)境的發(fā)展也對大數(shù)據(jù)架構的設計提出了彈性、容器化等新的要求。當前主要技術實踐中以Lambda 架構、Kappa 架構和IOTA 架構較為典型 但新版考試大綱中主要考查 Lambda 架構、Kappa 架構在設計中的理論、理解及實踐。19.1 傳統(tǒng)數(shù)據(jù)處理系統(tǒng)存在的問題傳統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)過載問題傳統(tǒng)應用的數(shù)據(jù)系統(tǒng)架構設計時應用直接訪問數(shù)據(jù)庫系統(tǒng)。當用戶訪問量增加時數(shù)據(jù)庫無法支撐日益增長的用戶請求的負載從而導致數(shù)據(jù)庫服務器無法及時響應用戶請求出現(xiàn)超時的錯誤。常用解決方法如下1增加異步處理隊列通過工作處理層批量處理異步處理隊列中的數(shù)據(jù)修改請求。2建立數(shù)據(jù)庫水平分區(qū)通常建立 Key分區(qū)以主鍵/唯一鍵 Hash 值作為 Key。3建立數(shù)據(jù)庫分片或重新分片通常專門編寫腳本來自動完成且要進行充分測試。 4引入讀寫分離技術主數(shù)據(jù)庫處理寫請求通過復制機制分發(fā)至從數(shù)據(jù)庫。5引入分庫分表技術按照業(yè)務上下文邊界拆分數(shù)據(jù)組織結構拆分單數(shù)據(jù)庫壓力。大數(shù)據(jù)的特點大數(shù)據(jù)具有體量大、時效性強的特點并非構造單調而是類型多樣處理大數(shù)據(jù)時傳統(tǒng)數(shù)據(jù)處理系統(tǒng)因數(shù)據(jù)過載來源復雜類型多樣等諸多原因性能低下需要采用以新式計算架構和智能算法為代表的新技術大數(shù)據(jù)的應用重在發(fā)掘數(shù)據(jù)間的相關性而非傳統(tǒng)邏輯上的因果關系因此大數(shù)據(jù)的目的和價值就在于發(fā)現(xiàn)新的知識洞悉并進行科學決策?,F(xiàn)代大數(shù)據(jù)處理技術主要分為以下幾種1基于分布式文件系統(tǒng) Hadoop。2使用Map/Reduce 或 Spark 數(shù)據(jù)處理技術。3使用Kafka 數(shù)據(jù)傳輸消息隊列及Avro 二進制格式。大數(shù)據(jù)利用過程大數(shù)據(jù)的利用過程分為采集、清洗、統(tǒng)計和挖掘4 個過程。19.2 大數(shù)據(jù)處理系統(tǒng)架構分析19.2.1 大數(shù)據(jù)處理系統(tǒng)面臨挑戰(zhàn)大數(shù)據(jù)處理系統(tǒng)面臨的挑戰(zhàn)主要有1.如何利用信息技術等手段處理非結構化和半結構化數(shù)據(jù)2.如何探索大數(shù)據(jù)復雜性、不確定性特征描述的刻畫方法及大數(shù)據(jù)的系統(tǒng)建模3.數(shù)據(jù)異構性與決策異構性的關系對大數(shù)據(jù)知識發(fā)現(xiàn)與管理決策的影響19.2.2 大數(shù)據(jù)處理系統(tǒng)架構特征大數(shù)據(jù)處理系統(tǒng)應具有的屬性和特征包括魯棒性和容錯性、低延遲、橫向擴展通過增強機器性能擴展、通用、可擴展、即席查詢用戶按照自己的要求進行查詢、最少維護和可調試。1.魯棒性和容錯性 (Robust and Fault-tolerant)2.低延遲讀取和更新能力 (Low Latency Reads and Updates)3.橫向擴容 (Scalable)4.通用性 (General)5.延展性 (Extensible)6.即席查詢能力 (Allows Ad Hoc Queries)7.最少維護能力 (Minimal Maintenance)8.可調試性 (Debuggable)19.3 Lambda 架構19.3.1 Lambda 架構對大數(shù)據(jù)處理系統(tǒng)的理解Lambda 架構是一種用于同時處理離線和實時數(shù)據(jù)的、可容錯的、可擴展的分布式系統(tǒng)。Lambda 架構設計目的在于提供一個能滿足大數(shù)據(jù)系統(tǒng)關鍵特性的架構包括高容錯、低延遲、可擴展等。其整合離線計算與實時計算融合不可變性、讀寫分離和復雜性隔離等原則。Lambda是用于同時處理離線和實時數(shù)據(jù)的可容錯的可擴展的分布式系統(tǒng)。它具備強魯棒性提供低延遲和持續(xù)更新。19.3.2 Lambda 架構應用場景Lambda架構應用場景機器學習、物聯(lián)網、流處理。1.機器學習中的 Lambda架構2.物聯(lián)網的 Lambda架構3.流處理和 Lambda 架構挑戰(zhàn)19.3.3 Lambda架構介紹Lambda 架構可分解為三層即批處理層、加速層、服務層。Lambda 架構分為以下 3 層1批處理層Batch Layer。該層核心功能是存儲主數(shù)據(jù)集主數(shù)據(jù)集數(shù)據(jù)具有原始、不可變、真實的特征。批處理層周期性地將增量數(shù)據(jù)轉儲至主數(shù)據(jù)集并在主數(shù)據(jù)集上執(zhí)行批處理生成批視圖。Batch Layer 在數(shù)據(jù)集上預先計算查詢函數(shù)并構建查詢所對應的View。BatchLayer可以很好地處理離線數(shù)據(jù)但有很多場景數(shù)據(jù)不斷實時生成并且需要實時查詢處理。Speed Layer正是用來處理增量的實時數(shù)據(jù)。架構實現(xiàn)方面可以使用 Hadoop HDFS 或 HBase 存儲主數(shù)據(jù)集再利用 Spark 或 MapReduce 執(zhí)行周期批處理之后使用 MapReduce 創(chuàng)建批視圖。2加速層Speed Layer。該層的核心功能是處理增量實時數(shù)據(jù)生成實時視圖快速執(zhí)行即席查詢。Batch Layer 處理的是全體數(shù)據(jù)集,而 Speed Layer處理的是最近的增量數(shù)據(jù)流。Speed Layer為了效率在接收到新的數(shù)據(jù)后會不斷更新Real-time View, 而Batch Layer是根據(jù)全體離線數(shù)據(jù)集直接得到BatchView。架構實現(xiàn)方面可以使用 Hadoop HDFS 或 HBase 存儲實時數(shù)據(jù)利用 Spark 或 Storm 實現(xiàn)實時數(shù)據(jù)處理和實時視圖。3服務層Serving Layer。該層的核心功能是響應用戶請求合并批視圖和實時視圖中的結果數(shù)據(jù)集得到最終數(shù)據(jù)集。具體來說就是接收用戶請求通過索引加速訪問批視圖直接訪問實時視圖然后合并兩個視圖的結果數(shù)據(jù)集生成最終數(shù)據(jù)集響應用戶請求。Serving Layer 用于合并 Batch View 和 Real-time View 中的結果數(shù)據(jù)集到最終數(shù)據(jù)集。用于響應用戶的查詢請求。架構實現(xiàn)方面可以使用 HBase 或 Cassandra 作為服務層通過Hive 創(chuàng)建可查詢的視圖。19.3.4 Lambda架構的實現(xiàn)如圖所示在這種 Lambda 架構實現(xiàn)中1Hadoop(HDFS) 用于存儲主數(shù)據(jù)集2Spark或Storm) 可構成速度層SpeedLayer)3HBase或Cassandra) 作為服務層由 Hive 創(chuàng)建 可查詢的視圖?!?Hadoop 是被設計成適合運行在通用硬件上的分布式文件系統(tǒng)。HDFS是一個具有高度容錯性的系統(tǒng)能提供高吞吐量的數(shù)據(jù)訪問非常適合大規(guī)模數(shù)據(jù)集上的應用。HDFS放寬了一些約束以達到流式讀取文件系統(tǒng)數(shù)據(jù)的目的?!?ApacheSpark 是專為大規(guī)模數(shù)據(jù)處理而設計的快速通用的計算引擎。Spark中間輸出結果可以保存在內存中從而不再需要讀寫HDFS因此Spark能更好地適用于數(shù)據(jù)挖掘與機器學習等需要迭代的Map Reduce算法。◆ HBase-HadoopDatabase是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng)利用HBase技術可在廉價 PCServer 上搭建起大規(guī)模結構化存儲集群。19.3.5 Lambda 架構優(yōu)缺點Lambda 架構優(yōu)缺點1Lambda 架構的優(yōu)點容錯性好查詢靈活度高彈性伸縮易于擴展。2Lambda 架構的缺點編碼量大持續(xù)處理成本高重新部署遷移成本高。全場景覆蓋帶來的編碼開銷。針對具體場景重新離線訓練一遍益處不大。重新部署和遷移成本很高。19.3.6 Lambda 與其他架構模式對比與 Lambda 架構相似的模式有事件溯源模式、命令查詢職責分離模式。1.事件溯源 (Event Sourcing) 與 Lambda 架構EventSourcing 本質上是一種數(shù)據(jù)持久化的方式其由三個核心觀點構成1整個系統(tǒng)以事件為驅動所有業(yè)務都由事件驅動來完成。2事件是核心系統(tǒng)的數(shù)據(jù)以事件為基礎事件要保存在某種存儲上。3業(yè)務數(shù)據(jù)只是一些由事件產生的視圖不一定要保存到數(shù)據(jù)庫中。Lambda 架構中數(shù)據(jù)集的存儲使用的概念與 Event Sourcing 中的思想完全一致二者都是在使用統(tǒng)一的數(shù)據(jù)模型對數(shù)據(jù)處理事件本身進行定義。這樣在發(fā)生錯誤的時候能夠通過模型找到錯誤發(fā)生的原因對這一事件進行重新計算以丟棄錯誤信息恢復到系統(tǒng)應該的正確狀態(tài)以此實現(xiàn)了系統(tǒng)的容錯性。2.CQRS與 Lambda 架構CQRS 架構分離了對于數(shù)據(jù)進行的讀操作查詢和寫修改)操作。其將能夠改變數(shù)據(jù)模型狀態(tài)的命令 和 對于模型狀態(tài)的查詢操作 實現(xiàn)了分離。這是領域驅動設計的一個架構模式主要用來解決數(shù)據(jù)庫報表的輸出處理方式。Lambda 架構中數(shù)據(jù)的修改通過 批處理 和 流處理 實現(xiàn)通過寫操作將數(shù)據(jù)轉換成查詢時所對應的View。在Lambda架構中對數(shù)據(jù)進行查詢時實際上是通過讀取 View 直接得到結果讀出所需的內容。這實際上是一種形式的讀寫分離。19.4 Kappa架構【架構專欄】第19章 大數(shù)據(jù)架構設計 2/2https://blog.csdn.net/weixin_42081167/article/details/16673558819.5 Lambda 與 Kappa 架構的對比和設計選擇【架構專欄】第19章 大數(shù)據(jù)架構設計 2/2https://blog.csdn.net/weixin_42081167/article/details/16673558819.6 大數(shù)據(jù)架構設計案例分析【架構專欄】第19章 大數(shù)據(jù)架構設計 2/2https://blog.csdn.net/weixin_42081167/article/details/166735588習題以下關于大數(shù)據(jù)的說法中錯誤的是 。A大數(shù)據(jù)擁有體量大、構造單調、時效性強等特點B處理大數(shù)據(jù)需要采用新式計算架構和智能算法等新技術C大數(shù)據(jù)的應用著重相關剖析而不是因果剖析D大數(shù)據(jù)的目的在于發(fā)現(xiàn)新的知識洞悉并進行科學決策解析大數(shù)據(jù)具有體量大、時效性強的特征并非構造單調而是類型多樣處理大數(shù)據(jù)時 傳統(tǒng)數(shù)據(jù)處理系統(tǒng)因數(shù)據(jù)過載來源復雜類型多樣等諸多原因性能低下需要采用以新式計算架構和智能算法為代表的新技術大數(shù)據(jù)的應用重在發(fā)掘數(shù)據(jù)間的相關性而非傳統(tǒng)邏輯上的因果關系因此大數(shù)據(jù)的目的和價值就在于發(fā)現(xiàn)新的知識洞悉并進行科學決策。答案ALambda 架構分為三層 1 的核心功能是存儲主數(shù)據(jù)集。 2 的核心功能是處理增量實時數(shù)據(jù)生成實時視圖快速執(zhí)行即席查詢。 3 的核心功能是響應用戶請求合并批 視圖和實時視圖中的結果數(shù)據(jù)集得到最終數(shù)據(jù)集。1A批處理層B流處理層 C加速層 D存儲層2A批處理層 B服務層 C加速層D視圖層3A視圖層 B流處理層 C服務層D存儲層解析Lambda 架構分為 3 層1批處理層。該層的核心功能是存儲主數(shù)據(jù)集主數(shù)據(jù)集數(shù)據(jù)具有原始、不可變、真實的 特征。批處理層周期性地將增量數(shù)據(jù)轉儲至主數(shù)據(jù)集并在主數(shù)據(jù)集上執(zhí)行批處理生成批視圖。 架構實現(xiàn)方面可以使用 Hadoop HDFS 或 HBase 存儲主數(shù)據(jù)集再利用 Spark 或 Map/Reduce 執(zhí)行 周期批處理之后使用 Map/Reduce 創(chuàng)建批視圖。2加速層。該層的核心功能是處理增量實時數(shù)據(jù)生成實時視圖快速執(zhí)行即席查詢。架 構實現(xiàn)方面可以使用 Hadoop HDFS 或 HBase 存儲實時數(shù)據(jù)利用 Spark 或 Storm 實現(xiàn)實時數(shù)據(jù)處理和實時視圖。3服務層。該層的核心功能是響應用戶請求合并批視圖和實時視圖中的結果數(shù)據(jù)集得到最終數(shù)據(jù)集。具體來說就是接收用戶請求通過索引加速訪問批視圖直接訪問實時視圖然后合并兩個視圖的結果數(shù)據(jù)集生成最終數(shù)據(jù)集響應用戶請求。架構實現(xiàn)方面可以使用HBase 或 Cassandra 作為服務層通過 Hive 創(chuàng)建可查詢的視圖。答案A C Cok, 今天就到這里吧 相關系列文章歡迎點贊、收藏提供意見?計算機系統(tǒng)基礎知識 1分概述、計算機硬件、計算機軟件操作系統(tǒng) 3分進程管理、存儲管理、文件管理、設備管理數(shù)據(jù)庫技術 3分數(shù)據(jù)庫設計、關系代數(shù)、范式、事務并發(fā)、數(shù)據(jù)庫安全、新技術嵌入式技術 3分嵌入式硬件、嵌入式操作系統(tǒng)、嵌入式軟件開發(fā)計算機網絡 3分超綱較多OSI七層模型、TCP/IP協(xié)議族、網絡生命周期、IP地址其他計算機系統(tǒng)基礎知識 1分計算機語言、多媒體、系統(tǒng)工程系統(tǒng)性能 1分性能指標、性能設計信息系統(tǒng)基礎知識 3分信息系統(tǒng)生命周期、開發(fā)方法、五大典型系統(tǒng)信息安全技術基礎 5分安全屬性、信息安全技術、網絡安全技術、安全協(xié)議軟件工程 12分概述、需求工程、系統(tǒng)設計、運維、測試、基于構件面向對象技術 3分面向對象基礎、分析設計、UML關系、圖項目管理 1分進度管理、配置管理、質量管理、風險管理系統(tǒng)架構設計 20分架構概念、生命周期、ABSD、DSSA、架構風格、架構復用、質量屬性、架構評估軟件可靠性 2分可靠性建模、軟件可靠性設計軟件架構的演化和維護1分架構演化分類、評估、面向對象架構演化未來信息綜合技術 3分信息物理系統(tǒng)、人工智能、邊緣計算、機器人、數(shù)字李生、云計算數(shù)學與經濟管理 2分最小生成樹、最短路徑、網絡與最大流量、線性規(guī)劃、決策論知識產權和標準化 2分知識產權屬性、保護期限、產權人確定、侵權判定專業(yè)英語 5分完形填空大學英語3級難度自學架構專欄知識點【架構專欄】架構考試介紹【架構專欄】架構知識點【架構專欄】第1章 緒論【架構專欄】第11章 未來信息綜合技術【架構專欄】第2章 計算機基礎知識【架構專欄】第12章 信息系統(tǒng)架構設計理論與實踐【架構專欄】第3章 信息系統(tǒng)基礎知識【架構專欄】第13章 層次式架構設計理論與實踐【架構專欄】第4章 信息安全技術基礎知識【架構專欄】第14章 云原生架構設計理論與實踐【架構專欄】第5章 軟件工程基礎知識【架構專欄】第15章 面向服務架構設計理論與實踐【架構專欄】第6章 數(shù)據(jù)庫設計基礎知識【架構專欄】第16章 嵌入式系統(tǒng)架構設計理論與實踐【架構專欄】第7章 系統(tǒng)架構設計基礎知識【架構專欄】第17章 通信系統(tǒng)架構設計理論與實踐【架構專欄】第8章 系統(tǒng)質量屬性與架構評估【架構專欄】第18章 安全架構設計理論與實踐【架構專欄】第9章 軟件可靠性基礎知識【架構專欄】第19章 大數(shù)據(jù)架構設計理論與實踐【架構專欄】第10章 軟件架構的演化和維護希望有所幫助互相學習、共同進步歡迎點贊、收藏