一文讀懂選擇數據湖還是數據倉庫_第1頁
一文讀懂選擇數據湖還是數據倉庫_第2頁
一文讀懂選擇數據湖還是數據倉庫_第3頁
一文讀懂選擇數據湖還是數據倉庫_第4頁
一文讀懂選擇數據湖還是數據倉庫_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一文讀懂選擇數據湖還是數據倉庫

目錄

編者按..........................................................................1

1.數據倉庫、數據湖的概念和區(qū)別...............................................2

1.1.數據倉庫................................................................2

1.1.1.數據倉庫概念.......................................................2

1.1.2.數據倉庫特點........................................................2

1.1.3.OLTP與OLAP................................................................................................................3

1.1.4.數據倉庫的作用.....................................................4

1.2.數據湖...................................................................8

1.2.1.數據湖概念.........................................................8

1.2.2.數據湖內容.......................................................10

1.2.3.數據湖的特點.......................................................10

1.3.對比..................................................................11

1.4.小結...................................................................12

2.揭穿關于數據湖和數據倉庫的三大神話.........................................12

2.1.只需要數據湖或數據倉庫中的一個........................................13

2.2.數據湖是流行趨勢,數據倉庫不是人工智能...............................13

2.3.數據倉庫易于使用,而數據湖很復雜....................................13

3.數據湖和數據倉庫:用例....................................................14

4.未來該如何選擇............................................................14

編者按

今天,每秒都在生成TB和PB的數據,為這些海量數據集尋找存儲解

決方案至關重要。復雜的機器和技術現在收集了令人難以置信的廣泛數據一一

每天超過2.5萬億字節(jié)!一來自設備傳感器、日志、用戶、消費者和其他地

方。數據存儲并不像以前看起來那么簡單。在管理和存儲數據時,數據管理者

需要考慮使用數據湖或數據倉庫作為存儲庫。隨著數據量、速度和種類的增

加,選擇合適的數據平臺來管理數據從未像現在這樣重要。它應該是迄今為止

滿足我們需求的古老數據倉庫,還是應該是承諾支持任何類型工作負載的任何

類型數據的數據湖?在這里,我們深入探討了這兩個平臺。

第1頁共15頁

1.數據倉庫、數據湖的概念和區(qū)別

1.1.數據倉庫

1.1.1.數據倉庫概念

數據倉庫由比爾?恩門(BiDInmon,數據倉庫之父)于1990年提出,主要功

能是將企業(yè)系統(tǒng)聯機事務處理(OLTP)長期壁壘的大量數據,通過數據倉庫理論

支持所持有的數據存儲結構,做有系統(tǒng)的分析整理。

記錄事實,林

的娥一版本

并行數據*

數據倉陣

I理

二二.

-

隨著企業(yè)的發(fā)展,業(yè)務系統(tǒng)的數據不斷激增,這些存儲在企業(yè)業(yè)務數據庫

中(也就是關系型數據庫Oracle,MicrosoftSQLSever,MySQL等)數據會隨著

時間的積累越來越多,會使業(yè)務數據庫會有一定的負載,導致業(yè)務系統(tǒng)的運行

效率低,且這些數據中有很大一部分是冷數據,而我們業(yè)務系統(tǒng)一般對我們近

期的數據,也就是熱數據調用的比較頻繁,對冷數據使用頻率較低。

同時隨著企業(yè)數據驅動業(yè)務概念的興起,企業(yè)需要將各業(yè)務部門的業(yè)務數

據提取出來進行數據分析與挖掘,輔助高層進行分析與決策,但各部門需求的

數據種類千差萬別,接口錯綜復雜,過多的數據查詢腳本以及接口的接入導致

業(yè)務數據庫的穩(wěn)定性降低。

為了避免冷數據與歷史數據的積壓對我們業(yè)務數據庫效能產生影響,企業(yè)

需要定期將冷數據從業(yè)務數據庫中轉移出來存儲到一個專門存放歷史數據的倉

庫里面,各部門可以根據自身業(yè)務特性對外提供統(tǒng)一的數據服務,這個倉庫就

是數據倉庫。

1.1.2.數據倉庫特點

數據倉庫(DataWarehoese)的特點:面向主題的、集成的、穩(wěn)定的、反映

第2頁共15頁

歷史數據變化的。

面向主題的:數據倉庫是用來分析特點主題域的,所以說數據倉庫是面向

主題的。例如,電商行業(yè)的主題域通常分為交易域、會員域、商品域等。集成

的:數據倉庫集成了多個數據源,同一主題或產品相關數據可能來自不同的系

統(tǒng)不同類型的數據庫,日志文件等。穩(wěn)定的:數據一旦進入數據倉庫,則不可

改變。數據倉庫的歷史數據是不應該被更新的,同時存儲穩(wěn)定性較強反映歷史

數據變化的:數據倉庫保存了長期的歷史數據,這點相對OLTP的數據庫而

言。因為性能考慮后者統(tǒng)籌保存近期的熱數據。

1.1.3.OLTP與OLAP

1JOLTP與OLAP概念

數據處理大致可以分成兩大類:聯機事務處理OLTP(on-linetransaction

聯機分析處理

processing)>OLAP(On-LineAnalyticalProcessing)o

OLTP是傳統(tǒng)的關系型數據庫的主要應用,主要是基本的、日常的事務處

理,例如銀行交易。OLAP是數據倉庫系統(tǒng)的主要應用,支持復雜的分析操

作,側重決策支持,并且提供直觀易懂的查詢結果。

OLTP(On-lineIransactionProcessing)

實時系統(tǒng)(RealtimeSystem)人機交互的應用系統(tǒng)對用戶操作快速響應

系統(tǒng)請求響應性能數據總是保持在最新狀態(tài)數據量級小(100M-GB)

■1.:,一?,1.?;',

軟件技術基于數倉多維模型面向分析的操作深入理解數據

數據量級較大(100GB-TB)

:斛F就都巖空靜會魅

2JOLTP與OLAP區(qū)別

第3頁共15頁

|OLTPlOLAP

用戶操作人員,底層管理人員決SAM,mssxs

功能分析決策

DB設計面向應用面向主題

旌當前的,最新的細節(jié)的,立的歷史的,聚集的,多維的集成的,統(tǒng)f)

詢讀/寫數十條記錄讀上百萬條記錄

工作單位簡單的事務

用戶數上千個上百萬個

DB大小100MB-GB100BG-TB

時間要求具有實時性帆瞄要求不嚴格

主要應用數據倉庫

OLTP系統(tǒng)強調數據庫內存效率,強調內存各種指標的命令率,綁定變

量,并發(fā)操作等。OLAP系統(tǒng)則強調數據分析,強調SQL執(zhí)行市場,磁盤

I/O,分區(qū)等。

3)OLAP與數據倉庫的聯系

OLAP和數倉的關系是依賴互補的,一般以數據倉庫作為基礎,既從數據

倉庫中抽取出詳細數據的一個子集并經過必要的聚集存儲到OLAP存儲中供數

據分析工具讀取。

1.1.4.數據倉庫的作用

數據倉庫將來自不同來源的結構化數據聚合起來,用于業(yè)務智能領域的比

較和分析,數據倉庫是包含多種數據的存儲庫,并且是高度建模的。

如下圖所示:各個系統(tǒng)的元數據通過ETL同步到操作性數據倉庫ODS

中,對ODS數據進行面向主題域建模形成DW(數據倉庫),DM是針對某一個

第4頁共15頁

什么是ETL?(extraction-transformation-load抽取-轉換-加載)

傳統(tǒng)的數據倉庫集成處理架構是ETL,利用ETL平臺的能力,£=從源數據

庫抽取數據,L=將數據清洗(不符合規(guī)則的數據)、轉化(對表按照業(yè)務需求進行

不同維度、不同顆粒度、不同業(yè)務規(guī)則計算進行統(tǒng)計),T=將加工好的表以增

量、全量、不同時間加載到數據倉庫。

n

Sources

什么是ELT?(extraction-load-transformation抽取-加載-轉換)

大數據背景下的架構體系是ELT結構,其根據上層的應用需求,隨時從數

據中臺中抽取想要的原始數據進行建模分析。

ELT是利用數據庫的處理能力,£=從源數據庫抽取數據,L=把數據加載到

目標庫的臨時表中,T=對臨時表中的數據進行轉換,然后加載到目標庫目標表

中。

第5頁共15頁

Extract&Load?■Transform-

DataWarehouse

Transform

yCloudSources<

ELT對比ETL的優(yōu)勢:

資源利用率的提升:ELT主要通過數據庫引擎來實現系統(tǒng)的可擴展性(尤其

是當數據加工過程在晚上時,可以充分利用數據庫引擎的資源)。任務運行效

率的提升:ELT可以保持所有的數據始終在數據庫當中,避免數據的加載和導

出,從而保證效率,提高系統(tǒng)的可監(jiān)控性。并行處理優(yōu)化:ELT可以根據數據

的分布情況進行并行處理優(yōu)化,并可以利用數據庫的固有功能優(yōu)化磁盤1/00

可擴展性增強:ELT的可擴展性取決于數據庫引擎和其硬件服務器的可擴展

性。性能優(yōu)化:通過對相關數據庫進行性能調優(yōu),ETL過程獲得3到4倍的效

率提升一般不是特別困難。數據倉庫系統(tǒng)的作用能實現跨業(yè)務條線、跨系統(tǒng)的

數據整合,為管理分析和業(yè)務決策提供統(tǒng)一的數據支持。數據倉庫能夠從根本

上幫助你把公司的運營數據轉化成為高價值的可以獲取的信息(或知識),并且

在恰當的時候通過恰當的方式把恰當的信息傳遞給恰當的人。以下圖為例:

第6頁共15頁

簡單例子:一個顧客

操作型原子/數據倉庫部門/數據集市個體

按月的顧客

JJones

1989-prcs

123MainSi

信用度-AA

我們吸引越來越多我更少也呼.戶

J.Jones的信用q

J.Jones現在的或趣來越少的客戶?,;理靠籌舞廣出

信用度是多少?歷史如何?

數據倉庫的作用主要體現在企業(yè)決策、分析、計劃和響應以下幾個方面:

決策分析

分析企業(yè)盈利的價值組所在;分

從企業(yè)數以萬計的數據找出有價

析企業(yè)內部運營的狀況和風險;

值的信息,用于管理和分析人員

分析企業(yè)外包的市場變化;

及時精確的做出分析報告.

計劃響應

監(jiān)控時間和計量標準;事件溯源

獲取與分析計朗于實際情況做對

與關聯分析;制定及時的應對策

比信息;進行預賽和趨勢分析;

略;船輾第翻癱

預估策略中的潛在變化風除.k

數據倉庫針對實時數據處理和非結構化數據處理能力較弱,以及在業(yè)務在

預警預測等方面應用有一定的限制。

第7頁共15頁

報表展示即席查詢數據分析數據挖堀

(Report)(Ad-hoc)(DataAnalysis)(DataMining)

聚合數據多維數據模型*務模型

(Summary)(OLAP)(BusinessModel)

倉庫

細節(jié)數據(DetailData)

點擊流日志

(ClickStream)

1.2.數據湖

1.2.1.數據湖概念

數據倉庫發(fā)明于1980年底,專為業(yè)務應用程序生成的高度結構化數據而

設計。它將組織的所有數據集中在一起并以結構化方式存儲。它通常用于連接

和分析來自異構來源的數據。

數據倉庫架構依賴于數據結構來支持高性能的SQL(結構化查詢語言)操

作。數據倉庫是專門為基于SQL的訪問而構建和優(yōu)化的,以支持商業(yè)智能,

但為流分析和機器學習提供有限的功能。它們受到ETL要求的限制,需要在

存儲數據之前對其進行預處理。數據倉庫在數據用于分析之前需要順序ETL

攝取和轉換數據,因此它們對于流式分析效率低下。一些數據倉庫支持"微批

處理”以經常以小增量收集數據。它支持順序ETL操作,其中數據以瀑布模型

從原始數據格式流向完全轉換的集合,并針對快速性能進行了優(yōu)化。數據倉庫

以專有格式存儲數據。一旦數據存儲在數據倉庫中,對該數據的訪問僅限于

SQL和數據倉庫提供的自定義驅動程序。一些較新的數據倉庫支持半結構化數

據,例如JSON、Parquet和XML文件;與結構化數據集相比,它們對此類

數據集的支持有限且性能下降。數據倉庫不能完全支持存儲非結構化數據。數

據湖和數據倉庫之間的區(qū)別數據倉庫和商業(yè)智能工具支持歷史數據的報告和分

析,而數據湖支持利用數據進行機器學習、預測和實時分析的新用例。

第8頁共15頁

LearnfromthePastUnderstandthepresentPredicttheFuture

BusinessIntelligenceDataDiscoveryandAnalyticsAlandML

HistoricDataRealtimeandStreamingDataPastandCurrentData

雖然一些數據倉庫擴展了基于SQL的訪問以提供機器學習功能,但它們

不提供原生支持來運行廣泛可用的程序化數據處理框架,例如ApacheSpark.

Tensorflow等。相比之下,數據湖是機器學習用例的理想選擇。它們不僅提

供基于SQL的數據訪問,還通過Python>Scala>Java等語言為Apache

Spark和Tensorflow等編程分布式數據處理框架提供原生支持。數據倉庫需

要在數據用于分析之前順序ETL攝取和轉換數據,因此它們對于流式分析效

率低下。一些數據倉庫支持“微批處理”以經常以小增量收集數據。這種流到批

處理的轉換增加了數據到達與用于分析之間的時間,使得數據倉庫不適用于多

種形式的流分析。

DATALAKEvsDATAWAREHOUSE

DataDataUsersUsecases

???,V施察團

RawRefined

LargeSmaller

DMIMnlorutnV4Mannumof■?Zor(tawofpmbytnD?U“vfioutetcrOxd6or***>

Sine*th*dMurntoctnfformorjmouMiofd?UdMflfenM*?ndoftf*DM*muuX

im<nMn??d<UUcjnX?or*d?nd?npranwetb?tar?tn?ntrnnp?r*odKputyngUataMtcMry

t>?nh>mMKlm(n?

UndefinedRelational

1htttancandrritorutwchM

gMantanbauwdfor4Mratyof

tranMcutntyownknp?tMKMW”

MM*MfarwIasirfww.\tndAl

數據湖支持本地流式傳輸,其中數據流在到達時被處理并可供分析。數據

管道在從數據流接收數據時轉換數據,并觸發(fā)分析所需的計算。數據湖的原生

流式傳輸特性使其非常適合流式分析。數據倉庫支持順序ETL操作,其中數

據以瀑布模型從原始數據格式流向完全轉換的集合,并針對快速性能進行了優(yōu)

化。相比之下,對于需要持續(xù)數據工程的用例,數據湖異常強大。在數據湖

中,ETL的瀑布方法被迭代和連續(xù)的數據工程所取代??梢酝ㄟ^SQL和編程

接口迭代地訪問和轉換數據湖中的原始數據,以滿足用例不斷變化的需求。這

第9頁共15頁

種對持續(xù)數據工程的支持對于交互式分析和機器學習至關重要。

1.2.2.數據湖內容

數據湖中包括來自于關系型數據庫中的結構化數據(行和列)、半結構化數

據(如CSV、日志、XML、JSON)、非結構化數據(如email,文檔、PDF等)和

二進制數據(如圖像、音頻、視頻)。

1.2.3.數據湖的特點

統(tǒng)一的數據存儲,存放原始的數據。支持任意結構的數據存儲,包括結構

化、半結構化、非結構化。支持多種計算分析,適用多種應用場景。支持任意

規(guī)模的數據存儲與計算能力。目標都是為了更好,更快的發(fā)現數據價值。4.數

據湖能夠解決的問題

1)數據湖整體架構

!Spar^?Fiink嗓PEo%

Formal

DELTALAKEICEBERG^<^)hUdl

SixagoCactiftlAtuxb/JIYUFS)

MS$3AltyvnOSS

最底下是分布式文件系統(tǒng);

第二層是數據加速層。數據湖架構是一個存儲計算徹底分離的架構,如果

所有的數據訪問都遠程讀取文件系統(tǒng)上的數據,那么性能和成本開銷都很大。

如果能把經常訪問到的一些熱點數據緩存在計算節(jié)點本地,這就非常自然的實

現了冷熱分離,一方面能收獲到不錯的本地讀取性能,另一方面還節(jié)省了遠程

訪問的帶寬。

第三層就是Tableformat層,主要是把一批數據文件封裝成一個有業(yè)務

意義的table,提供ACID、snapshot、schema>partition等表級別的語義。

最上層就是不同計算場景的計算引擎了。開源的一般有Spark、Flink、

Hive、Presto、HiveMR等,這一批計算引擎是可以同時訪問同一張數據湖的

表的。

第10頁共15頁

2)數據湖能解決哪類問題

數據分散,存儲散亂,形成數據孤島,無法聯合數據發(fā)現更多價值。

這方面來講,其實數據湖要解決的與數據倉庫是類似的問題,但又有所不

同,因為它的定義里支持對半結構化、非結構化數據的管理。而傳統(tǒng)數據倉庫

僅能解決結構化數據的統(tǒng)一管理。

在這個萬物互聯的時代,數據的來源多種多樣,隨著不同應用場景,產出

的數據格式也是越來越豐富,不能再僅僅局限于結構化數據。如何統(tǒng)一存儲這

些數據,就是迫切需要解決的問題。

3)存儲成本

數據庫或數據倉庫的存儲受限于實現原理及硬件條件,導致存儲海量數據

時成本過高,而為了解決這類問題就有了HDFS/對象存儲這類技術方案。數據

湖場景下如果使用這類存儲成本較低的技術架構,將會為企業(yè)大大節(jié)省成本。

結合生命周期管理的能力,可以更好的為湖內數據分層(冷溫熱存放在不同的

存儲介質:HDD、SSD、MEM),不用糾結在是保留數據還是刪除數據節(jié)省成本

的問題。

4JSQL已經無法滿足的分析需求

越來越多種類的數據,意味著越來越多的分析方式,傳統(tǒng)的SQL方式已

經無法滿足分析的需求,如何通過各種語言自定義貼近自己業(yè)務的代碼,如何

通過機器學習挖掘更多的數據價值。

5)存儲/計算擴展性不足

傳統(tǒng)數據庫等在海量數據下,如規(guī)模到PB級別,因為技術架構的原因,

已經無法滿足擴展的要求或者擴展成本極高,而這種情況下通過數據湖架構下

的擴展技術能力,實現成本為0,硬件成本也可控。業(yè)務模型不定,無法預先

建模。

傳統(tǒng)數據庫和數據倉庫,都是Schema-on-Write的模式,需要提前定義

Schema信息。而在數據湖場景下,可以先保存數據,后續(xù)待分析時,再發(fā)現

Schema,也就是Schema-on-Read<)

1.3.對比

第11頁共15頁

哧數據倉庫(自建)敷據中臺(自建)敷據湖(自?)

健設成本中離極高

建設難度中高極高

建設思想以數據驅動,自下而上以業(yè)務驅動,自上而下以技術和業(yè)務驅動,自上而下

業(yè)務距離用于支持管理決策分析,距離業(yè)務加速企業(yè)從數據到業(yè)務價值的轉變加速企業(yè)從甥B到業(yè)務價值的轉變

遠,無法直接體現業(yè)務價值過程,一定程度上體現業(yè)務價值過程,一定期上的值

資源成本傳統(tǒng):存儲計算綁定,成本高傳猊:存儲計算綁定,使用成本高,存儲計算分寓,數據冷熱分層,使

云原生:Serverless化,成本低運維成本高用成本低,運維成本低

云原生:Serverless化,成本低

數據格式封閉、專屬開放、通用開放、通用

數據內容數據類型單一:結構化和部分半結數據類型豐富:結構化、半結構化、數據類型豐富:結構化、半結構化、

非結構化非結構化

數據訪問方式主SQL,少量支持AP[開放API,支持SQL等開放API,直接讀取數據SQL

Python.R等

數據服務方式分析報表眠服務API既fig務原始數據既服務

百存儲計算深度優(yōu)化,性班高通過緩存、素引、分布等方式優(yōu)化,通過緩存、索引、分布等方式優(yōu)化,

性能高

擴展性擴展性一般,擴履成本高擴展性一般,持展成本高《班本,高擴展性

靈活度^55t31模,Schmema-on-Write,預橫,Schmema-on-Write,無需提前建模,Schmema-on-

靈活度低靈活度低Read廓舌酬

ETL^ELT結構■

使用場景BLSQU5上用和報袤等有限場景數據檜索、機器學習、數據挖掘、數據科學、數據挖掘、機器學習、

BI等豐富場景81等豐富場景

高高不

1.4.小結

根據以上數據平臺、數據倉庫、數據湖概念論述和對比,我們進行如下總

結:

1)數據倉庫和數據湖沒有直接的關系;

2)數據倉庫和數據湖在某個維度上為業(yè)務產生價值的形式有不同的側重;

3)數據倉庫是數據驅動業(yè)務的邏輯概念,用于支持管理決策分析,為業(yè)務

提供服務的主要方式是報表;

4)數據湖是企業(yè)級的技術邏輯概念,體現企業(yè)級數據湖架構加速數據向業(yè)

務價值轉化的能力,為業(yè)務提供服務的主要方式是原始數據;

5)數據湖距離業(yè)務更近,能夠更快速的響應業(yè)務和應用開發(fā)需求,從而為

業(yè)務提供速度更快的服務。

2.揭穿關于數據湖和數據倉庫的三大神話

讓我們解決一些關于兩種流行的數據存儲類型的常見誤解:

第12頁共15頁

2.1.只需要數據湖或數據倉庫中的一個

如今,經常聽到人們談論數據湖和數據倉庫,好像企業(yè)必須選擇其中一

個。但現實情況是,數據湖和數據倉庫服務于不同的目的。雖然兩者都提供數

據存儲,但它們使用不同的結構,支持不同的格式,并針對不同的用途進行了

優(yōu)化。通常,公司可能會從使用數據倉庫和數據湖中受益。數據倉庫最適合希

望為商業(yè)智能分析操作系統(tǒng)數據的企業(yè)。數據倉庫在這方面工作得很好,因為

存儲的數據是結構化、清理和準備分析的。同時,數據湖允許企業(yè)以任何格式

存儲數據以用于幾乎任何用途,包括機器學習(ML)模型和大數據分析。

2.2.數據湖是流行趨勢,數據倉庫不是人工智能

(AI)和ML代表了一些增長最快的云工作負載,組織越來越多地轉向數

據湖來幫助確保這些項目的成功。由于數據湖允許存儲幾乎任何類型的數據

(結構化和非結構化)而無需事先準備或清理,因此組織

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論