数据仓库与数据湖的联系与区别

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 数据仓库与数据湖的联系与区别

一、数据仓库

1,定义

数据仓库是从广泛的运营和外部数据源中积累的组织数据的大型存储库。数据经过结构化、过滤并已针对特定目的进行处理。数据仓库会定期从各种内部应用程序和外部合作伙伴系统中提取处理过的数据,以进行高级查询和分析。

2, 数据仓库系统作用

(1)提供加强的商业智能BI

利用从各种数据源提供的数据,管理人员和高管们将不再需要凭着有限的数据或他们的直觉做出商业决策。此外,“数据仓库及相关商业智能BI可直接用于包括市场细分、库存管理、财务管理、销售这样的业务流程中。”

(2)提高效率和节省成本

通过数据仓库,可以建立企业的数据模型,这对于企业的生产与销售、成本控制与收支分配有着重要的意义,极大的节约了企业的成本,提高了经济效益,同时,用数据仓库可以分析企业人力资源与基础数据之间的关系,可以用于返回分析,保障人力资源的最大化利用,亦可以进行人力资源绩效评估,使得企业管理更加科学合理。

(3)提高数据的质量和一致性

一个数据仓库的实施包括将数据从众多的数据源系统中转换成共同的格式。由于每个来自各个部门的数据被标准化了,每个部门将会产生与所有其它部门符合的结果。所以你可以对你数据的准确性更有信心。而准确的数据是强大的商业决策的基础。

(4)提供历史的智慧

一个数据仓库储存了大量的历史数据,所以你可以通过分析不同的时期和趋势来做出对未来的预测。这些数据通常不能被存储在一个交易型的数据库里或用来从一个交易系统中生成报表。

(5)创建高的投资回报率

已经安装了数据仓库和完善了商业智能BI系统的企业比没有在商业智能BI系统和数据仓库投资的企业能产生更多的利润和节约更多的资金。而这应该成为高级管理层快速加入到数据仓库这个潮流中的足够理由。

3, 数据仓库开发流程

(1)数据仓库的规划与分析阶段

开发数据仓库之前,首先要进行数据仓库的规划,包括确定数据仓库的 开发目标和范围,选择数据仓库的实现策略,选择数据仓库的应用结构和技术平台结构,确定数据仓库的使用方案和开发预算。
规划完成之后,接下来进行数据仓库的需求定义,为数据仓库的分析设 计和实施作准备。需求定义包括业主需求的定义、开发者需求定义和最终用户需求定义。

(2) 数据仓库的设计与实施阶段

数据仓库的设计与实施是从建立数据仓库的数据模型开始,包括确定 数据仓库的数据源,设计数据仓库与业务系统的接口,设计数据仓库的体系结构,数据仓库的数据库设计,数据仓库的中间件的设计,数据仓库数据的抽取、净化与加载,数据仓库数据的复制与发行,数据仓库的测试,等等。

(3)数据仓库的使用阶段

数据仓库使用阶段的工作包括用户的培训与支持,数据仓库工程师培训,以各种方式使用数据仓库(包括分析处理和数据挖掘),数据仓库中数据的刷新,以及数据仓库的完善与增强等。

二、数据湖

1,定义

数据湖定义将其解释为高度可扩展的数据存储区域,以原始格式存储大量原始数据,直到需要使用为止。数据湖可以存储所有类型的数据,对帐户大小或文件没有固定限制,也没有定义特定用途。数据来自不同的来源,可以是结构化的、半结构化的,甚至是非结构化的,数据可按需查询。

2,架构

(1)以Hadoop为代表的离线数据处理基础设施

数据湖可以认为是新一代的大数据基础设施。为了更好的理解数据湖的基本架构,我们先来看看大数据基础设施架构的演进过程。
如下图所示,Hadoop是以HDFS为核心存储,以MapReduce(简称MR)为基本计算模型的批量数据处理基础设施。
在这里插入图片描述

围绕HDFS和MR,产生了一系列的组件,不断完善整个大数据平台的数据处理能力,例如面向在线KV操作的HBase、面向SQL的HIVE、面向工作流的PIG等。同时,随着大家对于批处理的性能要求越来越高,新的计算模型不断被提出,产生了Tez、Spark、Presto、Flink等计算引擎,MR模型也逐渐进化成DAG模型。
DAG模型一方面增加计算模型的抽象并发能力:对每一个计算过程进行分解,根据计算过程中的聚合操作点对任务进行逻辑切分,任务被切分成一个个的stage,每个stage都可以有一个或者多个Task组成,Task是可以并发执行的,从而提升整个计算过程的并行能力;
另一方面,为减少数据处理过程中的中间结果写文件操作,Spark、Presto等计算引擎尽量使用计算节点的内存对数据进行缓存,从而提高整个数据过程的效率和系统吞吐能力。

(2)lambda架构

随着数据处理能力和处理需求的不断变化,越来越多的用户发现,批处理模式无论如何提升性能,也无法满足一些实时性要求高的处理场景,流式计算引擎应运而生,例如Storm、Spark Streaming、Flink等。
然而,随着越来越多的应用上线,大家发现,其实批处理和流计算配合使用,才能满足大部分应用需求;而对于用户而言,其实他们并不关心底层的计算模型是什么,用户希望无论是批处理还是流计算,都能基于统一的数据模型来返回处理结果,于是Lambda架构被提出,如下图所示。
在这里插入图片描述
Lambda架构的核心理念是“流批一体”,如上图所示,整个数据流向自左向右流入平台。进入平台后一分为二,一部分走批处理模式,一部分走流式计算模式。无论哪种计算模式,最终的处理结果都通过统一服务层对应用提供,确保访问的一致性,底层到底是批或流对用户透明。

(3)Kappa架构

Lambda架构虽然解决了应用读取数据的统一性问题,但是“流批分离”的处理链路增大了研发的复杂性。因此,有人就提出能不能用一套系统来解决所有问题。目前比较流行的做法就是基于流计算来做。流计算天然的分布式特征,注定了他的扩展性更好。通过加大流计算的并发性,加大流式数据的“时间窗口”,来统一批处理与流式处理两种计算模式。
在这里插入图片描述

3,数据湖的作用

(1)通过应用机器学习与人工智能技术实现商业智能;
(2)预测分析,如领域特定的推荐引擎;
(3)信息追踪与一致性保障;
(4)根据对历史的分析生成新的数据维度;
(5)有一个集中式的能存储所有企业数据的数据中心,有利于实现一个针对数据传输优化的数据服务;
(6)帮助组织或企业做出更多灵活的关于企业增长的决策。

4,数据湖的建设流程

(1)数据摸底

对于一个企业/组织而言,在构建数据湖初始工作就是对自己企业/组织内部的数据做一个全面的摸底和调研,包括数据来源、数据类型、数据形态、数据模式、数据总量、数据增量等。在这个阶段一个隐含的重要工作是借助数据摸底工作,进一步梳理企业的组织结构,明确数据和组织结构之间关系。为后续明确数据湖的用户角色、权限设计、服务方式奠定基础。

(2)模型抽象

针对企业/组织的业务特点梳理归类各类数据,对数据进行领域划分,形成数据管理的元数据,同时基于元数据,构建通用的数据模型。

(3) 数据接入

根据第一步的摸排结果,确定要接入的数据源。根据数据源,确定所必须的数据接入技术能力,完成数据接入技术选型,接入的数据至少包括:数据源元数据、原始数据元数据、原始数据。各类数据按照第二步形成的结果,分类存放。

(4) 融合治理

利用数据湖提供的各类计算引擎对数据进行加工处理,形成各类中间数据/结果数据,并妥善管理保存。数据湖应该具备完善的数据开发、任务管理、任务调度的能力,详细记录数据的处理过程。在治理的过程中,会需要更多的数据模型和指标模型。

(5)业务支撑

在通用模型基础上,各个业务部门定制自己的细化数据模型、数据使用流程、数据访问服务。

5,使用场景

(1)大量非结构化或者半结构化数据的组织
(2)正在使用关系型数据库,但是频繁的更改数据库的结构,也说明数据库可能并不是最优的解决方案。数据湖可以支持未经加工的数据直接入湖。
(3)将半结构化和非结构化数据调整适应到关系数据库方面遇到了很大的困难,可以使用数据湖。
(4)拥有海量数据,而且需要长期保存大量的历史数据,数据湖在低成本存储上有天然优势。可以很容易的做到数据的分层来降低数据保存成本。数据湖是横向扩展的,数据湖能够轻易的扩容以应对未来告诉的数据增长。
(5)对于不可预测的数据(如机器学习等),是很难预先进行数据建模的,选择使用数据湖。

三、数据仓库与数据湖的区别

1,作用

数据仓库:支持数据报表、产品,扩展商业智能能力
数据湖:非结构化数据的灵活性和可扩展性意味着它们有利于大数据分析和一些深度学习项目。

2,用户

数据仓库:结构化数据,使用非常方便,主要的使用对象是数据分析师、数据工程师、运营人员等等。
数据湖:作为原始数据,非结构化数据的数据库,数据湖的主要使用对象是数据科学家。

3,数据类型

数据仓库:在转换过程中结构化的数据
数据湖:未经处理或转换的原始数据包括结构化、非结构化或半结构化数据

4,目的

数据仓库:仅用于执行大量历史数据的查询和分析
数据湖:数据湖旨在存储大量的数据和数据格式,以备将来需要时使用

5,存储容量

数据仓库:数据仓库对存储的数据更有选择性,一般比数据湖要小,但与传统数据库相比仍然很大。
数据湖:由于包含所有数据,通常是PB级别的。

6,数据质量

数据仓库:通常经过ETL之后,都是格式化的高质量的数据。数据仓库是非常重数据质量的,大家现在经常听说的数据中台,其中有一大块是数据质量管理、数据资产管理等。数据仓库中的数据都是经过处理的
数据湖:由于缺少模式, 所有数据都允许输入,数据可能是任意状态、形态的数据。因此,数据湖包含较低级别的数据质量。

7,处理方案

数据仓库:进入数仓需要经过ETL,转换成固定模式的数据,即写模式。
数据湖:先装载至数据湖,当访问时才会去解析成所需要的格式,即读模式。

8,敏捷性

数据仓库:数据仓库的本质是高度结构化的,用于存储特定的数据格式并回答特定的问题,因此,在敏捷性方面不如数据湖。
数据湖:敏捷性是数据湖的标准,数据湖不需要等待很长的开发周期就能满足数据洞察的需求。

四、数据湖工具与数据仓库工具的区别

1,数据仓库工具

(1)Amazon Redshift

一种云数据仓库工具,非常适合高速数据分析。此数据仓库示例可以执行大量并发查询,而无需任何操作开销。

(2)Microsoft Azure

一个基于节点的平台,允许大规模并行处理,有助于快速提取和可视化业务洞察力。

(3)Google BigQuery

这个数据仓库工具可以与 Cloud ML 和 TensorFlow 集成,以构建强大的 AI 模型。

(4)Snowflake

允许分析来自各种结构化和非结构化来源的数据。它由一个共享架构组成,将存储与处理能力分开。因此,用户可以根据用户活动扩展 CPU 资源。

(5)Micro Focus Vertica

此SQL数据仓库可在包括AWS和 Azure 在内的平台上的云中使用。它为机器学习、模式匹配和时间序列提供内置分析功能。

(6)Amazon DynamoDB

可扩展的 DynamoDB 可以将查询容量扩展到每天 10 或 20 万亿个请求,超过 PB 级的数据。

2,数据湖工具

Hadoop 分布式文件系统 (HDFS) 等大数据技术用于增强数据湖对分析的影响。HDFS 对任何类型结构的海量数据都表现出轻松的适应性和可扩展性。此外,Hadoop通过将结构化视图应用于原始数据来支持数据仓库场景。这种灵活性使Hadoop成为向每一层业务用户提供数据和洞察力的绝佳选择。

(1)Azure Data Lake Storage

创建单一、统一的数据存储空间。该工具提供了先进的安全设施、准确的数据身份验证以及对特定角色的有限访问,适合大规模查询。

(2)AWS Lake Formation

提供了一个非常简单的解决方案来设置数据湖。与基于 AWS 的分析和机器学习服务无缝集成。该工具创建了一个细致的、可搜索的数据目录,其中包含用于识别数据访问历史记录的审计日志。

(3)Qubole

这个数据湖解决方案以开放格式存储数据,可以通过开放标准访问。主要功能包括提供临时分析报告,结合数据管道以实时提供统一的洞察力。

(4)Infor 数据湖

从不同来源收集数据并将其摄取到一个结构中,该结构立即开始从中获取价值。由于智能编目,存储在这里的数据永远不会变成沼泽。

(5)智能数据湖

此工具可帮助客户从基于 Hadoop 的数据湖中获得最大价值。底层 Hadoop 系统确保用户不需要太多编码即可运行大规模数据查询。由于所有这些差异,组织通常需要两个数据湖来利用大数据,同时仍需要数据仓库用于分析。

五、数据仓库与数据湖的联系

数据湖和数据仓库并没有直接的关系,他们属于两个并行的概念。数据仓库和数据湖不是互相替代,而是为了解决了不同的问题,适用于不同场景。数据湖是计算和存储的解耦。而数据仓库是将计算和存储重度耦合在一起。

数据仓库是比数据湖更早提出来的概念,数据仓库主要是用于处理结构化的数据,需要对放入数据仓库的数据进行预先的数据模型定义。数据湖对数据源没有特别的要求。数据湖是一个集中式的存储库,允许以任意规模存储所有结构化和非结构化的数据。可以按原样存储数据(无需先对数据进行结构化处理),并运行不同类型的分析,以指导做出更好的决策,对于有大量非结构化或者半结构化数据的组织,应该优先考虑数据湖。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
6月前
|
存储 数据管理 物联网
深入解析数据仓库与数据湖:建构智能决策的桥梁
在当今信息时代,数据成为企业决策与创新的关键资源。本文将深入探讨数据仓库与数据湖的概念与应用,介绍其在数据管理和分析中的作用,以及如何构建智能决策的桥梁。
|
5月前
|
存储 分布式计算 大数据
数据仓库与数据湖在大数据架构中的角色与应用
在大数据时代,数据仓库和数据湖分别以结构化数据管理和原始数据存储见长,共同助力企业数据分析。数据仓库通过ETL处理支持OLAP查询,适用于历史分析、BI报表和预测分析;而数据湖则存储多样化的原始数据,便于数据探索和实验。随着技术发展,湖仓一体成为趋势,融合两者的优点,如Delta Lake和Hudi,实现数据全生命周期管理。企业应根据自身需求选择合适的数据架构,以释放数据潜力。【6月更文挑战第12天】
202 5
|
6月前
|
存储 机器学习/深度学习 数据采集
【专栏】在数字化时代,数据仓库和数据湖成为企业管理数据的关键工具
【4月更文挑战第27天】在数字化时代,数据仓库和数据湖成为企业管理数据的关键工具。数据仓库是经过规范化处理的结构化数据集合,适合支持已知业务需求;而数据湖存储原始多类型数据,提供数据分析灵活性。数据仓库常用于企业决策、财务分析,而数据湖适用于大数据分析、机器学习和物联网数据处理。企业需根据自身需求选择合适的数据存储方式,以挖掘数据价值并提升竞争力。理解两者异同对企业的数字化转型至关重要。
134 2
|
6月前
|
Cloud Native 关系型数据库 MySQL
云原生数据仓库产品使用合集之ADB MySQL湖仓版和 StarRocks 的使用场景区别,或者 ADB 对比 StarRocks 的优劣势
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
3月前
|
存储 数据采集 数据挖掘
数据仓库VS数据湖:选择正确的数据存储解决方案
【8月更文挑战第23天】企业在选择数据存储解决方案时,应综合考虑业务需求、数据特性、技术实力及成本效益等多方面因素,以做出最符合自身发展的决策。
|
3月前
|
存储 机器学习/深度学习 数据采集
深入解析大数据核心概念:数据平台、数据中台、数据湖与数据仓库的异同与应用
深入解析大数据核心概念:数据平台、数据中台、数据湖与数据仓库的异同与应用
|
4月前
|
自然语言处理 Cloud Native 关系型数据库
云原生数据仓库使用问题之分布键和分区键有什么区别
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
6月前
|
存储 机器学习/深度学习 数据挖掘
数据仓库与数据湖:解析数据驱动的未来
在数字化时代,数据成为企业决策的核心资源。本文将深入探讨数据仓库和数据湖的概念、特点以及应用场景,分析其在实现数据驱动决策过程中的重要性和优势,并展望数据驱动的未来发展趋势。
203 5
|
6月前
|
存储 机器学习/深度学习 数据挖掘
探究数据仓库与数据湖的异同及应用场景
在数据分析与处理方面,数据仓库与数据湖是两种广泛运用的数据架构。本文将深入剖析数据仓库与数据湖的概念、特点、使用场景以及二者之间的区别和联系,帮助读者更好地了解这两种数据架构的优缺点。
|
6月前
|
存储 SQL 分布式计算
基于Apache Hudi + MinIO 构建流式数据湖
基于Apache Hudi + MinIO 构建流式数据湖
255 1

热门文章

最新文章