實時計算數據架構的演變

来源:https://www.cnblogs.com/nicekk/archive/2019/09/18/11546384.html
-Advertisement-
Play Games

傳統數據基礎架構 傳統單體數據架構最大的特點便是集中式數據存儲,大多數分為計算層和存儲層。 存儲層,主要是負責存儲企業各種系統產生的數據,如 Web 業務系統、訂單系統、CRM 系統,ERP 系統、監控系統,數據比如系統的訂單交易量,網站的活躍用戶數,每個用戶的交易額。 所有的操作均需要藉助於同一套 ...


傳統數據基礎架構
傳統單體數據架構最大的特點便是集中式數據存儲,大多數分為計算層和存儲層。

存儲層,主要是負責存儲企業各種系統產生的數據,如 Web 業務系統、訂單系統、CRM 系統,ERP 系統、監控系統,數據比如系統的訂單交易量,網站的活躍用戶數,每個用戶的交易額。
所有的操作均需要藉助於同一套資料庫實現。
單體架構初期效率很高,但是隨著時間的推移,業務越來越多,上線迭代很快。
但隨著後期業務越來越多,系統逐漸變的臃腫。資料庫變成了唯一准確的數據源,每個應用都需要訪問資料庫來獲取對應的數據,如果資料庫發生改變或者出現問題,整個業務系統都會受到影響。

微服務架構
微服務將系統拆分成不同的獨立服務模塊,每個模塊有自己獨立的資料庫,不同的業務之間互相不幹擾,微服務架構解決了業務系統拓展性的問題,但是隨之也帶來了新的問題。
就是業務數據過於分散在不同的系統中,很難將數據集中化管理。對於企業內部數據倉庫,數據挖掘之類的應用,需要把各個業務系統資料庫數據抽取到數據倉庫之中,在數據倉庫中進行數據的抽取、轉換、載入(ETL),從而構建不同的數據集市應用,提供給業務系統用。

大數據數據架構
起初,數據是構建在關係型資料庫之上,但隨著企業數據量的暴增,關係型資料庫已經無法支撐起大規模數據集的存儲和分析,於是基於HADOOP構建企業級大數據平臺便成為了共識。
後來,離線的高延遲漸漸的無法滿足企業需求,例如一些時間要求比較高的應用,實時報表統計,需要非常低的延時展示結果。為此業界提出一套lambda架構方案來處理不同類型的數據。

包含了批量計算的 Batch Layer和實時計算的 Speed Layer,通過在一套平臺中,將批計算和流計算結合在一起。
lambda 架構是構建大數據應用程式的一種很有效的解決方案,但還不是最完美的方案

有狀態流式架構
數據產生的本質,其實是一條條真實存在的事件,而前面講的不同的架構所用到的技術,如hadoop,spark,多少都在一定程度上違背了這種本質,需要在一定延時的情況下對業務數據進行處理。
而有狀態的流計算架構,基於實時的流式數據,維護所有計算過程的狀態,所謂狀態就是計算過程中產生的所有中間計算結果,每次計算新的數據進入到流式系統中都是基於中間狀態結果的基礎上進行計算,最終產生正確的統計結果。

這種架構好處是,不需要從原始數據重新從外部存儲中拿出來,從而進行全量計算;另外用戶也無需協調各種批量計算工具,從數據倉庫中獲取統計結果,然後再落地存儲,這些操作全部都可以基於流式操作來完成


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 場景 我的CSDN: https://blog.csdn.net/BADAO_LIUMANG_QIZHI 實現 馬士兵Java學習視頻 方立勛JavaWeb 尚矽谷Python核心基礎 數據分析 機器學習 MYSQL 500本電子書 機器學習深度學習篇 軟體測試全套教程 Bootsrap 大數據從0 ...
  • 之前一次公司培訓的時候,將它記錄下來,https://www.cnblogs.com/AlvinLee/p/10180536.html這個博客上面比較全面。 1、擴展方法 擴展方法時一種特殊的靜態方法,可以像該類的實例方法一樣使用,能夠在不添加新的派生類,重新編譯的秦光霞,向現有類添加功能 註意事項 ...
  • 1.代碼生成器: [正反雙向](單表、主表、明細表、樹形表,快速開發利器)freemaker模版技術 ,0個代碼不用寫,生成完整的一個模塊,帶頁面、建表sql腳本、處理類、service等完整模塊2.多數據源:(支持同時連接無數個資料庫,可以不同的模塊連接不同數的據庫)支持N個數據源3.阿裡資料庫連 ...
  • 一、生產者消費者模型 二、協程 1.協程參考資料: http://python.jobble.com/86481/ http://python.jobble.com/87310/ https://segmentfault.com/a/1190000009781688 2.迭代器參考資料 可迭代(it ...
  • 說起來非常慚愧,我在 2008 年的時候就接觸了 Java,但一直到現在(2018 年 10 月 10 日),基礎知識依然非常薄弱。用一句話自嘲就是:十年 IT 老兵,Java 菜雞一枚。 於是,我想,不如靜下心來,重新讀一遍那些經典的 Java 技術書,並且沒讀完一章就輸出一篇原創技術文章。從哪一 ...
  • Python Flask高級編程之RESTFul API前後端分離精講 (免費分享) 點擊鏈接或搜索QQ號直接加群獲取其它資料: 鏈接:https://pan.baidu.com/s/12eKrJKN-MzscalsJKRoL5w 提取碼:88hj 免費分享,如若鏈接失效請加群 其它資源在群里,私聊 ...
  • flink 通過實現了 Google Dataflow 流式計算模型實現了高吞吐、低延遲、高性能兼具實時流式計算框架。 同時 flink 支持高度容錯的狀態管理,防止狀態在計算過程中因為系統異常而丟失,flink 周期性地通過分散式快照技術 Checkpoints 實現狀態的持久化維護,使得即使在系 ...
  • 一、定義函數 def 函數名(): 函數體代碼 例: #定義函數 def email(): print('send email') #調用執行函數 email() 二、函數的返回值 def email(): print("send email") return "發送成功" #沒有return,預設 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...