關于數據倉庫架構及各組件(jiàn)方案選型!
  • 更新時(shí)間(jiān):2024-12-29 02:52:19
  • 數倉開(kāi)發
  • 發布時(shí)間(jiān):5個(gè)月(yuè)前
  • 487

 關于數據倉庫的(de)概念、原理(lǐ)、建設方面,已經有(yǒu)很(hěn)多內(nèi)容和(hé)經典書(shū)籍可以參考。在本文(wén)中,我更想讨論企業(yè)數據倉庫項目中的(de)架構和(hé)組件(jiàn)工(gōng)具問(wèn)題。


數據倉庫可以被簡單地(dì)描述為(wèi)通(tōng)過數據集成工(gōng)具連接原始數據和(hé)分析界面數據庫的(de)存儲機(jī)制。它管理(lǐ)企業(yè)大量的(de)數據集,提供轉換、移動和(hé)展現(xiàn)給終端用戶的(de)功能。有(yǒu)許多方法可以擴展數據倉庫的(de)能力,但(dàn)我們将重點讨論最基本的(de)問(wèn)題。在不考慮過多技(jì)術細節的(de)情況下(xià),整個(gè)架構可以被分為(wèi)4個(gè)層次:

1. 原始數據層(數據源)
2. 數據倉庫架構形态
3. 數據的(de)采集、收集、清洗和(hé)轉換
4. 應用分析層

單層架構(直連)

大多數情況下(xià),數據倉庫是一個(gè)關系型數據庫,包含允許多維數據的(de)模塊,或者分為(wèi)多個(gè)易于訪問(wèn)的(de)多主題信息域。最簡單的(de)數據倉庫隻有(yǒu)一層架構。

單層架構意味着數據倉庫與分析接口直接連接,終端用戶可以直接查詢。但(dàn)是簡單也意味着有(yǒu)其弊端和(hé)适用性:

傳統上(shàng),數據倉庫的(de)存儲從(cóng)100GB起,直接連接可能導緻查詢速度慢(màn),因為(wèi)需要直接從(cóng)數據倉庫準确地(dì)查詢數據,或者是準确地(dì)輸入數據,這(zhè)對(duì)數據庫和(hé)前端BI工(gōng)具的(de)性能要求相(xiàng)當高(gāo),基本性能不會太高(gāo)。

此外(wài),在處理(lǐ)複雜(zá)維度分析時(shí),性能也受到限制,由于其緩慢(màn)性和(hé)不可預測性,很(hěn)少應用于大型數據平台。要執行高(gāo)級數據查詢,數據倉庫應該在低(dī)級實例下(xià)被擴展以簡化(huà)數據查詢。

兩層數據架構(數據集市(shì)層)

兩層架構是在前端應用層和(hé)EDW層增加了數據集市(shì)層。數據集市(shì)是包含特定主題域信息的(de)低(dī)級别存儲庫。簡而言之,它是一個(gè)在特定主題(例如銷售、運營、市(shì)場(chǎng)等)下(xià)延伸EDW的(de)較小(xiǎo)數據庫。

這(zhè)種方式解決了部門級數據查詢和(hé)分析的(de)問(wèn)題,每個(gè)部門更容易訪問(wèn)所需的(de)數據,因為(wèi)每個(gè)集市(shì)僅包含給定域信息。此外(wài),數據集市(shì)限制了終端用戶對(duì)數據的(de)訪問(wèn)範圍,并設置了數據權限控制。但(dàn)是創建數據集市(shì)層需要額外(wài)的(de)硬件(jiàn)資源,并與數據平台的(de)其他(tā)數據庫集成。




三層架構(OLAP)

在數據集市(shì)層之上(shàng),我們通(tōng)常會使用聯機(jī)分析(OLAP)處理(lǐ)多維數據集(cube)。OLAP數據集是一類特定數據庫,可以從(cóng)多維度描述數據。關系型數據庫隻能表示二維數據,而OLAP允許在多維度下(xià)編譯數據并在維度之間(jiān)移動。

OLAP專門用于維度建模數據分析,并通(tōng)過BI以圖表方式展示OLAP的(de)結果。

OLAP的(de)業(yè)務價值在于允許對(duì)數據進行多維度分析,以提供對(duì)所有(yǒu)企業(yè)數據或特定數據集市(shì)的(de)訪問(wèn)。現(xiàn)在,它已經成為(wèi)主流的(de)架構應用。

以下(xià)是最廣泛使用的(de)架構體(tǐ)系結構圖,由頂層、中層和(hé)底層組成。

底層:數據倉庫服務器(qì)的(de)數據庫是底層,通(tōng)常是一個(gè)關系型數據庫系統,使用後端工(gōng)具清潔、轉換和(hé)加載數據到該層。

中間(jiān)層:數據倉庫中的(de)中間(jiān)層是使用ROLAP或MOLAP模型實現(xiàn)的(de)OLAP服務器(qì)。對(duì)用戶來(lái)說(shuō),這(zhè)個(gè)應用程序層顯示數據庫的(de)抽象視(shì)圖,同時(shí)也充當最終用戶和(hé)數據庫之間(jiān)的(de)中介。

頂層:頂層是前端應用層,連接數據倉庫并從(cóng)數據倉庫獲取數據或通(tōng)過API獲取數據。常見的(de)應用包括數據查詢、報表制作(zuò)、BI數據分析、數據挖掘和(hé)其他(tā)應用開(kāi)發。

根據功能應用和(hé)技(jì)術架構,下(xià)面是一張中大型企業(yè)的(de)詳細數據倉庫架構圖。

數據倉庫的(de)四個(gè)核心組件(jiàn)是:底層源數據庫(數據存儲方案)、ETL、前端應用和(hé)OLAP服務。
數據倉庫數據庫

底層的(de)數據倉庫服務器(qì)通(tōng)常是一個(gè)關系數據庫系統(各種表關聯的(de)SQL統計(jì)會更方便一些,非關系型數據庫在這(zhè)方面還(hái)有(yǒu)所區(qū)别)。常用的(de)方案有(yǒu)Oracle、DB2、SQLServer以及Essbase、Greenplum、Teradata等專業(yè)數據倉庫解決方案。
1. 采用傳統關系型數據庫或經過功能擴展的(de)MPP數據庫

- 傳統的(de)關系型數據庫包括:Oracle、MySQL、DB2。
- 大規模并行處理(lǐ)數據庫包括:Vertica、Teradata(商業(yè))、Greenplum(開(kāi)源)。

Teradata在銀行業(yè)使用較多,但(dàn)成本也比較高(gāo)。我們目前在項目中主要使用Greenplum,它是業(yè)界最快且性價比最高(gāo)的(de)高(gāo)端數據倉庫解決方案。Greenplum基于PostgreSQL,在2015年(nián)開(kāi)源。國(guó)內(nèi)四大行中有(yǒu)3家(jiā)在使用,5大物(wù)流公司中有(yǒu)4家(jiā)在使用。很(hěn)多公司正從(cóng)Teradata遷移到Greenplum。

2. 大數據平台架構:Hadoop+Hive

這(zhè)個(gè)方案非常通(tōng)用,通(tōng)常的(de)組合是:TB級數據使用PostgreSQL,百TB級數據使用Greenplum,PB級以上(shàng)的(de)數據使用Hadoop。

下(xià)面是一個(gè)傳統數據倉庫架構、Greenplum和(hé)Hadoop大數據平台的(de)對(duì)比圖。

我們專注高(gāo)端建站,小(xiǎo)程序開(kāi)發、軟件(jiàn)系統定制開(kāi)發、BUG修複、物(wù)聯網開(kāi)發、各類API接口對(duì)接開(kāi)發等。十餘年(nián)開(kāi)發經驗,每一個(gè)項目承諾做到滿意為(wèi)止,多一次對(duì)比,一定讓您多一份收獲!

本文(wén)章(zhāng)出于推來(lái)客官網,轉載請表明(míng)原文(wén)地(dì)址:https://www.tlkjt.com

在線客服

掃碼聯系客服

3985758

回到頂部