1. 程式人生 > >資料倉庫系列之匯流排架構

資料倉庫系列之匯流排架構

      匯流排架構是資料倉庫建設的總體規劃,從整體視角描述瞭解決方案的維度模型,描述了各個子系統的功能以及關係,描述資料從源系統到決策系統的資料流程,提供建立企業資料倉庫系統的增量式方法。業務需求回答了要做什麼,匯流排架構就是回答怎麼做的問題。

一、整體解決方案架構:

      資料倉庫的核心功能從源系統抽取資料,通過清洗、轉換、標準化,將資料載入到BI平臺,進而滿足業務使用者的資料分析和決策支援。資料倉庫整體解決方案架構包含三個部分:源資料、 資料倉庫、資料應用。

 

 

 

二、資料倉庫分層架構:

  資料倉庫的資料來源於不同的源資料,並提供多樣的資料應用,資料自下而上流入資料倉庫後向上層開放應用,而資料倉庫可以是資料中心管控平臺。

 

   源資料層(ODS):此層資料無任何更改,直接沿用外圍系統資料結構和資料,不對外開放;為臨時儲存層,是介面資料的臨時儲存區域,為後一步的資料處理做準備,一般只會進行資料篩選和異常處理。

  資料轉換層(DSA):資料加工區域,主要涉及資料的轉換資料,清洗資料,過濾資料等操作。

  資料倉庫層(EDW):DW 層的資料應該是一致的、準確的、乾淨的資料,即對源系統資料進行了清洗(去除了雜質)後的資料。

  資料應用層(DA 或 APP):前端應用直接讀取的資料倉庫;根據報表、專題分析需求而計算生成的資料,資料倉庫是資料處理的後臺,業務使用者並不關心後臺怎麼處理。資料應用是資料呈現的前臺,是業務使用者進行查詢的入口。BI應用程式的體驗也是衡量資料倉庫是否成功的主要因素。好的資料倉庫搭建平臺可以通過資料倉庫將資料傳送到前端進行分析資料。

​    資料倉庫從各資料來源獲取資料及在資料倉庫內的資料轉換和流動都可以認為是 ETL的過程,ETL 是資料倉庫的流水線,也可以認為是資料倉庫的血液,它維繫著資料倉庫中資料的新陳代謝,而資料倉庫日常的管理和維護工作的大部分精力就是保持 ETL 的正常和穩定。

三、為什麼要對資料倉庫架構進行分層?

  資料倉庫的分層是在利用空間換時間,通過大量的預處理來提升應用系統的使用者體驗(效率),因此資料倉庫會存在大量冗餘的資料;不分層的話,如果源業務系統的業務規則發生變化將會影響整個資料清洗過程,工作量巨大。通過資料分層管理可以簡化資料清洗的過程,因為把原來一步的工作分到了多個步驟去完成,相當於把一個複雜的工作拆成了多個簡單的工作,將資料倉庫分層後更加方便處理每一層,這樣每一層的處理邏輯都相對簡單和容易理解,我們也比較容易保證每一個步驟的正確性,當資料發生錯誤的時候,往往我們只需要區域性調整某個步驟即可。當然分層也要適當,如果專案較小完全可以直接使用兩層架構來完成工作就沒有必要搭建三層架構。

四、架構的特點:

  1、易用性,資料倉庫的目的是決策支援系統(Decision Support System ,簡稱DSS),既然面向的的是分析使用者,那麼資料越容易理解,越能受使用者歡迎,而維度建模包含具有描述特性的維度表可以讓使用者很容易理解資料,而不像正規化建模,由於太過規範化而導致使用者對資料的理解有一定的難度,需要對業務的很深很細的瞭解。

  2、效能高,通過資料的處理,排序和整合,構建出來的維度表,不僅能夠讓使用者很方便的理解資料,使用資料,而且在計算所需要的資料的時候,不需要關聯太多的表,從而使得計算的效能很高。

  3、擴充套件性,具有非常好的可擴充套件性,以便容納不可預知的新資料來源和新的設計決策。可以很方便在不改變模型粒度情況下,增加新的分析維度和事實,不需要過載資料,也不需要為了適應新的改變而重新編碼。

五、總結

 

       通過使用維度建模,使用者可以得到很好的效果,只有使用者滿意了,資料倉庫才能實現更大的價值。可以說維度建模的核心是星型模型,星型模型所擁有的特點正是使用者方便使用的根源。維度模型也有缺點,比如資料一致性很難保證,資料冗餘,維度資訊處理等,但這些相對於它的優點來講都是可接受的,而且也可以通過其他方式避免和簡化的。如果以維表為匯流排,事實表以維表為基礎的匯流排矩陣,建設出來的架構正是匯流排式架構。

       本文中如有錯誤或誤導的地方歡迎大家指出糾正。 希望這篇文章能夠給大家帶來幫助,最後感謝大家的閱讀。歡迎大家一起加入高效資料處理ETL交流群,一起討論資料分析ETL過程的問題,一起學習一起成長。下一篇我們開始來了解元資料管理。

 掃碼加群:

相關推薦

資料倉庫系列匯流排架構

      匯流排架構是資料倉庫建設的總體規劃,從整體視角描述瞭解決方案的維度模型,描述了各個子系統的功能以及關係,描述資料從源系統到決策系統的資料流程,提供建立企業資料倉庫系統的增量式方法。業務需求回答了要做什麼,匯流排架構就是回答怎麼做的問題。 一、整體解決方案架構: &

資料倉庫系列維度建模

      上一篇文章我已經簡單介紹了資料分析中為啥要建立資料倉庫,從本週開始我們開始一起學習資料倉庫。學習資料倉庫,你一定會了解到兩個人:資料倉庫之父比爾·恩門(Bill Inmon)和資料倉庫權威專家Ralph Kimball。Inmon和Kimball兩種DW

資料倉庫系列維度建模二

      在上一篇文章中我們簡單介紹了什麼是維度建模以及維度建模的基本要素,這篇文章中我們依然學習瞭解維度建模中的基本要素事實表和維度表的型別以及維度設計方法。首先裡瞭解維度建模中的事實表型別,在依次介紹維度型別,一致性維度和一致性事實,維度設計方法。接下來進入正題。 &nb

資料倉庫系列資料質量管理

  資料質量一直是資料倉庫領域一個比較令人頭疼的問題,因為資料倉庫上層對接很多業務系統,業務系統的髒資料,業務系統變更,都會直接影響資料倉庫的資料質量。因此資料倉庫的資料質量建設是一些公司的重點工作。   一、資料質量   資料質量的高低代表了該資料滿足資料消費者期望的程度,這種程度基於他們對資料的使用預

資料倉庫系列關於資料倉庫自動化技術

  目前市面上的BI工具都在提及敏捷BI解決方案。敏捷BI解決方案所提供的自動化技術支援主要是從資料來源取數到BI前端工具展現。這樣的敏捷BI解決方案在企業資料量不是很龐大的情況下,還是很好的支撐執行。PowerBI可以支援大量的資料處理,但是對於硬體裝置的要求也是非常高的。但是資料量變得越來越龐大就會導致B

資料倉庫(三)架構

概述 架構是資料倉庫建設的總體規劃,從整體視角描述瞭解決方案的高層模型,描述了各個子系統的功能以及關係,描述了資料從源系統到決策系統的資料流程。業務需求回答了要做什麼,架構就是回答怎麼做的問題。 架構的價值                          

資料Zookeeper系列Zookeeper服務開機自啟動配置

1.  編寫執行指令碼 $ sudo cd /etc/init.d $ sudo vi zookeeper #!/bin/bash #chkconfig:2345 20 90 #description:zookeeper #processname:zookeeper

資料Hadoop系列Hadoop服務開機自啟動配置

1.  編寫執行指令碼 $ sudo cd /etc/init.d $ sudo vi hadoop #!/bin/bash #chkconfig:35 95 1 #description:script to start/stop hadoop su - hadoop

資料HBase系列HBase分散式資料庫部署

一、部署準備 1. 依賴框架 大資料Hadoop系列之Hadoop分散式叢集部署:https://blog.csdn.net/volitationLong/article/details/80285123 大資料Zookeeper系列之Zookeeper叢集部署:https://

資料Zookeeper系列Zookeeper分散式協調服務部署

一、部署準備 1. 安裝介質 zookeeper-3.4.13:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz 2. 主機規劃 192.168.233.13

資料Hive系列Hive MapReduce

1.  JOIN 1.1  join操作 INSERT OVERWRITE TABLE pv_users SELECT pv.pageid, u.age FROM page_view pv JOIN user u ON (pv.userid = u.userid);

資料HBase系列初識HBase

1.  HBase簡介 1.1  為什麼使用HBase 傳統的RDBMS關係型資料庫(MySQL/Oracle)儲存一定量資料時進行資料檢索沒有問題,可當資料量上升到非常巨大規模的資料(TB/PB)級別時,傳統的RDBMS已無法支撐,這時候就需要一種新型的資料庫系統更好更

資料Hive系列Hive常用SQL

1. hive匯出資料到hdfs 語法:export table 表名 to '輸出路徑'; 例子:export table cloud.customer to '/tmp/hive/customer'; 2. beeline連線 $ beeline 語法:beeline> !

資料Hive系列Hive使用者許可權管理

1. 角色 * 建立角色 create role role_name; * 顯示角色 show roles; * 刪除角色 drop role role_name; 2. 使用者 * 使用者進入admin角色許可權 set hive.users.in.admin.role;

資料Flume系列Flume叢集搭建

1. 概念 叢集的意思是多臺機器,最少有2臺機器,一臺機器從資料來源中獲取資料,將資料傳送到另一臺機器上,然後輸出。接下來就要實現Flume叢集搭建。叢集如下圖所示。 2. Flume搭建 2.1 部署準備 部署主機 192.168.9.139 host14

資料Hive系列Hive API

Maven依賴配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma

資料倉庫研究二--mondrian入門

原文:http://blog.csdn.net/infowain/archive/2006/06/24/829074.aspx 以前一直是用MS Anylize Service的,最近要做的專案是java的,小專案預算有限,所以想找一個開源的java的資料倉庫解決方案來用用。  

Dubbo 原始碼分析系列三 —— 架構原理

1 核心功能 首先要了解Dubbo提供的三大核心功能: Remoting:遠端通訊 提供對多種NIO框架抽象封裝,包括“同步轉非同步”和“請求-響應”模式的資訊交換方式。 Cluster: 服務框架 提供基於介面方法的透明遠端過程呼叫,包括多協議支援,以及

資料學習系列—HBASE

hadoop生態系統 zookeeper負責協調 hbase必須依賴zookeeper flume 日誌工具 sqoop 負責 hdfs dbms 資料轉換 資料到關係型資料庫轉換 大資料學習群119599574 hbase簡介 hadoop database 是一個

資料倉庫系列——01.拉鍊表(原理、設計以及在Hive中的實現)

0x00 前言 過了半年時間,對資料倉庫的理解又有了一些不同的認識,翻出來之前寫的關於拉鍊表的內容,稍作修改重新發出來。本篇將會談一談在資料倉庫中拉鍊表相關的內容,包括它的原理、設計、以及在我們大資料場景下的實現方式。 內容 全文由下面幾個部分組成: 先分享一下拉