日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

数据仓库分层中的ODS、DWD、DWS

發布時間:2023/12/13 综合教程 42 生活家
生活随笔 收集整理的這篇文章主要介紹了 数据仓库分层中的ODS、DWD、DWS 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.數據倉庫DW

1.1簡介

Data warehouse(可簡寫為DW或者DWH)數據倉庫,是在數據庫已經大量存在的情況下,為了進一步挖掘數據資源、為了決策需要而產生的,它是一整套包括了etl、調度、建模在內的完整的理論體系。數據倉庫的方案建設的目的,是為前端查詢和分析作為基礎,主要應用于OLAP(on-line Analytical Processing),支持復雜的分析操作,側重決策支持,聽且提供直觀易懂的查詢結果。比較流行的有:AWS Redshift,Greenplum,Hive等。

1.2主要特點

面向主題

操作型數據庫組織面向事務處理任務,而數據倉庫中的數據是按照一定的主題域進行組織。
主題是指用戶使用數據倉庫進行決策時所關心的重點方面,一個主題通過與多個操作型信息系統相關。

集成

需要對源數據進行加工與融合,統一與綜合
在加工的過程中必須消除源數據的不一致性,以保證數據倉庫內的信息時關于整個企業的一致的全局信息。(關聯關系)

不可修改

DW中的數據并不是最新的,而是來源于其他數據源
數據倉庫主要是為決策分析提供數據,涉及的操作主要是數據的查詢

與時間相關

處于決策的需要數據倉庫中的數據都需要標明時間屬性

1.3與數據庫的對比

DW:專門為數據分析設計的,涉及讀取大量數據以了解數據之間的關系和趨勢
數據庫:用于捕獲和存儲數據

特性 數據倉庫 事務數據庫
適合的工作負載 分析、報告、大數據 事務處理
數據源 從多個來源收集和標準化的數據 從單個來源(例如事務系統)捕獲的數據
數據捕獲 批量寫入操作通過按照預定的批處理計劃執行 針對連續寫入操作進行了優化,因為新數據能夠最大程度地提高事務吞吐量
數據標準化 非標準化schema,例如星型Schema或雪花型schema 高度標準化的靜態schema
數據存儲 使用列式存儲進行了優化,可實現輕松訪問和高速查詢性能 針對在單行型物理塊中執行高吞吐量寫入操作進行了優化
數據訪問 為最小化I/O并最大化數據吞吐量進行了優化 大量小型讀取操作

2.數據分層

數據分層,每個企業根據自己的業務需求可以分成不同的層次,但是最基礎的分層思想,理論上數據分為三個層:數據運營層、數據倉庫層、數據服務層?;谶@個基礎分層之上,再提交信息的層次,來滿足不同的業務需求。

2.1數據運營層(ODS)

ODS:Operation Data Store 數據準備區,也稱為貼源層。數據倉庫源頭系統的數據表通常會原封不動的存儲一份,這稱為ODS層,是后續數據倉庫加工數據的來源。
ODS層數據的來源方式:

業務庫

經常會使用sqoop來抽取,例如每天定時抽取一次。
實時方面,可以考慮用canal監聽mysql的binlog,實時接入即可。

埋點日志

日志一般以文件的形式保存,可以選擇用flume定時同步
可以用spark streaming或者Flink來實時接入
kafka也OK

消息隊列:即來自ActiveMQ、Kafka的數據等。

2.2數據倉庫層(DW)

DW數據分層,由下到上為DWD,DWB,DWS。

DWD:data warehouse details 細節數據層,是業務層與數據倉庫的隔離層。主要對ODS數據層做一些數據清洗和規范化的操作。

數據清洗:去除空值、臟數據、超過極限范圍的

DWB:data warehouse base 數據基礎層,存儲的是客觀數據,一般用作中間層,可以認為是大量指標的數據層。
DWS:data warehouse service 數據服務層,基于DWB上的基礎數據,整合匯總成分析某一個主題域的服務數據層,一般是寬表。用于提供后續的業務查詢,OLAP分析,數據分發等。

用戶行為,輕度聚合
主要對ODS/DWD層數據做一些輕度的匯總。

2.3數據服務層/應用層(ADS)

ADS:applicationData Service應用數據服務,該層主要是提供數據產品和數據分析使用的數據,一般會存儲在ES、mysql等系統中供線上系統使用。

我們通過說的報表數據,或者說那種大寬表,一般就放在這里

3.附錄

ETL

ETL :Extract-Transform-Load,用于描述將數據從來源端經過抽取、轉換、加載到目的端的過程。

寬表

含義:指字段比較多的數據庫表。通常是指業務主體相關的指標、緯度、屬性關聯在一起的一張數據庫表。
特點:

寬表由于把不同的內容都放在同一張表,寬表已經不符合三范式的模型設計規范:

壞處:數據有大量冗余
好處:查詢性能的提高和便捷

寬表的設計廣泛應用于數據挖掘模型訓練前的數據準備,通過把相關字段放在同一張表中,可以大大提供數據挖掘模型訓練過程中迭代計算的消息問題。

數據庫設計三范式

為了建立冗余較小、結構合理的數據庫,設計數據庫時必須遵循一定的規則。在關系型數據庫中這種規則就稱為范式。范式時符合某一種設計要求的總結。

第一范式:確保每列保持原子性,即要求數據庫表中的所有字段值都是不可分解的原子值。
第二范式:確保表中的每列都和主鍵相關。也就是說在一個數據庫表中,一個表中只能保存一種數據,不可以把多種數據保存在同一張數據庫表中。

作用:減少了數據庫的冗余

第三范式:確保每列都和主鍵列直接相關,而不是間接相關。

總結

以上是生活随笔為你收集整理的数据仓库分层中的ODS、DWD、DWS的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。