前幾次內容分享,我們一共做了三件事:
1.逐步搭建了傳統hadoop大資料平臺包括zookeeper、kafka、flume叢集
2.採集前端埋點到hdfs
3.採集業務資料到hdfs
這樣資料都採集到HDFS上了,其實就是到了數倉了!
資料採集請看以下連結:
前端埋點資料採集系列
五. 前端埋點資料採集總結
業務系統資料採集系列
一、整體架構設計以及MySQL安裝配置
一、數倉定義
按照傳統的定義,資料倉儲是一個面向主題的、整合的、非易失的、反映歷史變化(隨時間變化),用來支援管理人員決策的資料集合。資料倉儲是一套資料組織和應用的方法論,是需要很多的支援系統來協助(包含類似資料庫這樣的儲存系統),最後達到支援分析決策的目的。
1、面向主題
-
關係型資料庫
面向事務處理任務,用於記錄狀態。
-
數倉
數倉中的資料是按照一定的主題域進行組織,主題是一個抽象的概念,是指使用者使用資料倉儲進行決策時所關心的重點方面,一個主題通常與多個操作型資訊系統相關。每一個主題基本對應一個宏觀的分析領域。
比如:銀行的資料倉儲的主題:客戶
2、整合
- 關係型資料庫
資料庫通常與某些特定的應用相關,資料庫之間相互獨立,並且往往是異構的
- 數倉
資料倉儲中的資料是在對原有分散的資料庫資料抽取、清理的基礎上經過系統加工、彙總和整理得到的。必須消除源資料中的不一致性,以保證資料倉儲內的資訊是關於整個企業的一致的全域性資訊。 3、非易失即相對穩定的
- 關係型資料庫
資料通常實時更新,資料根據需要及時發生變化。
- 數倉
資料倉儲中包括了大量的歷史資料。所涉及的資料操作主要是資料查詢,一旦某個資料進入資料倉儲以後,一般情況下將被長期保留,也就是資料倉儲中一般有大量的查詢操作,但修改和刪除操作很少,通常只需要定期的載入、重新整理。4、隨時間變化即反映歷史變化
- 關係型資料庫
資料主要關心當前某一個時間段內的資料
- 數倉
資料倉儲中的資料通常包含歷史資訊,系統記錄了企業從過去某一時點(如開始應用資料倉儲的時點)到目前的各個階段的資訊,透過這些資訊,可以對企業的發展歷程和未來趨勢做出定量分析和預測。5、用來支援管理人員決策的資料集合
- 關係型資料庫
資料庫只關注當前時間資料,無法支援管理人員決策。
- 數倉
系統記錄了企業歷史資料,可以對企業的發展歷程和未來趨勢做出定量分析和預測。企業資料倉儲的建設,是以現有企業業務系統和大量業務資料的積累為基礎。供他們做出改善其業務經營的決策而把資訊加以整理歸納和重組,並及時提供給相應的管理決策人員,是資料倉儲的根本任務。
二、建設數倉的目的
數倉的建設並不是資料儲存的最終目的地,而是為資料最終的目的地做好準備:清洗、轉義、分類、重組、合併、拆分、統計等等。透過對資料倉儲中資料的分析,可以幫助企業,改進業務流程、控制、成本、提高產品質量等。
1、理清資料資產提高排查和開發運維效率
場景:
-
不知道有什麼資料、找誰要資料;
-
多個系統不同的資料欄位的含義
-
資料如何生成和更新的,資料依賴關係割裂;
2、提高資料質量
場景
-
欄位命名不規範、口徑不一致;
-
條件的過濾和規則等的理解差異帶來的演算法不一致;
3、資料解耦
場景
-
上下游依賴混亂
-
複雜問題耦合在一起
-
每次從原始資料取數,資料開發週期長
-
業務資料輕微改動帶來的變更過大,無中間表加工
4、解決頻繁的臨時性需求
場景
-
報送監管歷史資料
-
臨時資料需要交叉
雖然數倉建設能帶來諸多的益處,但數倉的建設不是一天建成的,是一個龐大複雜耗時的工程,需要很多支援系統的配合:後設資料管理系統、排程系統等,要根據業務發展所處的狀態和未來的發展趨勢以及分析決策的複雜性等綜合來搭建。
總結:
-
瞭解數倉的特點;
-
瞭解建設數倉的目的意義,能解決什麼問題等