數據倉庫的目的:
構建面向分析的集成化數據環境,爲企業提供決策支持(decision support)。數據倉庫的數據來源於外部,並且開放給外部應用,因此數據倉庫的基本架構主要包含數據流入流出的過程,可以分爲三層——源數據、數據倉庫、數據應用
ETL解釋:
數據倉庫從各數據源獲取數據及在數據倉庫內的數據轉換和流動都可以認爲是ETL(抽取extra,轉化transfer,裝載load)的過程,ETL是數據倉庫的流水線。
數據源抽取extra解釋:
抽取顧名思義,就是抽取數據到數據倉庫的過程,以億信abi舉例,抽取一般包含這四種方式:
1.連接數據庫進行抽取數據,包含雲上數據庫以及線下數據庫,主要有mysql,oracle,gbase等
2.使用文件數據源,例如excel、txt、csv、db等文件
3.使用api接口調用數據源,輸入數據源名稱,接口地址,請求類型,編碼utf-8,格式json
4.第三方數據源:主要是微信小程序,具體怎麼使用不太清楚
數據倉庫轉化transfer解釋:
所有抽取的數據必須轉換爲數據倉庫可用的數據,擁有可以用來進行戰略決策的信息,是數據倉庫最根本的原則。
數據轉換的基本任務:選擇、分離/合併、轉化、彙總和豐富。
數據轉換的主要類型:格式修正、字段解碼、計算值和導出值、單個字段的分離、信息的合併、特徵集合轉化、度量單位的轉化、日期/時間轉化、彙總和鍵的重新構造。附一張bi圖
維度屬性的轉換:
如何實施轉換:使用轉化工具,自動的工具會提高效率和準確性,並且轉換參數和規則會被作爲元數據存儲起來,但是初始成本較高,而且也不是所有的轉換都能使用工具實現;手工技術,這種方法會帶來複雜的編碼和測試,而且元數據比較難處理。
數據裝載load:
數據裝載有三種類型:初始裝載、增量裝載和完全刷新。
數據準備好之後,有四種把數據應用到數據倉庫的方式:
裝載:青空原有表再把數據裝載進去;
追加:直接往表裏加數據,當一個輸入記錄與已經存在記錄重複時,需要定義時丟棄還是插入一條新的記錄;
破壞性合併:如果輸入記錄的主鍵與一條已經存在的記錄的建相互匹配,那麼就對匹配的目標記錄進行更新;
建設性合併:如果輸入記錄的之間與已有記錄的鍵匹配,那麼就保留已有的記錄加入輸入的記錄。
數據在初始裝載完成後,可以通過更新和刷新兩種方法對數據倉庫的數據進行維護:
更新:對數據源中增加的變化的應用;
刷新:在特定週期中完全重新裝載。
如果需要更新的記錄數總數的25%,可能就需要考慮使用刷新的方法