① 數據湖和數據倉庫的區別是什麼
數據湖就是一個集中存儲資料庫,用於存儲所有結構化和非結構化數據。數據湖可用其原生格式存儲任何類型的數據,這是沒有大小限制。
數據倉庫是位於多個資料庫上的大容量存儲庫。它的作用是存儲大量的結構化數據,並能進行頻繁和可重復的分析。
數據科學家
可能會用具有預測建模和統計分析等功能的高級分析工具。而數據倉庫就是數據倉庫非常適用於月度報告等操作用途,因為它具有高度結構化。在架構中數據湖通常,在存儲數據之後定義架構。使用較少的初始工作並提供更大的靈活性。
在數據倉庫中存儲數據之前定義架構。這需要你清理和規范化數據,這意味著架構的靈活性要低不少。
其實數據倉庫和數據湖是我們都需要的地方,數據倉庫非常適用於業務實踐中常見的可重復報告。當我們執行不太直接的分析時,數據湖就很有用。
② 什麼是數據倉庫,數據倉庫如何分層
數據倉庫分層的原因
1通過數據預處理提高效率,因為預處理,所以會存在冗餘數據
2如果不分層而業務系統的業務規則發生變化,就會影響整個數據清洗過程,工作量巨大
3通過分層管理來實現分步完成工作,這樣每一層的處理邏輯就簡單了
標準的數據倉庫分層:ods(臨時存儲層),pdw(數據倉庫層),mid(數據集市層),app(應用層)
ods:歷史存儲層,它和源系統數據是同構的,而且這一層數據粒度是最細的,這層的表分為兩種,一種是存儲當前需要載入的數據,一種是用於存儲處理完後的數據。
pdw:數據倉庫層,它的數據是干凈的數據,是一致的准確的,也就是清洗後的數據,它的數據一般都遵循資料庫第三範式,數據粒度和ods的粒度相同,它會保存bi系統中所有歷史數據
mid:數據集市層,它是面向主題組織數據的,通常是星狀和雪花狀數據,從數據粒度將,它是輕度匯總級別的數據,已經不存在明細的數據了,從廣度來說,它包含了所有業務數量。從分析角度講,大概就是近幾年
app:應用層,數據粒度高度匯總,倒不一定涵蓋所有業務數據,只是mid層數據的一個子集。
數據倉庫的目的是構建面向分析的集成化數據環境,為企業提供決策支持。數據倉庫的context也可以理解為:數據源,數據倉庫,數據應用
數據倉庫可以理解為中間集成化數據管理的一個平台
etl(抽取extra,轉化transfer,裝載load)是數據倉庫的流水線,也可以認為是數據倉庫的血液。
數據倉庫的存儲並不需要存儲所有原始數據,因為比如你存儲冗長的文本數據完全沒必要,但需要存儲細節數據,因為需求是多變的,而且數據倉庫是導入數據必須經過整理和轉換使它面向主題,因為前台資料庫的數據是基於oltp操作組織優化的,這些可能不適合做分析,面向主題的組織形式才有利於分析。
多維數據模型就是說可以多維度交叉查詢和細分,應用一般都是基於聯機分析處理(online analytical process OLAP),面向特定需求群體的數據集市會基於多位數據模型構建
而報表展示就是將聚合數據和多維分析數據展示到報表,提供簡單和直觀的數據。
元數據,也叫解釋性數據,或者數據字典,會記錄數據倉庫中模型的定義,各層級之間的映射關系,監控數據倉庫的數據狀態和etl的任務運行狀態。一般通過元數據資料庫來統一存儲和管理元數據。