數據倉庫設計與實現入門(一、ODS/DW/BN簡介)

一、從數據流的邏輯上來講,數據主要分爲ODS層(原始日誌數據),DW層(數據倉庫),BN(統計結果數據)

Spark/SparkStreaming任務加載原始日誌(離線處理flume落地到hadoop集羣的hdfs或實時消費kafka數據)提取業務最原始數據,根據業務邏輯生成ODS層數據(分類/分流後的原始日誌);再根據業務場景進一步將業務ODS層數據劃分到DW層(處理後的數據模型);最後跟據具體業務需求,從DW層數據模型中產出最終業務數據,即BN層;

ODS、DW層數據一般直接存儲於hdfs,建議以orc(優先)/parquet(嵌套數據結構)文件格式存儲(列式存儲,DataFrame讀寫,壓縮比較高,且讀寫較快,支持hive、impala等),DW層數據可以建立Hive表,供數據分析師直接使用Hive Sql/Spark Sql使用sql語言查詢。

BN層數據一般存儲hdfs(冷數據)+ ES、Hbase、MySQL或Redis(熱數據)。這部分數據可以作爲數據管理系統後臺數據(提供產品運營同事查詢),或作爲接口服務的後臺數據,提供數據接口與業務研發同事使用(出於數據安全性考慮,一般不建議直接提供數據庫與業務研發同事訪問或數據直接寫入業務數據庫)。

下一章:產品數據分類,數據模型設計

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章