色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

在Hive中,適不適合像傳統數據倉庫一樣利用維度建模?

林國瑞2年前12瀏覽0評論

適合!

在數據倉庫建模領域中,有兩大主流建模思想,ER建模和維度建模(當然還有datavault、anchor等等)。

ER建模的核心思想是從全企業的高度去設計三范式模型,用實體關系模型描述企業業務。出發點是整合各系統數據,為數據分析決策服務,但不直接用于分析決策。

維度建模是從分析決策的需求出發構建模型,重點關注如何快速完成需求分析。典型代表是星形模型,以及一些特殊場景下使用雪花模型。

光從三范式模型和星形模型的區別其實就可以看出,更適合hive的就是星形模型。

hive一般使用的引擎就是mapreduce,mapreduce的設計初衷是海里數據的批量處理,在復雜的聯表查詢方面,反而可能比不上傳統數據庫,尤其是mpp架構的傳統數據庫。三范式模型勢必會存在很多分散的表,在做數據分析或者報表加工的時候就必須要多表連接,大大降低了使用效率。

當然使用hive做為數據倉庫時,也不能完全遵從維度建模的思想。我們得在維度建模思想上適當做一些改進。

比如我們可以使用星形模型完全替代雪花模型,雪花模型除了節約一部分存儲外,在hive中沒有其他優勢。

同時我們在星形模型的事實表中可以冗余更多常用的維度信息,摒棄代理鍵使用快照方式處理緩慢變化維等。

因為目前階段,hdfs的存儲成本是明顯低于計算資源成本,我們可以采取用空間換時間的策略,從而提升下游使用的易用性和使用性能的提升。

所以說,維度建模是適合hive的。