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

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

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

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

一、離線數倉

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

  2. 離線數倉的特點
    批處理:離線數倉通過批處理作業處理數據,這意味著數據在一定時間周期內收集、存儲,然后一次性處理。

高容量:離線數倉通常設計用于存儲大量歷史數據。

延遲較高:由于數據處理是批處理的,因此離線數倉不適合需要實時或近實時數據的應用。

  1. 離線數倉的適用場景
    需要進行歷史數據分析、報告生成的應用,如銷售報告、月度財務報表等。

數據量較大且處理時間不是關鍵問題的應用。

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

二、實時數倉

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

  2. 實時數倉的特點
    低延遲:實時數倉能夠在數據產生后迅速將其捕捉和處理,通常以秒或亞秒級的速度。

數據流處理:實時數倉通常使用流式處理技術來處理數據,這允許數據在進入倉庫時立即進行轉換和計算。

實時分析:數據可以用于實時監控、儀表板、預測和決策支持。

高吞吐量:實時數倉需要處理大量的數據流,因此需要具備高吞吐量的性能。

復雜性:由于需要處理實時數據流,實時數倉的架構和技術通常比較復雜。

  1. 實時數倉的適用場景
    需要實時監控業務指標的應用,如金融交易看板、實時銷售報表、在線廣告投放分析等。

需要立即采取行動以應對實時事件的應用,如異常監測大屏、欺詐實時檢測等。

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

  1. 傳統數倉架構

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

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

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

ODS,操作數據層,保存原始數據;

DWD,數據倉庫明細層,根據主題定義好事實與維度表,保存最細粒度的事實數據;

DM,數據集市/輕度匯總層,在 DWD 層的基礎之上根據不同的業務需求做輕度匯總。

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

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

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

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

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

綜上所述,數倉建設是企業數據管理和決策支持的關鍵環節,在實踐中,企業需要根據自身業務需求和數據規模,選擇合適的數倉建設方案和技術方案,以提高企業數據資產的價值和利用效率。

FineDataLink——小到數據庫對接、API對接、行列轉換、參數設置,大到任務調度、運維監控、實時數據同步、數據服務API分享,另外它可以滿足數據實時同步的場景,應有盡有,功能很強大。

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

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

相關文章

Docker Desktop for Windows 系統設置說明文檔

1. 文檔概述 本文檔旨在詳細說明 Docker Desktop for Windows 應用程序中“設置 (Settings)”界面下的所有可配置選項及其子選項。對于每個配置項,我們將提供其功能描述、推薦配置(如適用)以及相關注意事項,幫助用戶更好地理解和…

精準監測,健康無憂--XC3576H工控主板賦能亞健康檢測儀

在快節奏的現代生活中,亞健康問題逐漸成為困擾人們健康的隱形殺手。疲勞、失眠、免疫力下降等問題頻發,卻往往因難以察覺而延誤調理。智能亞健康檢測儀通過高科技手段,幫助用戶實時了解身體狀況,提前預警潛在健康風險。 其核心功能…

SBT開源構建工具

SBT 的多元定義與核心解釋 SBT(Simple Build Tool)是專為 Scala 和 Java 項目設計的開源構建工具,基于 Scala 語言開發,提供依賴管理、編譯、測試、打包等全流程支持。其核心特點包括: 核心功能與特性: …

npm run build后將打包文件夾生成zip壓縮包

安裝依賴 npm install archiver --save-dev準備compress.js文件 const fs require(fs); const archiver require(archiver);const sourceDir ./dist; //替換為你的文件夾路徑 const outputZip ./dist.zip;console.log(開始壓縮); const output fs.createWriteStream(ou…

力扣 215 .數組中的第K個最大元素

文章目錄 題目介紹題解 題目介紹 題解 法一:基于快速排序的選擇方法 以中間元素pivot為基準進行排序后,右指針 r 的位置就是最終全部排序好后pivot的位置,然后去左邊或右邊遞歸尋找第k個位置(答案)的元素。 代碼如下…

CentOS 7.0重置root密碼

文章目錄 版本:CentOS 7.0內核版本:CentOS Linux, with Linux 3.10.0-123.el7.x86_64 服務器重啟后,等待進入上述頁面,按??鍵,中斷正常啟動。在此頁面按E,進入編輯模式 繼續按?,找到linux16…

Linux之高效文本編輯利器 —— vim

目錄 一、vim的基本概念 二、Vim 的三種基本模式 1. 命令模式(Command Mode) 2. 插入模式(Insert Mode) 3. 底行模式(Last Line Mode) 模式切換方法 IDE例子: 三、vim的基本操作 進入vim…

【STM32】HAL庫 之 CAN 開發指南

基于stm32 f407vet6芯片 使用hal庫開發 can 簡單講解一下can的基礎使用 CubeMX配置 這里打開CAN1 并且設置好波特率和NVIC相關的配置 波特率使用波特率計算器軟件 使用采樣率最高的這段 填入 得到波特率1M bit/s 然后編寫代碼 環形緩沖區 #include "driver_buffer.h&qu…

《Scientific Reports撤稿門技術節分析》——從圖像篡改檢測到學術倫理重建的技術透視

2023年以來,《Scientific Reports》等開放獲取期刊頻繁曝出大規模撤稿事件,涉及數據造假、圖像重復、AI生成內容篡改等技術性學術不端行為。本文以技術視角切入,系統分析撤稿事件背后的技術動因、檢測手段漏洞、學術出版體系的技術短板及應對…

Client請求Grpc服務報錯

現象:err: rpc error: code Unimplemented desc 背景:調用鏈路A->B->C,A是一個Http協議的接口,B也是一個Http協議的接口, 但C是一個Grpc協議的接口。 解決思路:查看C服務對應的proto,比…

機器學習課程設計報告 —— 基于口紅數據集的情感分析

目錄 一、課程設計目的 二、數據預處理及分析 2.1 數據預處理 2.2 數據分析 三、特征選擇 3.1 特征選擇的重要性 3.2 如何進行特征選擇 3.3 特征選擇的依據 3.4 數據集的劃分 四、模型訓練與模型評估 4.1 所有算法模型不調參 4.2 K-近鄰分類模型 4.3 GaussianNB模…

Flutter 實現6個驗收碼輸入框

開箱即用,初始化時就喚起鍵盤,并選中第一個 import package:flutter/material.dart;import dart:async; // 引入 Timer 類class VerificationCode extends StatefulWidget {final String phoneNumber;const VerificationCode({super.key, required this.…

如何查看服務器有幾張GPU

要查看服務器上有多少張 GPU,你可以使用以下幾種方法: 1.1 使用 nvidia-smi工具(針對 NVIDIA GPU): 如果你的服務器上安裝了 NVIDIA GPU 驅動程序,那么可以使用 nvidia-smi 命令查看詳細的 GPU 信息。 n…

3099. 哈沙德數

?題目來源: LeetCode題目:3099. 哈沙德數 - 力扣(LeetCode) 解題思路: 按要求求和判斷即可。 解題代碼: #python3 class Solution:def sumOfTheDigitsOfHarshadNumber(self, x: int) -> int:sumDigi…

數字化回歸本質:第一性原理驅動的制造業轉型與AI+云PLM系統實踐

2014年,埃隆馬斯克在南加州大學商學院的畢業演講上,留下了一場5分鐘的精彩分享,他將自己對工作和人生的思考總結為五個要點,其中一點說到了他的決策方式: “也許你聽我說過,要從物理學的角度思考問題&…

仿DeepSeek AI問答系統完整版(帶RAG本地知識庫+聯網搜索+深度思考) +springboot+vue3

今天教大家如何設計一個企業級的 deepseek問答 一樣的系統 , 基于目前主流的技術:前端vue3,后端springboot。同時還帶來的項目的部署教程。 系統的核心功能 1. 支持本地上傳文檔知識庫,RAG技術。 支持的文檔有txt,doc&#xff0c…

27、請求處理-【源碼分析】-怎么改變默認的_method

27、請求處理-【源碼分析】-怎么改變默認的_method 要改變 Spring Boot 中默認的 _method 參數,可以通過以下步驟實現: #### 原理分析 Spring Boot 中默認的 HiddenHttpMethodFilter 用于將表單中的 _method 參數值映射為實際的 HTTP 方法(如…

歐拉角轉為旋轉矩陣

外旋是固定坐標系,內旋是動態坐標系。外旋和內旋具有等價性。 固定坐標系依次繞xyz軸旋轉,旋轉矩陣 動態坐標系依次繞zyx軸旋轉,旋轉矩陣 numpy和scipy計算對比 import numpy as np from numpy import sin, cos, pi # 抑制科學計數法&#…

【AI學習筆記】Coze平臺實現生成小紅書熱門多圖筆記

背景前搖&原視頻教程: 最近總是在小紅書上刷到多圖組成的養生小妙招、效率提升小tips、退休奶奶療愈語錄等等這樣的圖文筆記,而且人物圖像一眼就是AI畫的。 當時我以為這個排版和文字是人工的,就讓AI保持角色一致性畫了下圖,…

如何選擇自動化編程平臺

從事自動化行業的工作者都知道,做PLC編程需要PLC編程軟件,做HMI可視化需要HMI編程軟件,做SCADA需要SCADA編程軟件,做DCS需要DCS軟件,做仿真調試需要仿真軟件。這些軟件有國外的、國內的,有傳統自動化廠商開…