大數據、數據倉庫和ETL

一、背景 

    大量原來線下的業務電子化之後,產生了很多的數據,這些數據除了能夠支撐業務正常運轉,也能夠使分析人員針對整個企業的運轉情況進行分析。比如,本週與上週相比銷量增加還是減少了?原因是什麼? 產品的庫存週期長了還是短了?哪些產品需要及時補充庫存?哪些供應商提供的商品,成本低、質量好、及時供貨、客戶比較喜歡?哪些地方的支出變多了?用戶對我的產品滿意嗎?客戶發生了哪些變化?需要招人嗎?招什麼樣的人? 上面這些問題分別涉及 銷售、庫存、採購、會計、客戶、HR等各個層面。

    二、業務型系統與分析型系統的區別 OLTP  VS OLAP

    OLTP:代表具體的操作,是對原來線下操作的模擬。

    OLAP:關注整體的分析和決策。BI之前叫作決策支撐系統。

    三、數據倉庫是什麼

    OLAP關注分析,需要更宏觀的數據視野(大量的細節會使人看不清楚),需要做跨系統的數據整合。業務型的數據專注於具體的操作,不適合做分析。數據倉庫的核心是把所有系統的數據進行集成,保證數據的一致性,並且要能反映出業務系統的變化(支持敏捷開發,增量開發)。這是一個艱鉅的任務,比如同一個東西一個表叫id,一個表叫seq,業務裏存1行,倉庫裏可能需要2行。

    四、數據模型是什麼?(數據結構)

        數據倉庫裏的數據怎麼存儲?(關係模型還是數據立方體?文件還是圖片?)彼此間的關係怎麼定義?怎麼樣反應業務系統裏的變化?怎麼樣使存儲上省空間?怎麼樣使查詢更快?怎麼樣方便的出報表?怎麼樣實現增量開發和敏捷開發(避免返工)?怎麼樣定義跨多個業務系統的數據?……

    五、ETL 是什麼

        把數據模型定義的結構,具體實現的過程。在大數據出現之前,業務系統和倉庫都是結構化的數據,對應的ETL的接口主要是sql。大數據時代,ETL的具體實現技術是類似於 map reduce的任務,hivesql等。

 

    六、數據部門需要做的事情

        1、搭建好能夠支撐離線分析和實時分析的整體技術架構平臺。具體的會涉及到 數據埋點、數據同步、分佈式作業調度和計算、消息隊列、流式計算、對外提供服務的方式等

        2、具體數據模型的設計和實現(ETL和數據倉庫)

        3、針對具體應用的報表

        4、使用機器學習等技術實現的模型

 

    七、大數據部門的人員角色劃分

        1、計算機技術人員 熟悉數據埋點、抓取、消息隊列、hdfs spark storm hbase hive 等分佈式技術的人員

        2、數據建模人員  分析業務,設計數據倉庫的模型,通過第一類人的技術實現倉庫的構建

        3、數據挖掘/分析人員  具體的設計模型、報表等

 

    八、業界事實標準

        1、數據模型--kimball的維度模型。簡單概括:1》 使用企業數據倉庫總線做數據倉庫總體架構設計。2》 將世界描述爲相對靜態的實體(維度表)和實體之間的交互(事實表)3》 事實表代表維度的關聯關係 4》用一致性維度實現數據的集成和敏捷開發 5》 用持久性代理鍵標記實體

        2、大數據倉庫相關的技術體系

            hdfs HBase hive ElasticSearch Flume Kafka storm Spark 

 

    總結:大數據倉庫是數據倉庫的延伸。數據倉庫的目標是數據集成,大數據相關的技術是爲了數據倉庫服務的。具體的分析和應用基於數據倉庫展開。即 大數據技術->倉庫--》分析應用

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