03.03 企業數據倉庫:概念,體系結構和組件

我們每天都基於以往的經驗做出許多決定。我們的大腦會存儲數以萬計的過去事件數據,並在每次我們面臨決策需要時利用這些記憶。像人一樣,公司會生成並收集有關過去的大量數據。這些數據可用於做出更好的決策。

儘管我們的大腦既可以處理也可以存儲,但是公司需要多種工具來處理數據。其中最重要的一個是數據倉庫。

在本文中,我們將討論什麼是企業數據倉庫,其類型和功能以及如何在數據處理中使用它。我們將定義企業倉庫與常規倉庫的區別,存在的數據倉庫的類型以及它們的工作方式。重點是提供有關構建倉庫的每種體系結構和概念方法的業務價值的信息。

什麼是企業數據倉庫?

如果您知道TB,那麼Netflix 在2016年的倉庫中大約有44 TB的數據可能會給您留下深刻的印象。僅憑大小就可以說明為什麼我們稱其為倉庫,而不僅僅是數據庫。因此,讓我們從基礎開始。

一個企業級數據倉庫(EDW)是企業資源庫的門店形式和管理所有企業的歷史業務數據。信息通常來自不同的系統,例如ERP,CRM,物理記錄和其他文件。為了準備數據進行進一步分析,必須將其放在單個存儲設備中。這樣,不同的業務部門可以對其進行查詢並從多個角度分析信息。

藉助數據倉庫,企業可以管理龐大的數據集,而無需管理多個數據庫。這種做法是為

商業智能(BI)存儲數據的一種面向未來的方式,這是將原始數據轉換為可操作的見解的一組方法/技術。由於EDW是其中的重要組成部分,因此該系統類似於人腦,其信息存儲在類固醇上。

企業數據倉庫與常規數據倉庫的區別是什麼?

任何數據倉庫都是始終通過一端的數據集成工具和另一端的分析接口與原始數據源連接的數據庫。如果是這樣,為什麼我們要隔離企業形式進行討論?

任何倉庫都提供具有轉換數據,移動數據並將其提供給最終用戶的機制的存儲。普通數據倉庫和企業數據倉庫之間的區別在於其廣泛的體系結構多樣性和功能。由於複雜的結構和規模,EDW通常會分解為較小的數據庫,因此最終用戶更願意查詢這些較小的數據庫。考慮到這一點,我們將重點放在覆蓋整個功能範圍的企業倉庫上。

但是,倉庫的大小並不能定義其技術複雜性,分析和報告功能的要求,數據模型的數量以及數據本身。因此,要了解什麼使倉庫成為倉庫,讓我們深入瞭解其核心概念和功能。

企業數據倉庫的概念和功能

在所有的鐘聲中,每個倉庫的核心都具有基本的概念和功能。這些支柱將倉庫定義為技術現象:

最終存儲。企業數據倉庫是組織中所有發生的所有公司業務數據的統一存儲庫。

反映源數據。EDW從其原始存儲空間(例如Google Analytics(分析),CRM,IoT設備等)獲取數據。如果數據分散在多個系統中,則難以管理。因此,EDW的目的是在單個存儲庫中提供原始源數據的相似性。由於公司內部和外部始終會產生新的相關數據,因此數據流需要專用的基礎架構才能在進入倉庫之前對其進行管理。

存儲結構化數據。EDW中存儲的數據始終是標準化和結構化的。這使得最終用戶可以通過BI界面和表單報告對其進行查詢。這就是使數據倉庫與數據湖不同的原因。數據湖用於存儲非結構化數據以進行分析。但是與倉庫不同,數據工程師/科學家更多地使用數據湖來處理大量原始數據。

面向主題的數據

。倉庫的主要重點是可以與不同域相關的業務數據。為了理解數據的含義,它總是圍繞一個稱為數據模型的特定主題構造的。主題的示例可以是給定項目的銷售區域或總銷售額。此外,添加了元數據以詳細說明每條信息的來源。

與時間有關。收集的數據通常是歷史數據,因為它描述了過去的事件。為了瞭解某種趨勢何時發生以及持續了多長時間,通常將大多數存儲的數據劃分為多個時間段。

非易失性的。一旦放入倉庫,就永遠不會從中刪除數據。由於源更改,可以對數據進行操作,修改或更新,但絕不打算刪除數據,至少最終用戶要刪除它們。當我們談論歷史數據時,出於分析目的刪除會適得其反。然而,為了擺脫不相關的數據,可能會在幾年內進行一次總體修訂。

考慮基本原理,我們將研究DW的實現類型。

數據倉庫類型

考慮到EDW的功能,對於如何在技術上進行設計總是有討論的餘地。在數據存儲和處理的情況下,它們針對不同種類的企業而特定且不同。當然,根據數據量,分析複雜性,安全性問題和預算,總會有關於如何設置系統的選項。

經典數據倉庫

具有專用硬件和軟件的統一存儲被認為是EDW的經典變體。使用物理存儲,您不必在多個數據庫之間設置數據集成工具。相反,EDW可以通過API與數據源連接,以不斷地獲取信息並在此過程中對其進行轉換。因此,所有工作都在暫存區域(在將數據加載到DW之前轉換數據的地方)或倉庫本身中完成。

傳統的數據倉庫被認為比虛擬的倉庫(我們將在下面討論)優越,因為它沒有附加的抽象層。它簡化了數據工程師的工作,並使在預處理端管理數據流以及實際報告變得更加容易。經典倉庫的缺點取決於實際的實現,但是對於大多數企業而言,這些缺點是:

  • 昂貴的技術基礎設施,包括硬件和軟件;
  • 聘請數據工程師和DevOps專家團隊來建立和維護整個數據平臺。

何時使用:適用於各種規模的想要處理其數據並使用它們的組織。經典倉庫可讓您變身為數據平臺的不同體系結構樣式,並有意按比例放大和縮小。


虛擬數據倉庫

虛擬數據倉庫用來作為一種替代,以經典的倉庫類型EDW的。本質上,這些是虛擬連接的多個數據庫,因此可以將它們作為一個系統進行查詢。

企業數據倉庫:概念,體系結構和組件

虛擬DW抽象與源數據庫之間的關係的方案

這種方法可以使組織保持簡單:數據可以保留在源中,但仍可以藉助分析工具進行提取。如果您不想弄亂所有底層基礎結構,或者您擁有的數據易於管理,則可以使用虛擬倉庫。但是,這種方法有很多缺點:

  • 多個數據庫將需要不斷的軟件和硬件維護以及成本。
  • 存儲在虛擬DW中的數據仍然需要轉換軟件,以使最終用戶和報告工具可以消化。
  • 複雜的數據查詢可能會花費太多時間,因為所需的數據可能會放置在兩個單獨的數據庫中。

何時使用:適合具有標準化格式原始數據且無需複雜分析的企業。它也適合那些不繫統地使用BI或希望從中開始使用BI的組織。

雲數據倉庫

十年來,雲/無雲技術已成為建立組織級技術的標準。您會在市場上找到無數的提供倉儲即服務的提供商。僅舉幾例:

  • Amazon Redshift
  • IBM Db2
  • Google BigQuery
  • Snowflake
  • Microsoft SQL數據倉庫

提到的所有提供商都將完全託管的,可擴展的倉庫作為其BI工具的一部分提供,或者像Snowflake一樣將EDW作為獨立服務來關注。在這種情況下,雲倉庫架構具有與任何其他雲服務相同的優勢。它的基礎架構已為您維護,這意味著您無需設置自己的服務器,數據庫和工具即可對其進行管理。此類服務的價格取決於所需的內存量以及查詢的計算能力。

就雲倉庫平臺而言,您可能要擔心的唯一方面是數據安全性。您的業​​務數據是一件敏感的事情。因此,您想檢查所選的供應商是否可以信任以避免違反協議。這並不一定意味著本地倉庫會更安全,但是在這種情況下,您的數據安全就在您手中。

何時使用:雲平臺是任何規模的組織的絕佳選擇。如果您需要為您進行所有設置,包括託管數據集成,DW維護和BI支持。

企業數據倉庫架構

儘管有許多架構方法以一種或另一種方式擴展倉庫功能,但我們將重點介紹最基本的方法。無需過多討論技術細節,整個數據管道可以分為三層:

  • 原始數據層(數據源)
  • 倉庫及其生態系統
  • 用戶界面(分析工具)

與數據提取,轉換和加載到倉庫有關的工具是稱為ETL的另一類工具。同樣,在ETL的保護下,數據集成工具在將數據放入倉庫之前會對數據進行操作。這些工具在原始數據層和倉庫之間運行。

將數據加載到倉庫後,也可以對其進行轉換。因此,倉庫將需要某些功能來進行清潔/標準化/尺寸確定。這些因素和其他因素將決定體系結構的複雜性。我們將從不斷增長的組織需求的角度看待EDW體系結構。

一層架構

鑑於數據集成配置合理,我們可以選擇數據倉庫。在大多數情況下,數據倉庫是一個關係數據庫,其中包含允許多維數據的模塊,或者可以分離某些特定於域的信息以便於訪問的數據庫。在最原始的形式中,倉儲只能具有一層架構。

企業數據倉庫:概念,體系結構和組件


報告層直接與EDW的整個數據庫連接

EDW的一層架構意味著您擁有一個與分析接口直接連接的數據庫,最終用戶可以在其中進行查詢。在EDW和分析工具之間建立直接連接帶來了一些挑戰:

  • 傳統上,您可以將存儲視為從100GB數據開始的倉庫。直接使用它可能導致混亂的查詢結果以及低處理速度。
  • 直接從DW查詢數據可能需要精確的輸入,以便系統能夠過濾掉不需要的數據。這使得使用演示工具變得有些困難。
  • 存在有限的靈活性/分析能力。

此外,一層架構為報告的複雜性設置了一些限制。由於這種方法的緩慢性和不可預測性,因此很少用於大型數據平臺。要執行高級數據查詢,可以使用低級實例擴展倉庫,從而使對數據的訪問更加容易。


企業數據倉庫:概念,體系結構和組件

兩層體系結構(數據集市層)

在兩層體系結構中,在用戶界面和EDW之間添加了一個數據集市級別。數據集市是包含特定於域的信息的低級存儲庫。簡而言之,這是另一個較小的數據庫,它為EDW擴展了專用於您的銷售/運營部門,市場營銷等方面的信息。

在兩層體系結構中,數據集市擴展了EDW,以提供特定於域的數據

創建數據集市層將需要額外的資源來建立硬件並將這些數據庫與其餘數據平臺集成。但是,這種方法解決了查詢問題:每個部門將更輕鬆地訪問所需數據,因為給定的集市將僅包含特定於域的信息。此外,數據集市將限制最終用戶對數據的訪問,從而使EDW更加安全。

三層架構(在線分析處理)

在數據集市層之上,企業還使用在線分析處理(OLAP)多維數據集。OLAP多維數據集是一種特定類型的數據庫,表示來自多個維度的數據。關係數據庫僅表示二維數據(例如Excel或Google Sheets),而OLAP允許您編譯多個維度的數據並在多個維度之間移動。


企業數據倉庫:概念,體系結構和組件

OLAP多維數據集層可以從分佈式集市或直接從EDW中獲取信息

用語言很難解釋,因此讓我們看一下這個方便的示例,說明多維數據集的外觀。


企業數據倉庫:概念,體系結構和組件

OLAP多維數據集展示多維銷售數據

因此,如您所見,多維數據集將維度添加到數據中。您可能會認為它是多個相互組合的Excel表。多維數據集的前面是通常的二維表,其中垂直指定區域(非洲,亞洲等),而水平銷售數字和日期。當我們查看多維數據集的上面時,魔術就開始了,在這裡,銷售按路線進行細分,而底部則指定時間段。這就是所謂的多維數據。

OLAP的業務價值在於,它允許用戶將數據切成小塊並切成小塊以編制詳細的報告。只要優化了多維數據集以使其能夠與倉庫一起使用,它們就可以直接與EDW一起使用以提供對所有公司數據或特定每個數據集市的訪問。在實施方面,幾乎所有倉庫提供商都提供OLAP即服務。例如,請查看有關其OLAP產品的Microsoft文檔。

在這一點上,我們討論了適用於組織需求的EDW的高級設計。現在,我們將深入研究倉庫可能包含的技術組件。

數據倉庫vs數據湖vs數據集市

說到數據存儲體系結構,我們不得不提到使用數據集市或數據湖而不是倉庫的選擇。經常混淆,我們將詳細說明這些定義。


企業數據倉庫:概念,體系結構和組件

三種數據存儲形式的比較

數據倉庫用於存儲結構化數據,以便查詢工具和最終用戶可以獲得全面的結果。通常用於BI的倉庫的大小通常在100GB和無限之間。

但是,數據湖通常用於存儲原始數據或混合數據。這些通常用於機器學習,大數據或數據挖掘目的。在最近幾年中,數據湖用於BI:將原始數據加載到湖中並進行轉換,這是ETL過程的替代方法。儘管這種方法有其優點和缺點,但數據湖對於獲取結構化數據而言可能過於混亂。

然後我們有數據集市,也可以用作DW的替代品。這種模型(例如Kimball的模型)假定使用多個數據集市按域分發信息並相互連接。但是,由於數據集市很小(通常小於100GB),因此企業幾乎無法使用數據集市。數據集市通常用於將大型DW細分為可操作性更高的DW。

企業數據倉庫組件

有很多工具可以用來建立倉庫平臺。我們已經提到了其中大多數,包括倉庫本身。因此,讓我們大致瞭解每個組件的用途及其功能。

資料來源。很簡單,存儲原始數據的數據庫。

提取,轉換,加載(ETL)或提取,加載,轉換(ELT)層。這些工具執行與源數據的實際連接,提取和加載到要轉換的位置的工具。轉換統一數據格式。ETL和ELT方法的區別在於,在ETL中,轉換是在暫存區中的EDW之前完成的。ELT是一種更現代的方法,可以處理倉庫中的所有轉換。

暫存區。對於ETL,暫存區是在EDW之前加載位置數據。在這裡,它將被清理並轉換為給定的數據模型。暫存區域還可以包括用於數據質量管理的工具。

DW數據庫。數據最終被加載到存儲空間中。在ELT中,這裡可能仍需要進行一些轉換。但是,在此階段,將應用所有常規更改,因此數據將加載到其最終模型中。如前所述,數據倉庫通常是關係數據庫。DW還將包括數據庫管理系統和元數據的附加存儲。

元數據模塊。簡而言之,元數據是關於數據的數據。這些說明為用戶/管理員提供了與該信息相關的主題/領域的提示。該數據可以是技術元數據(例如初始來源),也可以是業務元數據(例如銷售區域)。所有元數據都存儲在EDW的單獨模塊中,並由元數據管理器進行管理。

報告層。這些工具使最終用戶可以訪問數據。也稱為BI界面,該層將用作儀表板以可視化數據,形成報告並提取單獨的信息。

小結

瞭解傳遞數據的工具鏈可以幫助您確定什麼才真正適合您的數據平臺要求。計劃建立一個倉庫可能要花費數年的計劃和測試,因為它以最基本的形式存在。

作為企業主,您可能會對所使用的選項和技術的數量感到困惑,因此與倉儲,ETL和BI領域的專家進行磋商至關重要。儘管專家可以在技術方面為您提供幫助,但可以定義業務目標,但請與將在工作中使用實際數據的人進行交談。


分享到:


相關文章: