什么是数据湖?,数据湖和大数据平台
导读:
数据湖概念的诞生源于企业面临的一些挑战,比如数据应该如何处理和存储。起初,企业中各种应用程序的管理经历了一个相对自然的演变周期。每个应用在开始的时候都会产生和存储大量的数据,这些数据是其他应用无法使用的。这种情况导致
数据孤岛
。于是数据集市应运而生,应用程序生成的数据存储在一个集中的数据仓库中,相关数据可以导出传输给企业中需要数据的部门或个人。
然而数据集市只解决了部分问题。
剩下的问题,包括数据管理、数据所有权和访问控制,都急需解决,因为企业寻求获得更高的使用有效数据的能力。为了解决前面提到的问题,
企业有很强烈的诉求搭建自己的数据湖
,Data Lake不仅可以存储传统数据,还可以存储任何其他类型的数据,并可以对它们进行进一步的处理和分析,以产生最终的输出供各种程序使用。在本文中,将介绍数据湖的一些主要方面,以帮助读者理解为什么它对企业非常重要。
作者:ajdhlg
如需转载,请联系大数据(ID: hzdashuju)
01 什么是数据湖
如果需要定义数据湖,可以这样定义:
数据湖是一个存储企业的各种各样原始数据的大型仓库,其中的数据可供存取、处理、分析及传输。
。数据湖从企业的多个数据源获取原始数据,出于不同的目的,同样的原始数据也可能有多个符合特定内部模型格式的数据副本。因此,数据湖中处理的数据可能是任何类型的信息,从结构化数据到完全非结构化的数据。
我对企业数据湖寄予厚望,希望它能帮助用户快速获取有用的信息,
并能将这些信息用于数据分析和机器学习算法
,获得与企业运营相关的洞察。
数据湖与企业的关系
数据可以给企业带来各种能力,比如可以实现数据的集中管理。在此基础上,
企业能挖掘出很多之前所不具备的能力。
此外,数据湖结合先进的数据科学和机器学习技术,可以帮助企业建立更优化的运营模型,还可以为企业提供其他能力,如预测分析和推荐模型,可以刺激企业能力的后续增长。
企业数据中隐藏着多种能力。然而,在重要数据能够被具有商业数据洞察力的人使用之前,人们无法利用它们来提高企业的经营业绩。
02 数据湖如何帮助企业
长期以来,企业一直试图找到一个统一的模型来表示企业中的所有实体。这项任务有一个巨大的
挑战性
的原因很多,其中一些列举如下:一个实体在一个企业中可能有多个表示,因此可能没有一个完整的模型来统一表示该实体。
不同的企业应用程序可能基于特定的业务目标来处理实体,这意味着在处理实体时会采用或排除某些企业流程。
不同的应用程序可能对每个实体采用不同的访问模式和存储结构。
这些问题困扰企业多年,阻碍了业务处理、服务定义和术语的标准化。
从数据湖的角度来看,我们在用另一种方式看待这个问题。
使用数据湖,隐式实现了一个较好的统一数据模型,而不用担心对业务程序产生实质性影响。
这些业务流程是解决具体业务问题的“专家”。基于从与实体所有者相关的所有系统捕获的全部数据,湖尽可能“丰满”地表示实体。因为实体表示更好更完整,数据湖确实给企业的数据处理和管理带来了很大的帮助,让企业对企业的成长有了更多的洞察,帮助企业实现业务目标。
值得一提的是,马丁福勒写了一篇有趣的文章。在这篇文章中,他对企业数据湖的一些关键方面做了简明的阐述。请参考以下链接:
https://martinfowler.com/bliki/DataLake.html
数据湖的优点
企业将在其多个业务系统中产生大量数据。随着企业规模的增加,企业还需要更智能地处理跨多个系统的这些数据。
一个最基本的策略是采用单个领域模型,它可以准确地描述数据,并代表数据中对整体业务最有价值的部分。这些数据指的是前面提到的企业数据。
当然,企业数据定义明确的企业也有一些管理数据的方法,所以企业数据定义的变化可以保持一致,企业内部也清楚系统如何共享这些信息。
在这种情况下,系统分为
数据拥有者
(数据所有者)和数据消费者
(数据消费者)。对于企业数据,需要有一个对应的所有者。所有者定义了数据如何被其他消费系统获取,消费系统扮演消费者的角色。企业一旦对数据和系统有了明确的定义,就可以通过这种机制利用大量的企业信息。这种机制的常见实现策略是通过构建企业级数据湖来提供统一的企业数据模型。在这个机制中,
数据湖负责捕获数据、处理数据、分析数据,以及为消费者系统提供数据服务。
数据湖能从以下方面帮助到企业:
实现数据治理和数据沿袭。
通过应用机器学习和人工智能技术实现商业智能。
预测分析,例如特定领域的推荐引擎。
信息跟踪和一致性保证。
基于对历史的分析生成新的数据维度。
拥有一个可以存储所有企业数据的集中式数据中心有助于实现针对数据传输而优化的数据服务。
帮助组织或企业对企业的成长做出更灵活的决策。
在这一节中,我们将讨论数据湖应该具有哪些功能。后续将讨论和评论数据湖是如何工作的,以及如何理解其工作机制。
03 数据湖是如何工作的
为了准确了解数据湖能给企业带来哪些好处,了解数据湖的工作机制,以及构建一个功能齐全的数据湖需要哪些组件显得尤为重要。在深入研究数据湖架构的细节之前,我们先来看看数据湖背景中的
数据生命周期
。在高层次上,数据湖中数据的生命周期如图2-1所示。
图2-1数据湖的生命周期
上述生命周期也可以称为数据湖中多个不同阶段的数据。每个阶段需要的数据和分析方法也不同。数据处理和分析可由
批量
(批量)或近实时
(近实时)完成。湖泊数据的实现需要同时支持这两种处理方法,因为不同的处理方法服务于不同的场景。处理模式(批处理或近实时处理)的选择还取决于数据处理或分析任务的计算量,因为很多复杂的计算无法在近实时处理模式下完成,在某些情况下,更长的处理周期是无法接受的。
同样,存储系统的选择也取决于数据访问的要求。例如,如果要存储数据以便于通过SQL查询访问数据,所选的存储系统必须支持SQL接口。
如果数据访问需要数据视图,就涉及到以相应的形式存储数据,即数据可以作为视图提供,并提供方便的可管理性和可访问性。
最近,一个越来越重要的趋势是通过
服务
(服务)提供数据,这涉及到在轻量级服务层上向公众公开数据。每个公共服务都必须准确描述服务功能,并向外界提供数据。该模型还支持基于服务的数据集成,以便其他系统可以使用数据服务提供的数据。当数据从采集点流入数据湖时,根据其生命周期中的数据敏感性,从数据可追溯性、数据沿袭性和数据安全性等方面对其元数据进行捕获和管理。
数据沿袭被定义为数据的生命周期,包括它的起源和它如何随时间移动。它描述了各种数据处理过程中发生了什么变化,有助于提供数据分析管道的可见性,并简化错误跟踪。
可追溯性是通过识别记录来验证数据项的历史、位置或应用的能力。
3354维基百科
04 数据湖与数据仓库的区别
很多时候,数据湖被认为是数据仓库。实际上,数据湖和数据仓库代表了企业想要实现的不同目标。它们之间的主要区别如表2-1所示。
数据湖
数据仓库
可以处理所有类型的数据,如结构化数据、非结构化数据、半结构化数据等。数据类型取决于数据源系统的原始数据格式。
只能处理结构化数据,并且这些数据必须符合数据仓库的预定义模型。
有足够的计算能力处理和分析各种类型的数据,分析出来的数据会存储起来供用户使用。
处理结构化数据,并将其转换为多维数据或报表,以满足后续高级报表和数据分析的需要。
该湖通常包含更多的相关信息,这些信息被访问的概率很高,可以为企业挖掘新的运营需求。
数据仓库通常用于存储和维护长期数据,因此可以按需访问数据。
表2-1数据湖和数据仓库的主要区别
从表2-1,
数据湖与数据仓库的差别很明显。
然而,两者的作用在企业,不应认为数据湖的出现是为了取代数据仓库,毕竟两者的作用是截然不同的。
是互补的。
05 数据湖的构建方法
不同的组织有不同的偏好,因此他们以不同的方式构建数据湖。方法与业务、处理流程和现有系统有关。
一个简单的数据湖实现几乎相当于定义一个中央数据源,所有系统都可以使用这个中央数据源来满足所有的数据需求。尽管这种方法可能简单且成本效益高,但由于以下原因,它可能不是一种非常实用的方法:
只有当这些组织开始重新构建他们的信息系统时,这种方法才是可行的。
这种方法不能解决与现有系统相关的问题。
即使组织决定用这种方法构建一个数据湖,它也缺乏明确的责任和关注点的分离。
这种系统通常试图同时完成所有工作,但随着数据交易、分析和处理需求的增加,它最终会崩溃。
更好的构建数据湖的策略是将企业及其信息系统作为一个整体来看待,对数据拥有关系进行分类,定义统一的企业模型。
尽管这种方法可能存在与流程相关的挑战,并且可能需要花费更多的精力来定义系统元素,但它仍然可以提供所需的灵活性、控制和清晰的数据定义,以及企业中不同系统实体之间的关注点分离。
这样的数据湖还可以有一个独立的机制来捕获、处理和分析数据,并为消费者应用程序提供数据服务。
作者简介:crdqd(Tomcy John)是一名企业级Java技术专家,拥有工程学学士学位,在业界拥有超过14年的开发经验。
Lhdzt(Pankaj Misra)是一名技术交流者,拥有工程学学士学位,在多个业务领域拥有超过16年的技术经验。
本文摘自《企业数据湖》,经出版社授权。
延伸阅读《企业数据湖》
点击上图了解购买。
请联系微信:togo-maruko。
00-59,000本书旨在帮助您选择合适的大数据技术,并使用Lambda架构模式为您的企业构建自己的数据湖。“数据湖”已经成为大数据行业的一个重要术语。它是数据科学家获得有意义的见解的平台,企业可以使用它来重新定义或改变他们的运营方式。
据统计,99%的大咖都完成了这个神操作。
更精彩
在微信官方账号后台对话框输入以下
推荐语:
。看到更多优质内容!