「数据战略」数据驱动企业和DataOps :数据仓库与数据湖:入门

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 「数据战略」数据驱动企业和DataOps :数据仓库与数据湖:入门

第1章和第2章介绍了数据驱动组织的概念,并在大数据计划的背景下定义了数据操作的概念。现在,是时候退一步,探索一些其他基本但重要的概念了。在这一点上,我们最重要的任务之一是清楚地描述数据仓库和数据湖之间的区别。

当我谈论自助服务数据时,不可避免地会出现问题。数据湖和数据仓库的区别是什么?我需要在两者之间做出选择还是两者都需要?在数据仓库和数据湖之间建立关系的当前最佳实践是什么?本章回答了这些问题以及更多的问题,并详细解释了为什么在各种技术目前的成熟状态下,使用数据湖来扩充现有的数据仓库是最好的选择。


数据仓库:一个最基本的定义.

数据仓库是组织业务系统中收集的所有数据的中央存储库。数据被提取、转换和加载(称为ETL)到数据仓库中,该数据仓库支持在此提取和管理的数据集上进行报告、分析和数据挖掘的应用程序(图3-1)。上一代数据基础设施以数据仓库为中心,基于Teradata、Oracle、Neteeza、Greenplum和Vertica等技术。



图3-1.一个典型的数据仓库

在过去,企业将获取原始数据和处理过的数据;使用从头开始、Informatica等引擎对其执行ETL;然后将其加载到数据仓库中,供业务分析师或用户使用。然而,随着数据量的增加,这种方法产生了两个问题:第一,分析人员无法访问原始数据,只能使用从数据仓库中提取的子集;第二,在数据仓库中只能处理结构化数据。没有使用非结构化信息的深度学习应用程序或分析是可行的。这两个问题都在使数据和处理变得更广泛方面造成了严重的限制。

在以数据仓库为中心的世界中,如果数据仓库中定义的数据结构不适合您的分析,或者您希望分析非结构化内容,那么您只是运气不佳。您需要与数据团队联系以提交您的数据请求,等待它拥有原始数据集,对它们进行处理,并派生出您感兴趣的信息和结构。然后,等待数据团队将其加载到数据仓库中。这是一个非常缓慢的过程。

由于所有这些和更多的原因,在现代数据体系结构中只拥有一个数据仓库来支持数据驱动的企业根本不是最优的。

什么是数据湖?

早在2010年,Pentaho的创始人兼首席技术官詹姆斯迪克森(James Dixon)就首次提出了data lake这个词。狄克逊认为,数据湖是一个存储库,它保存大量原始数据,并以其原始格式保存到需要时为止。

数据湖从两个方面解决了数据仓库的缺点。首先,在数据湖中,数据可以以结构化、半结构化或非结构化格式存储。其次,数据模式取决于数据的读取,而不是加载或写入。因此,如果您需要原始数据中的额外信息或结构,则可以始终更改模式,从而提高组织的灵活性。这也意味着数据是快速可用的,因为它不必在被处理引擎使用之前进行处理。

由于数据湖具有成本效益,因此无需丢弃或存档原始数据。它总是应该有你的任何用户想要重新访问它。

所有这些要点都是:所有内容的经济高效的存储、结构化和非结构化数据上不同类型的处理能力、数据的快速可用性、灵活性和灵活性,这些都是组织走向自助服务数据基础架构时必不可少的(请参见图3-2)。



图3-2. 数据湖的优势

数据湖和数据仓库之间的差异

越来越多的企业正在用数据湖扩充数据仓库,使其大数据真正实现自助服务。数据湖和数据仓库之间有八个基本区别。

以下是其中最重要的一个:

  • 进入数据的类型
  • 数据在接收过程中要进行多少处理
  • 可以对这些数据进行多少不同类型的处理

图3-3显示了数据湖和数据仓库之间的主要区别。

数据仓库之所以继续流行,是因为它们是非常成熟的技术,从20世纪90年代就开始出现了。此外,它们与业务分析师和用户在使用仪表板或其他类型的机制时已经习惯的工具配合良好,通过这些机制,他们可以从常驻数据中获取见解。事实上,对于某些用例,数据仓库表现得非常好,因为数据是完全管理和结构化的,能够快速地回答某些查询模式。



图3-3. 数据湖和数据仓库之间的差异

因此,数据仓库继续在大多数组织中占据主导地位。但越来越多的企业遇到了我们前面提到的障碍。为了克服这些问题,他们正在用数据湖来扩充数据仓库,以使他们的大数据真正实现自助服务。在许多情况下,lake可以作为数据仓库的暂存区域,然后充当要分析的更精确的数据。

当Facebook的数据仓库失去动力时。

2007年我第一次来到Facebook时,我们只有一个数据仓库,由中央数据团队管理和维护。但事实证明,这限制了Facebook从收集的所有数据中获得的可操作洞察力的数量。

尽管数据团队会执行ETL并将数据加载到数据仓库中,但数据量增长得如此之快,以至于在加载了计划版本之后,团队不得不丢弃原始数据。

通过创建一个基于Hadoop的数据湖,Facebook能够将其所有数据加载到仍然集中的存储库中,并且通过架构的读模式特性,Facebook能够向我们的数据湖添加不同的处理引擎,支持不同类型的分析,更快地提供更多数据,并为所有员工创建灵活的自助服务模型,而无需删除或存档任何原始数据。

是在使用一种策略还是一种可能的策略?

在我定义了数据湖和数据仓库之间的区别之后,总会出现另一个问题:您真的需要两者,还是可以使用其中一个来解决您的数据自助服务计划?这个问题的答案现在不是“不”。考虑到所涉及技术的成熟阶段,您需要两者。

的确,数据仓库正在慢慢积累以前仅在数据湖中发现的许多特性。但是,规模经济是这样的,即使你能够在数据仓库中使用大数据做所有你需要的事情,它也会非常昂贵,以至于你很快就会希望除了数据仓库之外,你还创建了一个单独的数据湖。此外,由于采用并使用模式定义来优化存储的体系结构,传统数据仓库技术要转变为数据湖就更困难了。它们在体系结构上也基于与其处理引擎强耦合的专有存储格式,而创建一个数据湖可以支持的更为解耦的体系结构是非常难以实现的。


另一方面,随着Hadoop体系结构在开放源代码世界中的变形和成熟,它们也在借鉴数据仓库中已经流行的概念,例如列格式和用于提高速度的特殊处理引擎。事实上,随着时间的推移,这些体系结构已经开始合并,这样一个体系结构就可以包含当今支持大数据分析所需的高性能、低成本和高度集成的功能。Presto和Impala这样的引擎的出现专门解决了Hadoop和Hive等开源技术传统上所面临的数据湖性能问题。

常见的误解

当我谈到数据湖和数据仓库时,我发现一些常见的误解存在,甚至在技术成熟的设计师、架构师和工程师中也是如此。这里有一些。

数据仓库死了

关于数据仓库与数据湖关系的一个最常见的误解是,拥有数据湖之后,就不再需要数据仓库了。也就是说,一旦达到数据湖的最终目标,就可以关闭数据仓库。虽然世界正朝着这个方向发展,但目前情况并非如此。数据湖并不支持数据仓库所做的一切。主要关注的是与生态系统工具的集成日趋成熟。数据仓库作为上一代的技术,在与商业智能(BI)、ETL和其他基于SQL的数据工具的集成方面更为成熟。数据湖在这方面仍在成熟。

数据仓库将成为数据湖

另一些人认为,随着数据仓库开始增加数据湖的功能,不需要完整的数据湖。这也是一个谬论,鉴于数据仓库技术(在本节后面提到)固有的体系结构耦合,这是不太可能的结果。走上这条道路的组织最终会意识到,如果他们建立了一个数据湖,他们本可以做得更具成本效益,而且会成为一个更灵活的企业。或许最重要的是,它们在分析数据仓库的类型上可能非常有限。

正如第2章告诉我们的,有四种不同类型的分析:描述性、诊断性、预测性和规定性,如图3-4所示。



图3-4 分析价值金字塔

尽管SQL查询可以覆盖其中一些类型的分析,特别是在描述和诊断领域,但它们不能覆盖所有类型的分析。对于那些希望从大数据计划中获得最大收益的公司来说,这是一个严重的限制。

在数据湖架构中,不同的处理引擎和不同类型的分析之所以可能是因为数据格式与处理引擎的考虑因素是分离的。在数据湖中,数据以开放格式存储,如逗号分隔值(CSV)或JavaScript对象表示法(JSON,一种开放标准格式,使用人类可读文本来传输由属性-值对组成的数据对象)或压缩稀疏格式(CSC),而不是耦合到处理引擎的封闭格式。这意味着在相同的原始数据上,可以应用不同的数据处理引擎。

相反,对于数据仓库,在数据以该技术专有的格式构造和存储之后,不可能使用专有SQL引擎以外的引擎来处理它。

例如,将数据放入Vertica数据仓库。以Vertica列格式显示后,数据只能由Vertica的处理引擎理解。您不能获取存储在该环境中的数据并在其上应用深度学习或机器学习工具包。您必须从Vertica中提取它并将其输入这些库中的任何一个,这是一个固有的耗时过程,需要数据团队的帮助。

在数据湖中,由于数据处理引擎与数据断开连接,您可以选择使用哪个引擎来分析数据。您可以使用Spark进行机器学习,或者在同一个开放格式数据集上使用Google的TensorFlow,或者在开放数据格式中使用自然语言处理(NLP)库。

难以找到合格人员

一个组织在构建数据湖时面临的最大挑战之一是寻找合格的人员。您现有的数据团队将非常熟悉数据仓库,它们已经存在了很长一段时间,相当成熟,并且与数据工具的生态系统有很强的集成。

但数据湖架构还不成熟。在这一领域,技术仍在不断发展,因此很难找到专门知识。通常,数据湖项目由数据工程团队发起。这给使用数据湖的所有用例使用自助基础设施带来了挑战。

所以,创建一个数据湖需要更多的人和专业知识,正是因为它的不成熟,而有限的时间数据湖到目前为止才在公众意识中出现了6年多。此外,管理数据湖的操作工具也在不断发展,尽管它们在过去几年中取得了重大进展。在管理访问控制、监控成本、根据使用情况向不同团队分配计费、管理存储使用情况以及管理数据湖的其他方面都取得了很大进展。但对于公司来说,从运营的角度支持数据湖仍然困难得多。

摘要

总之,数据湖为组织特性提供了更多的灵活性和灵活性,这些特性对于构建数据驱动企业非常重要。与尝试使用数据仓库相比,他们能够以很小的成本完成这项工作。在许多方面,数据仓库正在变成过去一年的数据集市。另一方面,数据湖架构不太成熟,可能具有显著的操作复杂性。然而,云在降低复杂性方面扮演着重要角色,因此每个企业都可以期望在数据基础架构战略中包含一个数据湖架构。有了云和基于云的数据湖软件即服务平台,组织可以消除操作的复杂性,同时在构建数据湖架构时享受巨大的总体拥有成本效益。我们将在第6章中对此进行更详细的介绍。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3月前
|
存储 数据管理 BI
揭秘数据仓库的奥秘:数据究竟如何层层蜕变,成为企业决策的智慧源泉?
【8月更文挑战第26天】数据仓库是企业管理数据的关键部分,其架构直接影响数据效能。通过分层管理海量数据,提高处理灵活性及数据一致性和安全性。主要包括:数据源层(原始数据)、ETL层(数据清洗与转换)、数据仓库层(核心存储与管理)及数据服务层(提供分析服务)。各层协同工作,支持高效数据管理。未来,随着技术和业务需求的变化,数仓架构将持续优化。
76 3
|
3月前
|
数据采集 存储 分布式计算
构建智能数据湖:DataWorks助力企业实现数据驱动转型
【8月更文第25天】本文将详细介绍如何利用阿里巴巴云的DataWorks平台构建一个智能、灵活、可扩展的数据湖存储体系,以帮助企业实现数据驱动的业务转型。我们将通过具体的案例和技术实践来展示DataWorks如何集成各种数据源,并通过数据湖进行高级分析和挖掘,最终基于数据洞察驱动业务增长和创新。
243 53
|
2月前
|
存储 机器学习/深度学习 数据管理
数据技术的进化史:从数据仓库到数据中台再到数据飞轮
数据技术的进化史:从数据仓库到数据中台再到数据飞轮
|
2月前
|
机器学习/深度学习 消息中间件 搜索推荐
【数据飞轮】驱动业务增长的高效引擎 —从数据仓库到数据中台的技术进化与实战
在数据驱动时代,企业逐渐从数据仓库过渡到数据中台,并进一步发展为数据飞轮。本文详细介绍了这一演进路径,涵盖数据仓库的基础存储与查询、数据中台的集成与实时决策,以及数据飞轮的自动化增长机制。通过代码示例展示如何在实际业务中运用数据技术,实现数据的最大价值,推动业务持续优化与增长。
79 4
|
1月前
|
存储 数据管理 大数据
从数据仓库到数据中台再到数据飞轮:社交媒体的数据技术进化史
从数据仓库到数据中台再到数据飞轮:社交媒体的数据技术进化史
|
3月前
|
存储 数据采集 数据挖掘
数据仓库VS数据湖:选择正确的数据存储解决方案
【8月更文挑战第23天】企业在选择数据存储解决方案时,应综合考虑业务需求、数据特性、技术实力及成本效益等多方面因素,以做出最符合自身发展的决策。
|
3月前
|
存储 机器学习/深度学习 数据采集
深入解析大数据核心概念:数据平台、数据中台、数据湖与数据仓库的异同与应用
深入解析大数据核心概念:数据平台、数据中台、数据湖与数据仓库的异同与应用
|
3月前
|
Java Spring 监控
Spring Boot Actuator:守护你的应用心跳,让监控变得触手可及!
【8月更文挑战第31天】Spring Boot Actuator 是 Spring Boot 框架的核心模块之一,提供了生产就绪的特性,用于监控和管理 Spring Boot 应用程序。通过 Actuator,开发者可以轻松访问应用内部状态、执行健康检查、收集度量指标等。启用 Actuator 需在 `pom.xml` 中添加 `spring-boot-starter-actuator` 依赖,并通过配置文件调整端点暴露和安全性。Actuator 还支持与外部监控工具(如 Prometheus)集成,实现全面的应用性能监控。正确配置 Actuator 可显著提升应用的稳定性和安全性。
127 0
|
3月前
|
存储 缓存 数据管理
阿里云EMR数据湖文件系统问题之JindoFS数据孤岛的问题如何解决
阿里云EMR数据湖文件系统问题之JindoFS数据孤岛的问题如何解决
|
6月前
|
SQL 分布式计算 数据处理
Uber基于Apache Hudi增量 ETL 构建大规模数据湖
Uber基于Apache Hudi增量 ETL 构建大规模数据湖
139 2

热门文章

最新文章