數據倉庫,是為企業所有級別的決策制定過程,提供所有類型數據支持的戰略集合。它是單個數據存儲,出於分析性報告和決策支持目的而創建。 為需要業務智能的企業,提供指導業務流程改進、監視時間、成本、質量以及控制。
數據倉庫和數據庫的區別:
1. 邏輯層面/概念層面:數據庫和數據倉庫其實是一樣的或者及其相似的,都是通過某個數據庫軟件,基於某種數據模型來組織、管理數據。但是,數據庫通常更關注業務交易處理(OLTP),而數據倉庫更關注數據分析層面(OLAP),由此產生的數據庫模型上也會有很大的差異。數據庫通常追求交易的速度,交易完整性,數據的一致性,等等,在數據庫模型上主要遵從范式模型(1NF,2NF,3NF,等等),從而盡可能減少數據冗余,保證引用完整性;而數據倉庫強調數據分析的效率,復雜查詢的速度,數據之間的相關性分析,所以在數據庫模型上,數據倉庫喜歡使用多維模型,從而提高數據分析的效率。
2. 產品實現層面:數據庫和數據倉庫軟件是有些不同的,數據庫通常使用行式存儲,如SAP ASE,Oracle, Microsoft SQL Server,而數據倉庫傾向使用列式存儲,如SAP IQ,SAP HANA
2. 產品實現層面:數據庫和數據倉庫軟件是有些不同的,數據庫通常使用行式存儲,如SAP ASE,Oracle, Microsoft SQL Server,而數據倉庫傾向使用列式存儲,如SAP IQ,SAP HANA
Hive的數據由兩部分組成:數據文件和元數據。元數據用於存放Hive庫的基礎信息,它存儲在關系數據庫中,如 mysql、derby。元數據包括:數據庫信息、表的名字,表的列和分區及其屬性,表的屬性,表的數據所在目錄等。
Hive體系結構-Hive的運行機制:
用戶通過用戶接口連接Hive,發布Hive SQL。
Hive解析查詢並制定查詢計划。
Hive將查詢轉換成MapReduce作業。
Hive在Hadoop上執行MapReduce作業。
托管表和外部表
數據存儲:
托管表:數據存儲在倉庫目錄下。
外部表:數據存儲在任何HDFS目錄下。
數據刪除
托管表:刪除元數據和數據。
外部表:只刪除元數據。
