什么是数据湖

如果需要给数据湖下一个定义,可以定义为这样:数据湖是一个存储企业的各种各样原始数据的大型仓库,其中的数据可供存取、处理、分析及传输。

数据湖从企业的多个数据源获取原始数据,并且针对不同的目的,同一份原始数据还可能有多种满足特定内部模型格式的数据副本。因此,数据湖中被处理的数据可能是任意类型的信息,从结构化数据到完全非结构化数据。

企业对数据湖寄予厚望,希望它能帮助用户快速获取有用信息,并能将这些信息用于数据分析和机器学习算法,以获得与企业运行相关的洞察力。

1. 数据湖与企业的关系

数据湖能给企业带来多种能力,例如,能实现数据的集中式管理,在此之上,企业能挖掘出很多之前所不具备的能力。

另外,数据湖结合先进的数据科学与机器学习技术,能帮助企业构建更多优化后的运营模型,也能为企业提供其他能力,如预测分析、推荐模型等,这些模型能刺激企业能力的后续增长。

企业数据中隐藏着多种能力,然而,在重要数据能够被具备商业数据洞察力的人使用之前,人们无法利用它们来改善企业的商业表现。

2、数据湖如何帮助企业

长期以来,企业一直试图找到一个统一的模型来表示企业中所有实体。这个任务有极大的挑战性,原因有很多,下面列举了其中的一部分:

1. 一个实体在企业中可能有多种表示形式,因此可能不存在某个完备的模型来统一表示实体。

2. 不同的企业应用程序可能会基于特定的商业目标来处理实体,这意味着处理实体时会采用或排斥某些企业流程。

3. 不同应用程序可能会对每个实体采用不同的访问模式及存储结构。

这些问题已困扰企业多年,并阻碍了业务处理、服务定义及术语命名等事务的标准化。

从数据湖的角度来看,我们正在以另外一种方式来看待这个问题。使用数据湖,隐式实现了一个较好的统一数据模型,而不用担心对业务程序产生实质性影响。这些业务程序则是解决具体业务问题的“专家”。数据湖基于从实体所有者相关的所有系统中捕获的全量数据来尽可能“丰满”地表示实体。

因为在实体表示方面更优且更完备,数据湖确实给企业数据处理与管理带来了巨大的帮助,使得企业具备更多关于企业增长方面的洞察力,帮助企业达成其商业目标。

数据湖的优点

企业会在其多个业务系统中产生海量数据,随着企业体量增大,企业也需要更智能地处理这些横跨多个系统的数据。

一种最基本的策略是采用一个单独的领域模型,它能精准地描述数据并能代表对总体业务最有价值的那部分数据。这些数据指的是前面提到的企业数据。

对企业数据进行了良好定义的企业当然也有一些管理数据的方法,因此企业数据定义的更改能保持一致性,企业内部也很清楚系统是如何共享这些信息的。

在这种案例中,系统被分为数据拥有者(data owner)及数据消费者(data consumer)。对于企业数据来说,需要有对应的拥有者,拥有者定义了数据如何被其他消费系统获取,消费系统扮演着消费者的角色。

一旦企业有了对数据和系统的明晰定义,就可以通过该机制利用大量的企业信息。该机制的一种常见实现策略是通过构建企业级数据湖来提供统一的企业数据模型,在该机制中,数据湖负责捕获数据、处理数据、分析数据,以及为消费者系统提供数据服务。

数据湖能从以下方面帮助到企业:

1. 实现数据治理(data governance)与数据世系。

2. 通过应用机器学习与人工智能技术实现商业智能。

3. 预测分析,如领域特定的推荐引擎。

4. 信息追踪与一致性保障。

5. 根据对历史的分析生成新的数据维度。

6. 有一个集中式的能存储所有企业数据的数据中心,有利于实现一个针对数据传输优化的数据服务。

7. 帮助组织或企业做出更多灵活的关于企业增长的决策。

在本节中,我们讨论数据湖应该具备哪些能力。后续将会讨论和评述数据湖是如何工作的,以及应该如何去理解其工作机制。

3、数据湖是如何工作的

为了准确理解数据湖能给企业带来哪些好处,理解数据湖的工作机制以及构建功能齐全的数据湖需要哪些组件就显得尤为重要了。在一头扎进数据湖架构细节之前,不妨先来了解数据湖背景中的数据生命周期

在一个较高的层面来看,数据湖中数据生命周期如图2-1所示。

▲图2-1 数据湖的生命周期

上述生命周期也可称为数据在数据湖中的多个不同阶段。每个阶段所需的数据和分析方法也有所不同。数据处理与分析既可按批量(batch)方式处理,也可以按近实时(near-real-time)方式处理。

数据湖的实现需要同时支持这两种处理方式,因为不同的处理方式服务于不同的场景。处理方式(批处理或近实时处理)的选择也依赖数据处理或分析任务的计算量,因为很多复杂计算不可能在近实时处理模式中完成,而在一些案例中,则不能接受较长的处理周期。

同样,存储系统的选择还依赖于数据访问的要求。例如,如果希望存储数据时便于通过SQL查询访问数据,则选择的存储系统必须支持SQL接口。

如果数据访问要求提供数据视图,则涉及将数据存储为对应的形式,即数据可以作为视图对外提供,并提供便捷的可管理性和可访问性。

最近出现的一个日渐重要的趋势是通过服务(service)来提供数据,它涉及在轻量级服务层上对外公开数据。每个对外公开的服务必须准确地描述服务功能并对外提供数据。此模式还支持基于服务的数据集成,这样其他系统可以消费数据服务提供的数据。

当数据从采集点流入数据湖时,它的元数据被捕获,并根据其生命周期中的数据敏感度从数据可追溯性、数据世系和数据安全等方面进行管理。

数据世系被定义为数据的生命周期,包括数据的起源以及数据是如何随时间移动的。它描述了数据在各种处理过程中发生了哪些变化,有助于提供数据分析流水线的可见性,并简化了错误溯源。可追溯性是通过标识记录来验证数据项的历史、位置或应用的能力。——维基百科

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

很多时候,数据湖被认为与数据仓库是等同的。实际上数据湖与数据仓库代表着企业想达成的不同目标。

表2-1中显示了两者的关键区别。

数据湖

数据仓库

能处理所有类型的数据,如结构化数据,非结构化数据,半结构化数据等,数据的类型依赖于数据源系统的原始数据格式。

只能处理结构化数据进行处理,而且这些数据必须与数据仓库事先定义的模型吻合。

拥有足够强的计算能力用于处理和分析所有类型的数据,分析后的数据会被存储起来供用户使用。

处理结构化数据,将它们或者转化为多维数据,或者转换为报表,以满足后续的高级报表及数据分析需求。

数据湖通常包含更多的相关的信息,这些信息有很高概率会被访问,并且能够为企业挖掘新的运营需求。

数据仓库通常用于存储和维护长期数据,因此数据可以按需访问。

▲表2-1 数据湖与数据仓库的关键区别

从表2-1来看,数据湖与数据仓库的差别很明显。然而,在企业中两者的作用是互补的,不应认为数据湖的出现是为了取代数据仓库,毕竟两者的作用是截然不同的。

5、数据湖的构建方法

不同的组织有不同的偏好,因此它们构建数据湖的方式也不一样。构建方法与业务、处理流程及现存系统等因素有关。

简单的数据湖实现几乎等价于定义一个中心数据源,所有的系统都可以使用这个中心数据源来满足所有的数据需求。虽然这种方法可能很简单,也很划算,但它可能不是一个非常实用的方法,原因如下:

1. 只有当这些组织重新开始构建其信息系统时,这种方法才可行。

2. 这种方法解决不了与现存系统相关的问题。

3. 即使组织决定用这种方法构建数据湖,也缺乏明确的责任和关注点隔离(responsibility and separation of concerns)。

4. 这样的系统通常尝试一次性完成所有的工作,但是最终会随着数据事务、分析和处理需求的增加而分崩离析。

更好的构建数据湖的策略是将企业及其信息系统作为一个整体来看待,对数据拥有关系进行分类,定义统一的企业模型。

这种方法虽然可能存在流程相关的挑战,并且可能需要花费更多的精力来对系统元素进行定义,但是它仍然能够提供所需的灵活性、控制和清晰的数据定义以及企业中不同系统实体之间的关注点隔离。

这样的数据湖也可以有独立的机制来捕获、处理、分析数据,并为消费者应用程序提供数据服务。

点击这里,了解更多精彩内容

相关推荐

华为云“智能数据湖”解决之道

华为云多元计算+AI 打造企业级智能数据湖

玩转云上数据湖,解析Serverless 技术落地

【华为云技术分享】数据湖数据库,别再傻傻分不清了相关推荐

  1. 【华为云技术分享】上亿条数据,如何查询分析简单又高效?

    正值618大促,小张遇到了一个棘手的问题,需要在一周内将公司近1年电商部门的营收和线下门店经营数据进行联合分析. 这将产生哪些数据难题呢? 数据孤岛:电商部门的数据存在数仓A.门店经营收入数据存在数仓 ...

  2. 华为云FusionInsight智能数据湖版本新能力解读

    9月23日至25日,华为全联接2021以"深耕数字化"为主题,各行业领军人物分享最新成果与实践.其中在"华为云FusionInsight智能数据湖打造千行百业数据底座&q ...

  3. 【华为云技术分享】三大前端技术(React,Vue,Angular)探密(下)

    [华为云技术分享]三大前端技术(React,Vue,Angular)探密(上) [Angular] Angular(通常被称为 "Angular 2+"或 "Angula ...

  4. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 1

    前言 以互联网为代表的信息技术的迅猛发展对整个经济体系产生了巨大的影响.信息技术的发展一方面使知识的积累和传播更加迅速,知识爆炸性的增长:另一方面,使信息的获取变得越来越容易,信息交流的强度逐渐增加, ...

  5. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 3

    4. 微观层面 4.1 个体动机 在开源软件发展之初, 商业组织的投入很少甚至没有, 完全是靠Richard Stallman 或者 linus Torvalds 这样的个人在努力推动开源软件艰难前行 ...

  6. 【华为云技术分享】玩转云上数据湖,解析Serverless 技术落地

    摘要:本文主要介绍Serverless计算相关技术与其在华为云数据湖探索服务(后文简称DLI)中的技术落地. 导读 本文主要介绍Serverless计算相关技术与其在华为云数据湖探索服务(后文简称DL ...

  7. 【华为云技术分享】华为云多元计算+AI 打造企业级智能数据湖

    欣顿.郝尔泼于<迫在眉睫的南方危机>中写道"还没有多少人能够正确地认识到数据在自由这项事业中正在扮演的重要角色.它们正在创造奇迹--"当时,欣顿.郝尔泼身处黑人白人不平 ...

  8. 【华为云技术分享】大数据容器化成趋势,华为云BigData Pro一马当先

    大数据的需求热度,从来都是这个时代的浪尖.然而由于大数据系统的复杂性,一度导致业界大数据已死的各种声音不断.尤其是当MapR被HPE收购,Cloudera公司股票持续跌成狗,使得这种声音进一步放大. ...

  9. 【华为云技术分享】大数据容器化,头部玩家尝到了甜头

    [摘要] 大数据容器化,大势所趋.头部玩家在进行大数据容器化后,尝到了甜头? 大数据的需求热度,从来都是这个时代的浪尖.然而由于大数据系统的复杂性,一度导致业界大数据已死的各种声音不断.尤其是当Map ...

  10. 【华为云技术分享】云小课 | 搬迁本地数据至OBS,多种方式任你选

    摘要:搬迁本地数据至OBS,包括OBS工具方式.CDM方式.DES磁盘方式.DES Teleport方式和云专线方式,每种方式特点不同,本节课我们就一起看看有什么区别. 已有的业务数据可能保存在本地的 ...

最新文章

  1. 新手学JAVA(六)----处理随机性的数据
  2. No module named 'tf_extended'
  3. 美团高德并不是解决快车问题的灵药,烧完钱之后只会产生新的滴滴
  4. gRPC源码分析(c++)
  5. android中设置Animation 动画效果
  6. Android 的singleLine废弃解决
  7. 内联元素与块级元素及内外边距的影响
  8. vue生命周期(列表详解)
  9. 异步下载圆形进度条显示进度
  10. leetcode 131. 分割回文串 思考分析
  11. dynamic programming 学习
  12. android 进程
  13. 创建数据库链接(dblink)步骤
  14. LoadRunner的Oracle计数器
  15. python:threading.Thread类的使用详解
  16. 靠知识赚钱只是较高级的体力劳动,靠智慧赚钱才能真正的富有。
  17. java三大特性(封装、继承、多态)
  18. 微机原理及应用实验——汇编环境MASM的使用
  19. 协同过滤推荐算法详解
  20. 尔雅 科学通史(吴国盛) 个人笔记及课后习题 2018 第四章 中国独立发展的科技文明

热门文章

  1. Git笔记(17) 协议
  2. mysql 是空字符或null 设置为0_MySQL优化(三) - 数据类型
  3. 逆向课程第二讲,寻找main入口点
  4. .NET Core WebAPI Swagger使用
  5. 在事件代码中访问类中变量的三种方法
  6. [CTSC2017]吉夫特(Lucas定理,DP)
  7. 【转】UINavigationBar 使用总结
  8. 【转】硬盘的寻址和工作模式
  9. 贪心——跳跃游戏 II(Leetcode 45)
  10. android listview的理解,Android ListView的理解