IT數據運維:數據倉庫與數據庫
2020-04-15 19:53 作者:admin 瀏覽量:
IT數據運維:數據倉庫與數據庫
一、定義
數據倉庫是一個面向主題的、集成的、隨時間變化的、但信息本身相對穩定的數據集合,用于對管理決策過程的支持。
二、數據倉庫的四個特點
· 面向主題:數據倉庫都是基于某個明確主題,僅需要與該主題相關的數據,其他的無關細節數據將被排除掉
· 集成的:從不同的數據源采集數據到同一個數據源,此過程會有一些ETL操作
· 隨時間變化:關鍵數據隱式或顯式的基于時間變化
· 數據倉庫的數據是不可更新的:數據裝入以后一般只進行查詢操作,沒有傳統數據庫的增刪改操作。數據倉庫的數據反映的是一段相當長的時間內歷史數據的內容,是不同時點的數據庫快照的集合,以及基于這些快照進行統計、綜合和重組的導出數據,而不是聯機處理的數據。
三、數據庫與數據倉庫的區別
數據庫:是一種邏輯概念,用來存放數據的倉庫。通過數據庫軟件來實現。數據庫由很多表組成,表是二維的,一張表里可以有很多字段。字段一字排開,對應的數據就一行一行寫入表中。數據庫的表,在于能夠用二維表現多維關系。目前市面上流行的數據庫都是二維數據庫。如:Oracle、DB2、MySQL、Sybase、MS SQL Server等。
業務數據庫中的數據結構是為了完成交易而設計的,不是為了而查詢和分析的便利設計的。業務數據庫大多是讀寫優化的,即又要讀(查看商品信息),也要寫(產生訂單,完成支付)。
數據倉庫:是數據庫概念的升級。從邏輯上理解,數據庫和數據倉庫沒有區別,都是通過數據庫軟件實現的存放數據的地方,只不過從數據量來說,數據倉庫要比數據庫更龐大得多。數據倉庫主要用于
數據挖掘和
數據分析,輔助領導做決策。
數據倉庫的表結構是依照分析需求,分析維度,分析指標進行設計的。
數據庫 比較流行的有:MySQL, Oracle, SqlServer等
數據倉庫 比較流行的有:AWS Redshift, Greenplum, Hive等。
數據庫與數據倉庫的區別:
四、數據倉庫的應用
1.數據分析、數據挖掘、人工智能、機器學習、風險控制、無人駕駛。
2.數據化運營、精準運營。
3.廣告精準、智能投放。
五、數據倉庫架構圖
ODS層:
為臨時存儲層,是接口數據的臨時存儲區域,為后一步的數據處理做準備。一般來說ODS層的數據和源系統的數據是同構的,主要目的是簡化后續數據加工處理的工作。從數據粒度上來說ODS層的數據粒度是最細的。ODS層的表通常包括兩類,一個用于存儲當前需要加載的數據,一個用于存儲處理完后的歷史數據。歷史數據一般保存3-6個月后需要清除,以節省空間。但不同的項目要區別對待,如果源系統的數據量不大,可以保留更長的時間,甚至全量保存;
PDW層:
為數據倉庫層,PDW層的數據應該是一致的、準確的、干凈的數據,即對源系統數據進行了清洗(去除了雜質)后的數據。這一層的數據一般是遵循數據庫第三范式的,其數據粒度通常和ODS的粒度相同。在PDW層會保存BI系統中所有的歷史數據,例如保存10年的數據。
DM層:
為數據集市層,這層數據是面向主題來組織數據的,通常是星形或雪花結構的數據。從數據粒度來說,這層的數據是輕度匯總級的數據,已經不存在明細數據了。從數據的時間跨度來說,通常是PDW層的一部分,主要的目的是為了滿足用戶分析的需求,而從分析的角度來說,用戶通常只需要分析近幾年(如近三年的數據)的即可。從數據的廣度來說,仍然覆蓋了所有業務數據。
APP層:
為應用層,這層數據是完全為了滿足具體的分析需求而構建的數據,也是星形或雪花結構的數據。從數據粒度來說是高度匯總的數據。從數據的廣度來說,則并不一定會覆蓋所有業務數據,而是DM層數據的一個真子集,從某種意義上來說是DM層數據的一個重復。從極端情況來說,可以為每一張報表在APP層構建一個模型來支持,達到以空間換時間的目的數據倉庫的標準分層只是一個建議性質的標準,實際實施時需要根據實際情況確定數據倉庫的分層,不同類型的數據也可能采取不同的分層方法。
六、數據倉庫技術
數據倉庫技術是為了有效的把操作型數據集成到統一的環境中以提供決策型數據訪問的各種技術和模塊的總稱。所做的一切都是為了讓用戶更快更方便查詢所需要的信息,提供決策支持。從功能結構劃分,數據倉庫系統至少應該包含數據獲取(Data Acquisition)、數據存儲(Data Storage)、數據訪問(Data Access)三個關鍵部分。在國內最優秀的互聯網公司里(如阿里、騰訊),很多數據引擎是架構在數據倉庫之上的(如數據分析引擎、數據挖掘引擎、推薦引擎、可視化引擎等等)。
以上內容由北京艾銻無限科技發展有限公司整理