天天看點

漫談企業資料倉庫的演進

資料倉庫的概念誕生最早可追溯到上世紀70年代,回顧早期的企業環境,企業的生産與服務是一個很長周期,導緻業務資料呈現一種粗粒度模式。

随着網際網路的快速滲透,從早期的pc到現在的移動網際網路,業務的需求與服務周期逐漸變短,業務資料量級,與資料類型的多樣化暴增,對應着的技術、架構、理論也顯出快速發展。從最開始的資料倉庫到現在的大資料,中間經曆過太多的技術、架構模式的演進與變革,從最初的資料倉庫到海量資料,從大資料到現在的資料平台,從資料中台到資料湖。中間還穿插着人工智能與雲計算兩大技術體系。

資料倉庫在國外的發展曆史多年,進入中國的時間大概在1998-1999年左右,中間大緻經曆了兩個階段,從傳統企業的資料倉庫架構到現在網際網路時代的大資料之下的資料倉庫架構,有着明顯的變更。本文按照資料倉庫的發展曆程,細說資料倉庫的發展曆程,最後再讨論下技術體系對資料倉庫架構的影響。

1

傳統企業資料倉庫

從資料倉庫的萌芽至今,傳統企業的資料倉庫大緻可以分為五個時代,四種架構。

  • 1970~1991 資料倉庫概念萌芽到全企業內建
  • 1991~1994 EDW企業資料內建時代(Inmon 資料倉庫一書,範式模組化)
  • 1994~1996 資料集市時代(kimball次元模組化)
  • 1996~1997 神仙大戰時代(次元模組化與範式模組化争論)
  • 1998~2001 合并時代(CIF架構)

1.1 範式模組化

五個時代均是以重要事件或者人物的出現作為劃分,比如說EDW企業資料內建時代是以Bill Inmon大作《Building the Data Warehouse》作為劃分,在這本書裡面Inmon給出了資料倉庫定義:資料倉庫(DataWarehouse)是一個面向主題的(Subject Oriented)、內建的(Integrated)、相對穩定的(Non-Volatile)、反映曆史變化的(Time Variant)資料集合,用于支援管理決策(Decision-Making Support)。該書還提供了建立資料倉庫的指導意見和基本原則。憑借此書,Bill Inmon被稱為資料倉庫之父。

1.2 次元模組化

資料倉庫的概念确立之後,有關資料倉庫的實施方法、實施路徑和架構等問題引發了諸多争議。在實際運用中,大部分企業也都以失敗告終。這時候資料集市時代代表人物 Ralph kilmball及其代表作《The Data Warehouse Toolkit》出現。在資料倉庫的建設上提出了自下而上的建設方法,剛好與Bill Inmon的範式模組化自上而下建設理論相反。這兩種理論的架構是各有千秋,是以就進入的争吵年代。

漫談企業資料倉庫的演進

(範式模組化以及次元模組化的架構圖)

Inmon提出的集線器的自上而下(EDW-DM)的資料倉庫架構。操作型或事務型系統的資料源,通過ETL抽取轉換和加載到資料倉庫的ODS層,然後通過ODS的資料建設原子資料的資料倉庫EDW,EDW不是多元格式的,不友善上層應用做資料分析,是以需要通過彙總建設成多元格式的資料集市層。

範式模組化應用在EDW層,一個符合3範式的關系必須具有以下三個條件:

  • 每個屬性的值唯一,不具有多義性;
  • 每個非主屬性必須完全依賴于整個主鍵,而非主鍵的一部分;
  • 每個非主屬性不能依賴于其他關系中的屬性,因為這樣的話,這種屬性應該歸到其他關系中去。

但是由于EDW的資料是原子粒度的,資料量比較大,完全規範的3範式在資料的互動的時候效率比較低下,是以通常會根據實際情況在事實表上做一些備援,減少過多的資料互動。

Inmon理論下結構就是:ODS、EDW(ADM/FDM)和DM,也就是貼源層、主題模型層、共性加工層以及集市層。每一個層對應于資料庫下面的模式,接下來依次介紹這四個層:

(1)ODS(貼源層):即這裡存放的資料與原系統保持一緻,将采集公司所有的系統産生的資料以及外部資料(包括合作資料以及爬蟲獲得的資料),将所采集的資料彙總到一起,供EDW和DM使用;

(2)EDW:這一層分為兩個,即ADM(共性加工層)和FDM(主題模型層)。其中FDM将從ODS層不同系統不同表的字段進行分類,同一主題的字段都歸為一類,之前針對不同行業的十大主題;ADM是加工一些共性的名額,名額從ODS或者FDM的字段加工來,這層主要供集市層使用;

(3)DM:資料集市層,這一層是将業務部門所關注的名額進行彙總,形成的資料,不同的業務部門可以形成不同的集市,具體情況可以視情況而定;集市層的架構可以細分為:基礎層、彙總層和分析層。

Kimball提出的總線式的自下而上(DM-DW)的資料倉庫架構。同樣的,操作型或事務型系統的資料源,通過ETL抽取轉換和加載到資料倉庫的ODS層,然後通過ODS的資料,利用次元模組化方法建設一緻次元的資料集市。通過一緻性次元可以将資料集市聯系在一起,由所有的資料集市組成資料倉庫。

在複合式的資料倉庫架構中,操作型或事務型系統的資料源,通過ETL抽取轉換和加載到資料倉庫的ODS層,然後通過ODS的資料,利用範式模組化方法,建設原子資料的資料倉庫EDW,然後基于EDW,利用次元模組化方法建設資料集市。一般采用的模型是星型模型(推薦)和雪花模型。

範式模組化和次元模組化的差別在于,範式模組化是先進行全企業資料的資料倉庫建設,包含資料倉庫生命周期中的所有内容,在一開始的時候不會過于關注資料的應用與變現,通過對資料品質的摸底,分階段的去按照一條資料主線的方式将全企業資料聚集起來。最後再将第一階段資料倉庫中的資料再次通過階梯型高度聚合進入到資料集市DM中,完成對業務的支撐。

由于需要對企業全局進行規範化模組化,這将導緻較大的工作量。但這一步必須完成好,才能繼續往上建設資料集市。是以也就導緻規範化資料倉庫需要一定時間才能投入使用,靈活性相對後者來說略差。但是規範化資料倉庫一旦建立好了,則以後資料就更易于管理。而且由于開發人員不能直接使用其資料倉庫(通過資料集市的方式使用),更加確定了資料品質。還有由于中心資料庫是采用規範化設計的,備援情況也會更少。

而次元模組化則是更像是根據需求,面向業務的提取相關業務資料,按照次元模組化的方式組織資料,最後進入到資料集市,次元模組化靈活性更強,而且适用于業務變化比較頻繁的情況,對開發人員的要求也沒有規範化資料倉庫那麼高。

漫談企業資料倉庫的演進

(範式模組化與次元模組化大緻差別)

1.3 CIF架構

随着資料倉庫的不斷實踐與疊代發展,從争吵期進入到了合并的時代,Bill inmon 與 Ralph kilmball 的争吵沒有結論,幹脆提出一種新的架構包含對方,也就是後來Bill Inmon 提出的CIF(corporation information factory) 架構模式,這也算是資料倉庫的第三代架構,其架構特點是把整個架構劃分為不同層次,把每一層次的定義與功能都詳細的描述下來,CIF主要包括內建轉換層(DSA)、操作資料存儲(ODS)、資料倉庫(EDW)、資料集市(DM)、探索倉庫(EW)等部件。

漫談企業資料倉庫的演進

在後續的資料倉庫建設過程中,一般是合用次元模組化和CIF兩種架構進行的,即建立CIF的資料倉庫和次元模組化的資料集市。

CIF模式架建構設周期較長且設計複雜,初始階段建立企業級資料模型和資料标準以及相關的資料清洗整合工作,需要花費大量的人力和時間,但是一旦建立起企業級資料模型,資料的完整性和一緻性問題就能夠得到根本解決,針對需求變化易于擴充,後續的成本較低。

次元模組化架構首先着重于某幾個業務過程進行建構,以增量演進的方式簡化企業級資料倉庫的實作過程,啟動成本和設計方法較為簡單,通過次元模組化方式将原子層和彙總層合二為一,可以快速建立分析應用,但是企業級資料倉庫的穩定性和資料集市之間資料的一緻性需要持續維護一緻性次元來保證,後續擴充資料集市的工作量較大。

1.4 OPDM

OPDM 大約是在2011年提出來的,嚴格上來說,OPDM 操作型資料集市(倉庫)是實時資料倉庫的一種,它更多的是面向操作型資料而非曆史資料查詢與分析。這裡的操作型資料集市指的是将那些支援企業日常運作的系統資料(比如說訂單系統,财務系統,CRM系統産生的資料),通過一種實時技術,将這些分布在各個孤島的資料,按照業務的邏輯有機的整合到一起。提供業務系統的監控與指導(這些技術可以大體可以認為是storm、spark、flink)這一部分的内容和後續大資料時代下的資料倉庫實時數倉重合,我們後續進行讨論。

2

網際網路時代的大資料平台

傳統企業資料倉庫的正确讀法應該是 傳統-企業資料倉庫,從架構體系上來說,傳統企業資料倉庫是資料倉庫一個從無到有的過程,中間的有着不停的探索與實踐。但是随着網際網路的高速發展,傳統企業資料倉庫的劣勢也愈來展現。

  • 不能滿足海量資料存儲需求
  • 不能處理不同類型的資料
  • 計算與處理能力差

随着大資料技術的發展,網際網路時代的資料倉庫閃亮登場,網際網路的資料平台從07年-08年左右開始迅猛發展,在發展的初期也是從傳統資料平台的第三代架構開始演進的,網際網路産品發展特點是“糙、快、猛”,原有的技術體系必然無法支撐高IO吞吐、密集型計算,由此帶來了一系列的技術變革,适合網際網路時代的大資料平台應運而生。

漫談企業資料倉庫的演進

(網易有數大資料平台架構)

作者簡介

繼續閱讀