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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一、数据仓库

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等计算引擎尽量使用计算节点的内存对数据进行缓存从而提高整个数据过程的效率和系统吞吐能力。

2lambda架构

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

3Kappa架构

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数据仓库工具

1Amazon Redshift

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

2Microsoft Azure

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

3Google BigQuery

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

4Snowflake

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

5Micro Focus Vertica

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

6Amazon DynamoDB

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

2数据湖工具

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

1Azure Data Lake Storage

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

2AWS Lake Formation

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

3Qubole

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

4Infor 数据湖

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

5智能数据湖

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

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

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

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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6