一文读懂选择数据湖还是数据仓库_第1页
一文读懂选择数据湖还是数据仓库_第2页
一文读懂选择数据湖还是数据仓库_第3页
一文读懂选择数据湖还是数据仓库_第4页
一文读懂选择数据湖还是数据仓库_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一文读懂选择数据湖还是数据仓库

目录

编者按..........................................................................1

1.数据仓库、数据湖的概念和区别...............................................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万亿字节!一来自设备传感器、日志、用户、消费者和其他地

方。数据存储并不像以前看起来那么简单。在管理和存储数据时,数据管理者

需要考虑使用数据湖或数据仓库作为存储库。随着数据量、速度和种类的增

加,选择合适的数据平台来管理数据从未像现在这样重要。它应该是迄今为止

满足我们需求的古老数据仓库,还是应该是承诺支持任何类型工作负载的任何

类型数据的数据湖?在这里,我们深入探讨了这两个平台。

第1页共15页

1.数据仓库、数据湖的概念和区别

1.1.数据仓库

1.1.1.数据仓库概念

数据仓库由比尔•恩门(BiDInmon,数据仓库之父)于1990年提出,主要功

能是将企业系统联机事务处理(OLTP)长期壁垒的大量数据,通过数据仓库理论

支持所持有的数据存储结构,做有系统的分析整理。

记录事实,林

的娥一版本

并行数据*

数据仓阵

I理

二二.

-

随着企业的发展,业务系统的数据不断激增,这些存储在企业业务数据库

中(也就是关系型数据库Oracle,MicrosoftSQLSever,MySQL等)数据会随着

时间的积累越来越多,会使业务数据库会有一定的负载,导致业务系统的运行

效率低,且这些数据中有很大一部分是冷数据,而我们业务系统一般对我们近

期的数据,也就是热数据调用的比较频繁,对冷数据使用频率较低。

同时随着企业数据驱动业务概念的兴起,企业需要将各业务部门的业务数

据提取出来进行数据分析与挖掘,辅助高层进行分析与决策,但各部门需求的

数据种类千差万别,接口错综复杂,过多的数据查询脚本以及接口的接入导致

业务数据库的稳定性降低。

为了避免冷数据与历史数据的积压对我们业务数据库效能产生影响,企业

需要定期将冷数据从业务数据库中转移出来存储到一个专门存放历史数据的仓

库里面,各部门可以根据自身业务特性对外提供统一的数据服务,这个仓库就

是数据仓库。

1.1.2.数据仓库特点

数据仓库(DataWarehoese)的特点:面向主题的、集成的、稳定的、反映

第2页共15页

历史数据变化的。

面向主题的:数据仓库是用来分析特点主题域的,所以说数据仓库是面向

主题的。例如,电商行业的主题域通常分为交易域、会员域、商品域等。集成

的:数据仓库集成了多个数据源,同一主题或产品相关数据可能来自不同的系

统不同类型的数据库,日志文件等。稳定的:数据一旦进入数据仓库,则不可

改变。数据仓库的历史数据是不应该被更新的,同时存储稳定性较强反映历史

数据变化的:数据仓库保存了长期的历史数据,这点相对OLTP的数据库而

言。因为性能考虑后者统筹保存近期的热数据。

1.1.3.OLTP与OLAP

1JOLTP与OLAP概念

数据处理大致可以分成两大类:联机事务处理OLTP(on-linetransaction

联机分析处理

processing)>OLAP(On-LineAnalyticalProcessing)o

OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处

理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操

作,侧重决策支持,并且提供直观易懂的查询结果。

OLTP(On-lineIransactionProcessing)

实时系统(RealtimeSystem)人机交互的应用系统对用户操作快速响应

系统请求响应性能数据总是保持在最新状态数据量级小(100M-GB)

■1.:,一•,1.♦;',

软件技术基于数仓多维模型面向分析的操作深入理解数据

数据量级较大(100GB-TB)

:斛F就都岩空静会魅

2JOLTP与OLAP区别

第3页共15页

|OLTPlOLAP

用户操作人员,底层管理人员决SAM,mssxs

功能分析决策

DB设计面向应用面向主题

旌当前的,最新的细节的,立的历史的,聚集的,多维的集成的,统f)

询读/写数十条记录读上百万条记录

工作单位简单的事务

用户数上千个上百万个

DB大小100MB-GB100BG-TB

时间要求具有实时性帆瞄要求不严格

主要应用数据仓库

OLTP系统强调数据库内存效率,强调内存各种指标的命令率,绑定变

量,并发操作等。OLAP系统则强调数据分析,强调SQL执行市场,磁盘

I/O,分区等。

3)OLAP与数据仓库的联系

OLAP和数仓的关系是依赖互补的,一般以数据仓库作为基础,既从数据

仓库中抽取出详细数据的一个子集并经过必要的聚集存储到OLAP存储中供数

据分析工具读取。

1.1.4.数据仓库的作用

数据仓库将来自不同来源的结构化数据聚合起来,用于业务智能领域的比

较和分析,数据仓库是包含多种数据的存储库,并且是高度建模的。

如下图所示:各个系统的元数据通过ETL同步到操作性数据仓库ODS

中,对ODS数据进行面向主题域建模形成DW(数据仓库),DM是针对某一个

第4页共15页

什么是ETL?(extraction-transformation-load抽取-转换-加载)

传统的数据仓库集成处理架构是ETL,利用ETL平台的能力,£=从源数据

库抽取数据,L=将数据清洗(不符合规则的数据)、转化(对表按照业务需求进行

不同维度、不同颗粒度、不同业务规则计算进行统计),T=将加工好的表以增

量、全量、不同时间加载到数据仓库。

n

Sources

什么是ELT?(extraction-load-transformation抽取-加载-转换)

大数据背景下的架构体系是ELT结构,其根据上层的应用需求,随时从数

据中台中抽取想要的原始数据进行建模分析。

ELT是利用数据库的处理能力,£=从源数据库抽取数据,L=把数据加载到

目标库的临时表中,T=对临时表中的数据进行转换,然后加载到目标库目标表

中。

第5页共15页

Extract&Load»■Transform-

DataWarehouse

Transform

yCloudSources<

ELT对比ETL的优势:

资源利用率的提升:ELT主要通过数据库引擎来实现系统的可扩展性(尤其

是当数据加工过程在晚上时,可以充分利用数据库引擎的资源)。任务运行效

率的提升:ELT可以保持所有的数据始终在数据库当中,避免数据的加载和导

出,从而保证效率,提高系统的可监控性。并行处理优化:ELT可以根据数据

的分布情况进行并行处理优化,并可以利用数据库的固有功能优化磁盘1/00

可扩展性增强:ELT的可扩展性取决于数据库引擎和其硬件服务器的可扩展

性。性能优化:通过对相关数据库进行性能调优,ETL过程获得3到4倍的效

率提升一般不是特别困难。数据仓库系统的作用能实现跨业务条线、跨系统的

数据整合,为管理分析和业务决策提供统一的数据支持。数据仓库能够从根本

上帮助你把公司的运营数据转化成为高价值的可以获取的信息(或知识),并且

在恰当的时候通过恰当的方式把恰当的信息传递给恰当的人。以下图为例:

第6页共15页

简单例子:一个顾客

操作型原子/数据仓库部门/数据集市个体

按月的顾客

JJones

1989-prcs

123MainSi

信用度-AA

我们吸引越来越多我更少也呼.户

J.Jones的信用q

J.Jones现在的或趣来越少的客户?,;理靠筹舞广出

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

数据仓库的作用主要体现在企业决策、分析、计划和响应以下几个方面:

决策分析

分析企业盈利的价值组所在;分

从企业数以万计的数据找出有价

析企业内部运营的状况和风险;

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

分析企业外包的市场变化;

及时精确的做出分析报告.

计划响应

监控时间和计量标准;事件溯源

获取与分析计朗于实际情况做对

与关联分析;制定及时的应对策

比信息;进行预赛和趋势分析;

略;船辗第翻瘫

预估策略中的潜在变化风除.k

数据仓库针对实时数据处理和非结构化数据处理能力较弱,以及在业务在

预警预测等方面应用有一定的限制。

第7页共15页

报表展示即席查询数据分析数据挖堀

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

聚合数据多维数据模型*务模型

(Summary)(OLAP)(BusinessModel)

仓库

细节数据(DetailData)

点击流日志

(ClickStream)

1.2.数据湖

1.2.1.数据湖概念

数据仓库发明于1980年底,专为业务应用程序生成的高度结构化数据而

设计。它将组织的所有数据集中在一起并以结构化方式存储。它通常用于连接

和分析来自异构来源的数据。

数据仓库架构依赖于数据结构来支持高性能的SQL(结构化查询语言)操

作。数据仓库是专门为基于SQL的访问而构建和优化的,以支持商业智能,

但为流分析和机器学习提供有限的功能。它们受到ETL要求的限制,需要在

存储数据之前对其进行预处理。数据仓库在数据用于分析之前需要顺序ETL

摄取和转换数据,因此它们对于流式分析效率低下。一些数据仓库支持"微批

处理”以经常以小增量收集数据。它支持顺序ETL操作,其中数据以瀑布模型

从原始数据格式流向完全转换的集合,并针对快速性能进行了优化。数据仓库

以专有格式存储数据。一旦数据存储在数据仓库中,对该数据的访问仅限于

SQL和数据仓库提供的自定义驱动程序。一些较新的数据仓库支持半结构化数

据,例如JSON、Parquet和XML文件;与结构化数据集相比,它们对此类

数据集的支持有限且性能下降。数据仓库不能完全支持存储非结构化数据。数

据湖和数据仓库之间的区别数据仓库和商业智能工具支持历史数据的报告和分

析,而数据湖支持利用数据进行机器学习、预测和实时分析的新用例。

第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

数据湖支持本地流式传输,其中数据流在到达时被处理并可供分析。数据

管道在从数据流接收数据时转换数据,并触发分析所需的计算。数据湖的原生

流式传输特性使其非常适合流式分析。数据仓库支持顺序ETL操作,其中数

据以瀑布模型从原始数据格式流向完全转换的集合,并针对快速性能进行了优

化。相比之下,对于需要持续数据工程的用例,数据湖异常强大。在数据湖

中,ETL的瀑布方法被迭代和连续的数据工程所取代。可以通过SQL和编程

接口迭代地访问和转换数据湖中的原始数据,以满足用例不断变化的需求。这

第9页共15页

种对持续数据工程的支持对于交互式分析和机器学习至关重要。

1.2.2.数据湖内容

数据湖中包括来自于关系型数据库中的结构化数据(行和列)、半结构化数

据(如CSV、日志、XML、JSON)、非结构化数据(如email,文档、PDF等)和

二进制数据(如图像、音频、视频)。

1.2.3.数据湖的特点

统一的数据存储,存放原始的数据。支持任意结构的数据存储,包括结构

化、半结构化、非结构化。支持多种计算分析,适用多种应用场景。支持任意

规模的数据存储与计算能力。目标都是为了更好,更快的发现数据价值。4.数

据湖能够解决的问题

1)数据湖整体架构

!Spar^・Fiink嗓PEo%

Formal

DELTALAKEICEBERG^<^)hUdl

SixagoCactiftlAtuxb/JIYUFS)

MS$3AltyvnOSS

最底下是分布式文件系统;

第二层是数据加速层。数据湖架构是一个存储计算彻底分离的架构,如果

所有的数据访问都远程读取文件系统上的数据,那么性能和成本开销都很大。

如果能把经常访问到的一些热点数据缓存在计算节点本地,这就非常自然的实

现了冷热分离,一方面能收获到不错的本地读取性能,另一方面还节省了远程

访问的带宽。

第三层就是Tableformat层,主要是把一批数据文件封装成一个有业务

意义的table,提供ACID、snapshot、schema>partition等表级别的语义。

最上层就是不同计算场景的计算引擎了。开源的一般有Spark、Flink、

Hive、Presto、HiveMR等,这一批计算引擎是可以同时访问同一张数据湖的

表的。

第10页共15页

2)数据湖能解决哪类问题

数据分散,存储散乱,形成数据孤岛,无法联合数据发现更多价值。

这方面来讲,其实数据湖要解决的与数据仓库是类似的问题,但又有所不

同,因为它的定义里支持对半结构化、非结构化数据的管理。而传统数据仓库

仅能解决结构化数据的统一管理。

在这个万物互联的时代,数据的来源多种多样,随着不同应用场景,产出

的数据格式也是越来越丰富,不能再仅仅局限于结构化数据。如何统一存储这

些数据,就是迫切需要解决的问题。

3)存储成本

数据库或数据仓库的存储受限于实现原理及硬件条件,导致存储海量数据

时成本过高,而为了解决这类问题就有了HDFS/对象存储这类技术方案。数据

湖场景下如果使用这类存储成本较低的技术架构,将会为企业大大节省成本。

结合生命周期管理的能力,可以更好的为湖内数据分层(冷温热存放在不同的

存储介质:HDD、SSD、MEM),不用纠结在是保留数据还是删除数据节省成本

的问题。

4JSQL已经无法满足的分析需求

越来越多种类的数据,意味着越来越多的分析方式,传统的SQL方式已

经无法满足分析的需求,如何通过各种语言自定义贴近自己业务的代码,如何

通过机器学习挖掘更多的数据价值。

5)存储/计算扩展性不足

传统数据库等在海量数据下,如规模到PB级别,因为技术架构的原因,

已经无法满足扩展的要求或者扩展成本极高,而这种情况下通过数据湖架构下

的扩展技术能力,实现成本为0,硬件成本也可控。业务模型不定,无法预先

建模。

传统数据库和数据仓库,都是Schema-on-Write的模式,需要提前定义

Schema信息。而在数据湖场景下,可以先保存数据,后续待分析时,再发现

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

1.3.对比

第11页共15页

哧数据仓库(自建)敷据中台(自建)敷据湖(自・)

健设成本中离极高

建设难度中高极高

建设思想以数据驱动,自下而上以业务驱动,自上而下以技术和业务驱动,自上而下

业务距离用于支持管理决策分析,距离业务加速企业从数据到业务价值的转变加速企业从甥B到业务价值的转变

远,无法直接体现业务价值过程,一定程度上体现业务价值过程,一定期上的值

资源成本传统:存储计算绑定,成本高传猊:存储计算绑定,使用成本高,存储计算分寓,数据冷热分层,使

云原生:Serverless化,成本低运维成本高用成本低,运维成本低

云原生:Serverless化,成本低

数据格式封闭、专属开放、通用开放、通用

数据内容数据类型单一:结构化和部分半结数据类型丰富:结构化、半结构化、数据类型丰富:结构化、半结构化、

非结构化非结构化

数据访问方式主SQL,少量支持AP[开放API,支持SQL等开放API,直接读取数据SQL

Python.R等

数据服务方式分析报表眠服务API既fig务原始数据既服务

百存储计算深度优化,性班高通过缓存、素引、分布等方式优化,通过缓存、索引、分布等方式优化,

性能高

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

灵活度^55t31模,Schmema-on-Write,预横,Schmema-on-Write,无需提前建模,Schmema-on-

灵活度低灵活度低Read廓舌酬

ETL^ELT结构■

使用场景BLSQU5上用和报袤等有限场景数据桧索、机器学习、数据挖掘、数据科学、数据挖掘、机器学习、

BI等丰富场景81等丰富场景

高高不

1.4.小结

根据以上数据平台、数据仓库、数据湖概念论述和对比,我们进行如下总

结:

1)数据仓库和数据湖没有直接的关系;

2)数据仓库和数据湖在某个维度上为业务产生价值的形式有不同的侧重;

3)数据仓库是数据驱动业务的逻辑概念,用于支持管理决策分析,为业务

提供服务的主要方式是报表;

4)数据湖是企业级的技术逻辑概念,体现企业级数据湖架构加速数据向业

务价值转化的能力,为业务提供服务的主要方式是原始数据;

5)数据湖距离业务更近,能够更快速的响应业务和应用开发需求,从而为

业务提供速度更快的服务。

2.揭穿关于数据湖和数据仓库的三大神话

让我们解决一些关于两种流行的数据存储类型的常见误解:

第12页共15页

2.1.只需要数据湖或数据仓库中的一个

如今,经常听到人们谈论数据湖和数据仓库,好像企业必须选择其中一

个。但现实情况是,数据湖和数据仓库服务于不同的目的。虽然两者都提供数

据存储,但它们使用不同的结构,支持不同的格式,并针对不同的用途进行了

优化。通常,公司可能会从使用数据仓库和数据湖中受益。数据仓库最适合希

望为商业智能分析操作系统数据的企业。数据仓库在这方面工作得很好,因为

存储的数据是结构化、清理和准备分析的。同时,数据湖允许企业以任何格式

存储数据以用于几乎任何用途,包括机器学习(ML)模型和大数据分析。

2.2.数据湖是流行趋势,数据仓库不是人工智能

(AI)和ML代表了一些增长最快的云工作负载,组织越来越多地转向数

据湖来帮助确保这些项目的成功。由于数据湖允许存储几乎任何类型的数据

(结构化和非结构化)而无需事先准备或清理,因此组织

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论