實時數倉和離線數倉的區別是什么,企業該如何選擇合適的數倉架構?

目錄

一、離線數倉

1. 離線數倉是什么?

2. 離線數倉的特點

3. 離線數倉的適用場景

二、實時數倉

1. 實時數倉是什么?

2. 實時數倉的特點

3. 實時數倉的適用場景

三、由數倉需求變化帶來的數據倉庫架構的演變

1. 傳統數倉架構

2. 離線大數據架構

3. Lambda架構

4. Kappa架構

5. 混合架構

四、實時數倉和離線數倉的思考與總結


實時數倉和離線數倉都是數據倉庫的不同類型,用于存儲和管理企業的數據,但它們在數據處理和使用的時間、速度以及用途方面有明顯的區別。

在介紹實時數倉之前,我們理應先來了解一下傳統的離線數倉。畢竟在企業早期的數據建設規劃中,在數據實時性要求不高的前提下,基本一開始都會選擇建設離線數倉。

一、離線數倉

1. 離線數倉是什么?

離線數倉(Offline Data Warehouse)是一個用于存儲和處理批處理數據的系統。它的特點是數據的處理和分析是基于批處理作業進行的,通常以較長的時間周期為單位。傳統離線數倉的數據時效性是 T+1,調度頻率以天為單位,無法支撐實時場景的數據需求。即使能將調度頻率設置成小時,也只能解決部分時效性要求不高的場景,對于實效性要求很高的場景還是無法優雅的支撐。

2. 離線數倉的特點

  • 批處理:離線數倉通過批處理作業處理數據,這意味著數據在一定時間周期內收集、存儲,然后一次性處理。
  • 高容量:離線數倉通常設計用于存儲大量歷史數據。
  • 延遲較高:由于數據處理是批處理的,因此離線數倉不適合需要實時或近實時數據的應用。

3. 離線數倉的適用場景

  • 需要進行歷史數據分析、報告生成的應用,如銷售報告、月度財務報表等。
  • 數據量較大且處理時間不是關鍵問題的應用。

但是隨著企業的發展,數據量日益增大,傳統數據的方案在時效性上和數據維護上變得越來越困難。這時,實時數倉應運而生。

二、實時數倉

1. 實時數倉是什么?

實時數倉(Real-time Data Warehouse)是一個用于存儲和處理實時數據的系統。它的主要特點是數據的處理和分析是即時進行的,數據幾乎立即進入數倉并可以立即用于分析和決策。

2. 實時數倉的特點

  • 低延遲:實時數倉能夠在數據產生后迅速將其捕捉和處理,通常以秒或亞秒級的速度。
  • 數據流處理:實時數倉通常使用流式處理技術來處理數據,這允許數據在進入倉庫時立即進行轉換和計算。
  • 實時分析:數據可以用于實時監控、儀表板、預測和決策支持。
  • 高吞吐量:實時數倉需要處理大量的數據流,因此需要具備高吞吐量的性能。
  • 復雜性:由于需要處理實時數據流,實時數倉的架構和技術通常比較復雜。

3. 實時數倉的適用場景

  • 需要實時監控業務指標的應用,如金融交易看板、實時銷售報表、在線廣告投放分析等。
  • 需要立即采取行動以應對實時事件的應用,如異常監測大屏、欺詐實時檢測等。

三、由數倉需求變化帶來的數據倉庫架構的演變

從1990年 Inmon 提出數據倉庫概念到今天,數倉架構經歷了最初的傳統數倉架構、離線大數據架構、Lambda 架構、Kappa 架構以及由Flink 的火熱帶出的流批一體架構,數據架構技術不斷演進,本質是在往流批一體的方向發展,讓用戶能以最自然、最小的成本完成實時計算。

1. 傳統數倉架構

這是比較傳統的一種方式,結構或半結構化數據通過離線ETL定期加載到離線數倉,之后通過計算引擎取得結果,供前端使用。這里的離線數倉+計算引擎,通常是使用大型商業數據庫來承擔,例如Oracle、DB2、Teradata等。

2. 離線大數據架構

隨著數據規模的不斷增大,傳統數倉方式難以承載海量數據。隨著大數據技術的普及,采用大數據技術來承載存儲與計算任務。數據源通過離線的方式導入到離線數倉中。下游應用根據業務需求選擇直接讀取 DM 或加一層數據服務,比如 MySQL 或 Redis。

數據倉庫從模型層面分為三層:

  • ODS,操作數據層,保存原始數據;
  • DWD,數據倉庫明細層,根據主題定義好事實與維度表,保存最細粒度的事實數據;
  • DM,數據集市/輕度匯總層,在 DWD 層的基礎之上根據不同的業務需求做輕度匯總;

當然,也可以使用傳傳統數據庫集群或MPP架構數據庫來完成。例如Hadoop+Hive/Spark、Oracle RAC、GreenPlum等。

3. Lambda架構

隨著業務的發展,隨著業務的發展,人們對數據實時性提出了更高的要求。此時,出現了Lambda架構,其將對實時性要求高的部分拆分出來,增加條實時計算鏈路。從源頭開始做流式改造,將數據發送到消息隊列中,實時計算引擎消費隊列數據,完成實時數據的增量計算。與此同時,批量處理部分依然存在,實時與批量并行運行。最終由統一的數據服務層合并結果給于前端。一般是以批量處理結果為準,實時結果主要為快速響應。

4. Kappa架構

而Lambda架構,一個比較嚴重的問題就是需要維護兩套邏輯。一部分在批量引擎實現,一部分在流式引擎實現,維護成本很高。此外,對資源消耗也較大。隨后誕生的Kappa架構,正是為了解決上述問題。其在數據需要重新處理或數據變更時,可通過歷史數據重新處理來完成。方式是通過上游重放完成(從數據源拉取數據重新計算)。

可Kappa架構最大的問題是流式重新處理歷史的吞吐能力會低于批處理,但這個可以通過增加計算資源來彌補。

5. 混合架構

上述架構各有其適應場景,有時需要綜合使用上述架構組合滿足實際需求。當然這也必將帶來架構的復雜度。用戶應根據自身需求,有所取舍。在一般大多數場景下,是可以使用單一架構解決問題。現在很多產品在流批一體、海量、實時性方面也有非常好的表現,可以考慮這種“全能手”解決問題。

四、實時數倉和離線數倉的思考與總結

通常,企業可能會同時使用實時數倉和離線數倉來滿足不同的需求,以確保能夠有效地處理各種類型的數據。這種情況下,這兩者可能會集成,以充分利用它們的優勢。

另外想說明的是實時數倉方案并不是“搬過來”,而是根據業務“演化來”的,具體設計的時候需要根據企業自身業務情況,找到最適合自己當下的數倉架構。

了解更多數據倉庫與數據集成關干貨內容請關注>>>FineDataLink官網

免費試用、獲取更多信息,點擊了解更多>>>體驗FDL功能

往期推薦:

【大數據】什么是數據湖?一文揭示數據湖的本質-CSDN博客

金蝶API取數+JSON解析,FDL助力高效數據處理-CSDN博客

業務場景中的數倉調度-CSDN博客

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/44243.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/44243.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/44243.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

高級IO_多路轉接之ET模式Reactor

文章目錄 Reactor是什么?LT模式 VS ET模式 示例代碼 提示:以下是本篇文章正文內容,下面案例可供參考 Reactor是什么? Reactor模式是一種事件驅動的并發模型,它通過將事件處理邏輯與事件分發機制解耦,實現…

maven如何處理依賴沖突的問題?

Maven是一個強大的Java項目管理工具,它使用一個名為pom.xml的文件來管理項目的構建過程和依賴關系。當項目中出現依賴沖突時,Maven使用一系列策略來解決這些問題。以下是Maven處理依賴沖突的一些常見方法: 1. 最近優先策略: -…

tensorflow之欠擬合與過擬合,正則化緩解

過擬合泛化性弱 欠擬合解決方法: 增加輸入特征項 增加網絡參數 減少正則化參數 過擬合的解決方法: 數據清洗 增大訓練集 采用正則化 增大正則化參數 正則化緩解過擬合 正則化在損失函數中引入模型復雜度指標,利用給w增加權重,…

點線面推進未來智造

如今,寧波擁有門類齊全的制造業體系,形成了以石油化工、汽車及零部件、電工電器、紡織服裝等為支柱的產業集群。 寧波工業的發展并非一蹴而就,藍卓總經理譚彰詳細解讀了寧波制造業的發展歷程與當下目標,從工業小市到工業大市、工業…

基于Matlab和Python泰勒圖的繪制

一、泰勒圖介紹 泰勒圖:泰勒圖1常用于評價模型的精度,常用的精度指標有相關系數,標準差以及均方根誤差(RMSE)。一般而言,泰勒圖中的散點代表模型,輻射線代表相關系數,橫縱軸代表標準差,而虛線代表均方根誤差。泰勒圖一改以往用散點圖這種只能呈現兩個指標來表示模型精度…

Qt使用筆記1(智能指針,deleteLater,多屏)

1、Qt智能指針 1.1、QPointer :解決野指針問題,必須是QObject對象。 1.2、QScopedPoint:作用域指針,出作用域自動釋放。 1.3、QScopedArrayPoint:作用域數組指針,出作用域自動釋放數組。 1.4、QSharedP…

RedHat運維-Ansible自動化運維基礎20-從ansible-galaxy下載role

1. 社區管理的role倉庫:___________________________________; 2. 社區管理的role倉庫:___________________________________; 3. 社區管理的role倉庫:___________________________________; 4. 在ansible …

Python數據結構的庫之Fuk使用詳解

概要 fuk 是一個用于處理 Python 數據結構的庫,全稱為 "Fast and Uncomplicated Kit"。它提供了一系列高效、簡潔的數據結構實現,以及對 Python 內置數據結構的擴展。通過使用 fuk,開發者可以更加方便地處理列表、集合、字典等數據類型,提高代碼的執行效率和可讀…

vite+vue3拍照上傳到nodejs服務器

一:效果展示: 拍照效果 二:Nodejs后端接口代碼: 三:前端完整代碼:

Vue基礎--v-model/v-for/事件屬性/偵聽器

目錄 一 v-model表單元素 1.1 v-model綁定文本域的value 1.1.1 lazy屬性:光標離開再發請求 1.1.2 number屬性:如果能轉成number就會轉成numer類型 1.1.3 trim屬性:去文本域輸入的前后空格 1.2v-model綁定單選checkbox 1.3代碼展示 二 …

esp8266+micropython+irsend紅外發射調試記錄

在網上搜索esp8266micropython的紅外發射庫,沒找到,發現 接收庫是有的,可以參考:基于MicroPython的ESP8266連接外設IO(二)_micropython 紅外接收-CSDN博客 可惜沒有發射,很不方便。 這里都有介…

PHP財務記賬管理系統小程序源碼

理財小能手必備!揭秘財務記賬管理系統的魔力? 🌟 引入篇:告別糊涂賬,擁抱財務自由 你是否曾為月底的賬單頭疼不已?是否覺得自己的錢總是莫名其妙地消失?別擔心,財務記賬管理系統來拯救你的錢…

【機器學習】必會數學知識:一文掌握數據科學核心數學知識點(下),收藏~

核心數學知識點 1、引言2、數據科學必會數學知識2.13 K均值聚類2.14 決策樹2.15 隨機森林2.16 梯度下降2.17 隨機梯度下降(SGD)2.18 卷積2.19 拉普拉斯變換2.20 傅里葉變換2.21 信息論2.22 時間序列分析2.23 生成模型與判別模型2.24 支持向量機&#xff…

git merge 分支回退

1. 使用git merge --abort(如果合并正在進行中) git merge --abort2. 使用git reset(合并已經提交) 硬重置(--hard)會丟棄所有合并后的更改,并將HEAD指向合并前的提交。這是最徹底的方式&…

DDOS 攻擊原理

DDoS攻擊的基本原理 資源耗盡:攻擊者通過發送大量的請求或數據包,耗盡目標系統的資源(如帶寬、CPU、內存等),使其無法處理正常的用戶請求。 分布式攻擊:與傳統的DoS(拒絕服務)攻擊不…

Java-面向對象基礎

在面向對象編程(Object-Oriented Programming, OOP)中,類(Class)是一種用來描述對象共同特征的藍圖或模板。它是創建對象的原型,定義了對象可以有的屬性(字段)和行為(方法…

物聯網應用,了解一點 WWAN全球網絡標準

WWAN/蜂窩無線電認證,對跨地區應用場景,特別重要。跟隨全球業務的腳步,我們像大唐先輩一樣走遍全球業務的時候,了解一點全球化的 知識信息,就顯得有那么點意義。 NA (北美):美國和加…

OpenSSH漏洞(CVE-2024-6387)

漏洞信息 請參考:OpenSSH遠程代碼執行漏洞 (CVE-2024-6387) 影響范圍 8.5p1 <= OpenSSH < 9.8p1 參考鏈接中內容補充 利用方式 關于OpenSSH漏洞CVE-2024-6387,攻擊者可以利用一個有用的代碼路徑并在正確的時間點上被SIGALRM信號打斷,從而導致sshd(OpenSSH守護…

基于Python的嗶哩嗶哩數據分析系統設計實現過程,技術使用flask、MySQL、echarts,前端使用Layui

背景和意義 隨著互聯網和數字媒體行業的快速發展&#xff0c;視頻網站作為重要的內容傳播平臺之一&#xff0c;用戶量和內容豐富度呈現爆發式增長。本研究旨在設計并實現一種基于Python的嗶哩嗶哩數據分析系統&#xff0c;采用Flask框架、MySQL數據庫以及echarts數據可視化技術…

工控、物聯網、電力行業調試工具大全

工控、物聯網、電力行業調試工具大全 文章目錄 工控、物聯網、電力行業調試工具大全Modbus調試工具MQTT調試工具IEC104/IEC101調試工具IEC61850 調試工具DL/T645 調試工具 Modbus調試工具 Modbus 是一種用于工業自動化系統中的通信協議&#xff0c;最早由 Modicon&#xff08;…