企业数据湖(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-15 12:54:14

点击下载

作者:(印)汤姆斯·约翰(Tomcy John).(印)潘卡·米斯拉(Pankaj Misra)

出版社:机械工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

企业数据湖

企业数据湖试读:

前言

对许多企业来说,数据变得越来越重要,数据的重要性在多个方面得到了凸显。事实上,企业正在用核心数据来改善自己的运营。本书将首先介绍什么是数据,它与企业的相关性,以及企业如何利用这些数据以数字化的方式改变自己。为了利用数据,企业需要能存储海量数据的“仓库”,在当今时代,这些仓库不再被称为“数据仓库”,相反,它们被称为“数据湖”。

正如今天所看到的,我们有很多利用了大数据技术的用例。数据湖的概念已经存在了很长时间,但直到最近它才在企业中得到真正的关注。本书将这两个方面结合在一起,使用最新的大数据技术,并遵循良好的架构模式,提供了可立即上手的、成熟的、能稳定运行的数据湖。

本书将把数据湖和Lambda架构结合在一起,帮助读者在他们的企业中实际操作这些内容。本书从较高的层次引入了大量的大数据技术,但是我们不打算将它定位为涉及很多技术框架的权威指南,因为书中涉及的每一种技术框架都值得用一本书来深入介绍它们。

本书用所选的技术框架涵盖了数据湖、Lambda架构模式的解释和实现。当然,这些具体的技术可以在将来或者根据组织设置的标准来替换。所以,本书内容中的精髓不仅在现在,而且在将来很长一段时间内都是有效的。因此,与同一领域的其他那些依赖具体技术框架的书籍相比,本书的“保鲜期”更长。

本书将带你踏上一段奇妙的旅程,在这个过程中,它遵循一种既直观又令人兴奋的结构。本书涵盖的内容

本书分为3部分。每部分都包含若干章,当一个部分完成后,读者将会从整体上理解该部分内容。这些部分的设计和结构使得读者首先了解主要的功能和技术;然后在接下来的部分,或者更确切地说,在本书最后一部分中,一切都会被整合在一起。在本书的末尾,读者将实现一个可操作的数据湖。

第一部分,向读者介绍了与数据、数据湖及其重要组件相关的各种概念。此部分共分4章,如下所列,各章都有明确的目标。

第1章,以通用的方式向读者介绍什么是数据,以及数据与企业的相关性。该章解释了在当前社会数据为什么重要,以及应该如何使用它们。现实生活中的各种用例已经展示了数据的重要性以及数据是如何改变企业的。这些真实的案例将启发读者的创造性思维,并思考如何利用数据来改变自己的企业。

第2章,进一步深入了解数据湖概念的细节,并解释使用数据湖能解决企业面临的哪些问题。该章还提供了关于Lambda架构以及如何将其用于数据湖的内容。到该章结束,读者将了解数据湖的概念和组织构建数据湖所采用的各种方法。

第3章,详细介绍Lambda架构、它的各种组件以及数据湖与此架构模式之间的关联。在该章中,读者将详细了解Lambda架构,包括它产生的原因和能解决的具体问题。该章还将帮助读者理解Lambda架构的核心概念以及如何在企业中应用它的能力。读者还将理解各种设计模式和组件,在构建Lambda架构时它们可以帮助实现批处理和实时数据处理。现在,读者对数据、数据湖和Lambda架构应该有了足够的了解,可以跳到下一节,学习如何为所在企业实现数据湖。

第4章,向读者介绍可用于Lambda架构每一层(组件)的技术,还将帮助读者选择一个市场中领先且让我们感觉非常棒的技术。在该章中,读者将了解当前大数据技术领域中的各种Hadoop发行版本,以及如何利用它们在企业数据湖中构建Lambda架构。在这些技术背景下,读者将了解企业数据湖中批处理层、快速处理层和服务层背后的细节及设计动机。

第二部分,向读者介绍了许多技术,这些技术将是数据湖实现的一部分。此部分中的每一章都涉及一种技术框架,它们逐步被用于构建数据湖和用例,即单一客户视图(SCV)。几乎每一章中讨论的技术的所有重要技术细节都将以整体的方式被涵盖,因为过于深入的探讨超出了本书的范围。此部分由6章组成,每章都有一个明确的目标,如下所述。

第5章,对Apache Sqoop做了深入的介绍,给出了选择这种技术框架的理由,也向读者提供了其他技术选项相关的大量细节。该章还给出了数据湖和Lambda架构的详细实例。在该章中,读者将理解Sqoop框架以及其他用于将数据从企业数据源加载到数据湖的类似工具。读者也将了解Sqoop架构相关的各种技术细节,还可以通过示例了解Sqoop的实际操作以及使用Hadoop技术时涉及的各种步骤。

第6章,将深入学习Apache Flume,它是一个中间环节,与数据湖及Lambda架构中的其他技术框架衔接。读者将会理解Flume作为一个框架,数据湖通过哪些模式来使用它。读者还将了解Flume架构和技术实现细节,并使用该框架来获取和使用数据,其中还包括了使用特定的功能来处理事务控制、数据重放的示例。读者还将了解如何使用流式数据处理技术来进行基于流的处理。

第7章,将深入介绍Apache Kafka。该章最开始给出了选择一种特定技术的理由,同时列举了其他技术选项的细节。在这一章中,读者将会理解Kafka是一个面向消息的中间件,同时会了解它与其他消息中间件的差异。读者可以从客户端(发布者)、代理和消费者(订阅者)的角度来了解Kafka及其功能的细节,以及如何利用它来构建水平扩展能力。读者还将了解如何将Kafka与Hadoop组件集成以获取企业数据,以及这种集成给数据湖带来的功能。

第8章,读者将理解基于流式数据和流式处理的概念,特别是关于Apache Flink的概念。读者将深入研究数据湖和大数据技术背景下的Apache Flink,通过示例演示Flink的实时数据处理。读者还将认识到流式处理功能如何依赖于架构中的各种其他层,以及这些层如何影响流式处理能力。

第9章,将深入介绍Apache Hadoop。在这一章中,读者将更深入地了解Hadoop,对其有一个全面的认识,同时尝试使用各种Hadoop组件及一些特定功能,这些组件可以为企业数据湖提供服务。在数据湖背景下,将在实现级上对Hadoop进行解释,如Hadoop框架是如何实现文件存储、不同文件格式数据处理和MapReduce范式的。Hadoop可以构成数据湖的基础,Hadoop技术栈也能提供近实时处理能力。

第10章,会深入研究Elasticsearch。读者将理解Elasticsearch作为数据索引框架的作用以及如何利用该框架提供的各种分析器进行有效的搜索。读者还将理解数据湖如何有效利用Elasticsearch的分片和分发机制来提供高效的一致性数据服务,了解如何使用Elasticsearch来处理快速流式数据,及构建高性能应用。

第三部分,将汇集本书第一部分和第二部分的技术组件,为读者提供数据湖的整体视图。我们将以简短的方式引入额外的概念和技术,如果有需要,读者可根据企业需求更深入地探索这些内容。另外,深入研究该章所涵盖的技术超出了本书的范围。但是,我们仍希望读者了解这些附加技术,以及在需要时如何将它们引入数据湖实现。本部分由两章组成,每章都有一个明确的目标,下面会详细叙述。

第11章,将所有技术点整合在一起,在向读者介绍完数据湖、Lambda架构及其他各种技术之后,为读者展示了整体的图景。到了这个阶段,读者应该有成就感,这时可以将代码库组织起来,展示它是如何工作的。在这一章中,读者将会意识到如何集成数据湖的各个组件来实现一个功能完备的数据湖。读者还将通过运行范例来实现数据湖的完整性,将前几章学习的内容结合在一起,完成一个可运行的数据湖实现。

第12章,贯穿本书,读者通过单一客户视图的形式来理解用例;然而,在浏览本书的过程中,还有其他与组织相关的用例,读者可对它们进行深入的思考。在这一章中,这种思想得到了进一步的阐发。读者将理解并实现各种用例,这些用例可以从数据湖中获得巨大的回报,并帮助优化它们的持有、运营和活动成本,还能从这些数据使用中推导出商业智能。在该章中,读者还将认识到这些用例的多样性以及企业数据湖能为这些用例提供多大程度的帮助。阅读本书的必备条件

本书面向开发人员、架构师和产品/项目负责人,用于实现基于Lambda架构的企业数据湖。书中包括可运行范例,用以帮助读者理解和观察围绕数据湖及其基本实现的各种概念。为了运行这些范例,需要使用各种开源软件、所需的基础设施和开发IDE。我们努力保持示例简洁并利用常见的框架和组件。用于运行这些示例的操作系统为CentOS 7,但是这些示例可以在Linux操作系统的任何版本上运行。本书的目标读者

·致力于实现企业数据湖的Java开发者和架构师。

·致力于实践Lambda架构和大数据技术的Java开发者。

·致力于探索大数据技术并渴望利用大数据技术提供解决方案的Java开发者。排版约定

在本书中,不同的文本样式用来区分不同的信息。下面是一些例子,以及每种样式的解释。

代码块样式如下所示:

命令行输入或输出样式如下所示:警告或重要的注意事项。提示或技巧。范例下载

本书的范例代码可以从http://www.packtpub.com通过个人账号下载,也可以访问华章图书官网http://www.hzbook.com,通过注册并登录个人账户下载。

本书涉及的代码也托管在GitHub上,请参考https://github.com/PacktPublishing/Data-Lake-for-Enterprises。第一部分概述

此部分向读者介绍了与数据、数据湖及其重要组件相关的各种概念,共分4章,如下所示:

·第1章 数据导论

·第2章 数据湖概念概览

·第3章 Lambda架构:一种数据湖实现模式

·第4章 数据湖中的Lambda应用第1章数据导论

本书中,我们将着手为企业实施一项技术杰作。在这个过程中,读者不仅要学习许多新的工具和技术,还要学习大量的术语和理论知识。这些会帮助你达到最终的目标,就是构建这个技术杰作——数据湖。

本章旨在让读者为前方艰难的道路做好准备,这样读者就可以清晰地知道将要达到的目标是什么。数据湖的概念随着时间的推移在企业中不断演变,最初起源于数据仓库的概念。数据仓库包含长期积累的数据,并根据报表需求和历史需求以不同的方式存储。然后,数据集市的概念出现了,它提供企业属性相关的小数据集。数据湖从上述这些概念演变而来,成为企业的中心数据库,可以捕获原始数据,生成加工后的数据,提供最关键的企业信息。

数据湖相关的话题或者说技术已经不新鲜了,但很少有企业实施了功能齐全的数据湖。通过本书,我们希望企业开始认真考虑投资建设数据湖。此外,希望在工程师的帮助下,可以让企业的最高管理层了解数据湖可以提供的功能和适用的场景。

所以,让我们开始这一段旅程吧。

请放心,读完本书后,读者将可以帮助企业(无论规模大或小)用以数据为中心的方式进行思考和对业务建模,并使用数据湖作为核心技术。

本章的目的是让读者深入了解数据、大数据以及数据相关的一些重要细节。本章给出了一些重要的基于教科书的定义,这些定义读者需要深刻理解,以便能明确数据与企业的关联。读者也将认识到数据与大数据之间的关键差异。本章将深入探讨不同类型的数据,以及这些数据分布在企业的哪些地方。

本章的后半部分将介绍企业在数据管理方面的现状,希望读者能得到启迪;同时试图提供一个高层次的视角,来了解企业向以数据为核心进行转型的目标。整本书基于一个真实的用例,在1.10节会更加详细地介绍这个用例。读者可以通过这个用例掌握很多相关的概念。1.1 探索数据

数据是指一组定性或定量变量的值。

数据可以被测量、收集、报告和分析,然后可以使用图形、图像和其他分析工具进行可视化。一般意义上,数据指的是现有的信息或知识,并以一种适合使用或处理的方式进行表示或编码。——维基百科

数据大致分为3种类型:

·结构化数据(structured data)

·非结构化数据(unstructured data)

·半结构化数据(semi-structured data)

结构化数据指的是我们通常在业务应用程序中获取的,在关系型数据库管理系统(Relational Database Management System,RDBMS)中或者以非关系型数据库(NoSQL最初称为non-SQL)的形式存储的数据。

结构化数据又可以大致分为两类,即原始数据(raw data)和清洁数据(cleansed data)。原始数据是指以原样获取的,没有经过清洗和过滤的数据。清洁数据是指经过大量清洗和过滤来适配业务用户的分析需求的数据。

所有其他不属于结构化数据类型的数据都称为非结构化数据。视频、图片等形式的数据都属于非结构化数据。

还有半结构化数据,它随着互联网的兴起而出现,并且随着社交网站的发展愈发成为主流。维基百科对半结构化数据的定义如下:

半结构化数据其实是结构化数据的一种形式,它不符合关系型数据库或者其他数据表格形式的数据模型所表示的规范结构,但是它包含标签或其他标记来分割语义元素,并要求在数据内保存记录和字段的层次结构。因此,也被称为自描述结构(self-describing structure)。

有一些众所周知的半结构化数据的例子,如JavaScript对象表示法(JSON)和可扩展标记语言(XML)。

图1-1中涵盖了我们讨论的各种数据类型。读者请不要因为在结构化数据部分看到电子表格和文本文件而疑惑。这是因为图1-1中的数据是以记录的形式表达的,确实属于结构化数据。图1-1 数据类型1.2 什么是企业数据

企业数据指的是企业内部员工及其合作伙伴跨越不同部门、不同地点而共享,跨越不同大洲而传播的数据。这些数据对企业具有很高的价值,包括财务数据、业务数据、员工个人数据等,企业花费了大量时间和金钱来保证数据在各方面的安全和质量。

然而,所谓的企业数据从当前状态变得日渐陈旧,虽然以某种形式进行存储,但是难以进行分析和检索。这些数据有着重大的意义,企业需要有一个专门的地方来分析它,以挖掘各种潜在的商机,这就是数据湖产生的原因。

企业数据主要分为3大类,具体如下:

·主数据(master data),指的是详细描述企业内部主要实体的数据。通过观察主数据,可以了解企业涉及的业务。这些数据通常由不同部门管理和掌握。其他类别的数据,如后文所述,需要利用主数据来产生价值。

·事务数据(transaction data),指的是各种应用程序(内部或外部)在处理企业内的各种业务流程时产生的数据。事务数据也包括人员相关的数据,虽然某些时候并不属于业务数据,但这部分数据也非常重要。分析这部分数据,可以帮助企业优化业务。这些数据也依赖于主数据,并经常引用主数据。

·分析数据(analytic data),实际上指的是来源于前两类数据的数据。这部分数据是对企业中的各种实体(主数据)的深入分析,同时结合事务数据,为企业提供积极的建议,经过必要的调研之后,这些建议可以被企业采纳。

前面已经解释过这些类型的数据对企业的重要性,大多数企业都有管理这几类数据的机制,通常叫作企业数据管理(Enterprise Data Management,EDM)。下一节中将更详细地解释这方面的内容。

图1-2显示了各种类型的企业数据以及它们是如何相互影响的。图1-2 不同类型的企业数据

如图1-2所示,事务数据和分析数据都利用了主数据。分析数据也依赖于事务数据,并根据不同客户的需求进行有意义的分析。1.3 企业数据管理

组织具有能够精确定义数据、轻松集成数据和同时为内部应用和外部通信检索数据的能力。——维基百科

EDM强调数据的精确性、粒度和含义,关注数据内容如何整合到业务应用程序中,以及数据如何从一个业务流程转移到另一个业务流程。——维基百科

正如维基百科的定义中明确指出的那样,EDM是定义了企业数据如何存储、存储的位置以及使用哪些技术来存储和检索这类数据的一整套策略。此类数据价值巨大,必须处于正确的控制下以保证安全,并且需要以明确的方式进行掌握和管理。EDM还定义了数据如何与内部和外部的应用程序进行通信。此外,数据交换的相关政策和流程也必须明确。

从前文来看,对企业来说实现EDM非常容易,但实际上却是困难重重。一个企业有多个部门,每个部门都产生数据;基于这些部门的重要性,它们所产生的数据与整个组织密切相关。由于彼此处境不同,不同数据的所有者在EDM中有着不同的利益点,这会产生冲突,从而给企业带来危害。这就需要在EDM中制定各种政策和程序来明确数据的所有权。

在本书的背景下,了解企业数据、企业数据管理以及与维护EDM相关的问题非常重要。这也是本书开篇就要介绍这些方面的原因。在下面的章节中,将介绍大数据的概念,以及如何将大数据整合到企业数据管理中,并扩展其功能。没有大数据技术的支持,这些扩展功能是很难实现的。1.4 大数据相关概念

本节以维基百科对“大数据”一词的定义开始:“大数据”是一个术语,用来描述这样一种数据集,它极其庞大、复杂,以至于传统的数据处理应用程序难以应付。术语“大数据”通常指的是应用预测分析,用户行为分析,或者某些其他从数据中提取有价值信息的高级数据分析方法,并不是专指某种特定规模的数据集。——维基百科

下面我们来解释一下维基百科定义中给出的这两句话。早期,大数据本质上是指数据量很大且很复杂的数据。然而并没有任何明确的定义,指定何种规模的数据可以称为大数据。由于这种数据的数据量过于巨大,以至于传统的数据处理应用程序难以有效地使用它。在过去10年左右的时间中,这个领域出现了很多技术可以用来分析企业中的大数据。目前,“大数据”这个术语是指任何能理解和提取这些复杂企业数据,并对其进行有效利用的方法。大数据和4V

大多数时候,当读者接触到“大数据”这一术语时,都会遇到一个重要的概念——4V(此前是3V,直到最近才引入了意义重大的第4个V)。这4V分别指的是多样性(variety)、处理速度(velocity)、数据量(volume)和精准性(veracity),大数据对这4个维度的特征都有其独特的要求:

·多样性:在大数据的背景下,多样性具有非常重要的地位。这里的多样性指的是丰富的数据类型和海量的数据源。随着技术的不断发展和应用程序(企业级和个人级)不断增加,数据多样性日益被重视。这种现象不仅不会减少,反过来,肯定还会在一段时间内持续增长。数据类型可以大致上分为结构化数据和非结构化数据。目前,大多数应用程序都是跟存储在关系型数据管理系统(RDBMS)中的结构化数据打交道。这种情况很普遍,但是现在,更多的需求转向了非结构化数据,如视频、图片、二进制文件等。

·处理速度:在大数据的背景下,处理速度有两方面含义。首先是生成数据的速度,其次是需要快速实时地分析海量数据,从而推导出有意义的结论。正如谚语所说,时间就是金钱。这个V的重要意义在于能够实时、快速地做出决策。一些企业,特别是零售业,非常倚重这方面的决策。如果顾客能适时看到适合自己的商品,那么他们很可能会购买。

·数据量:在大数据的背景下,需要分析大量的数据,进而推导出有意义的结论。目前,并没有一个具体的数量来说明何等量级的数据可以被认为是大数据。但通常来说,这个数据量肯定显著高于传统应用能处理的数据量。一般来说,大数据对应的数据量相当大,而且确实让传统的应用程序(如OLTP——联机事务处理)感到无能为力。对于很多业务来说,分析和利用社交数据不可或缺。这些社交应用(如Facebook、Google+、LinkedIn等)拥有十亿级的注册用户,每天会产生数十亿的数据(包括结构化及非结构化数据)。此外,应用自身的常规事务和其他分析(用户行为、位置信息等)也产生大量数据。另外,随着可穿戴设备和传感器的数量不断增长,这些设备又随时都在发送数据,数据量维度日益重要,而且这个趋势短时间内不会改变。

如前文所述,不久之前还只有3个V。最近IBM提出了第4个V,即精准性。由于数据呈指数级增长,并且数据来源的可靠性难以保障,因此这个V意义非凡。

当世界上有重大事件发生时,读者一定听说或阅读到过各种社交媒体上散布的假新闻。这个V指向一个非常重要的方面,那就是大数据中的精准性。随着数据大量涌现,尤其在社交网络中,该维度愈发重要,所以业界更倾向于4V而不是3V。

·精准性:在大数据的背景下,精准性指的是准确地分析数据,以获得有意义的结果。由于数据源众多,尤其某些用户输入的非结构化数据的质量不太可靠,处理某些渠道的数据时必须慎之又慎。如果有企业想要在业务上应用这些数据,必须更加严格地验证这些数据的准确性。

为了方便读者理解,图1-3清楚地显示了什么是4V以及各自的含义。图1-3 大数据的4V1.5 数据与企业的相关性

任何企业都不能否认数据的重要性。企业一直都在收集大量的历史数据,并将其保存在数据仓库中以便进行分析。企业可以通过分析历史数据来获得新的增长点,这也证明了数据的重要性。在过去的10年里,随着社交媒体的激增和海量应用(企业内部或外部云端)的涌现,企业收集的数据量呈指数级增长。随着数据量与日俱增,想要有效地利用这些海量的数据变得无比困难。企业试图利用这些收集到的数据来对现有业务转型或赋能,因此,数据的相关性是企业最关心的问题。

如果商业用户能获得大量的数据并使用正确的工具进行分析,那么他确实能够从中获得有用的价值。举例来说,如果能把来自各个应用的客户相关的数据汇聚到一起,并对其进行分析,则可以从这些数据中发现大量有价值的信息,比如哪些用户和企业网站有交互以及是怎样交互的。企业可以依据这些推导出的信息来改进现有的商业模式或者调整某些业务流程,以实现利润最大化。例如,可以基于集中的用户数据来思考新的商业模式,比如向用户提供积分。这些数据也可以用来向客户做个性化推荐。比如说,比起通用的推荐,基于用户行为向用户提供个性化的选项更容易被用户接受。当然,这些完全取决于具体业务,并不存在一种方法能适合所有的场景。不过,数据经过转换和清洗,再由各种数据可视化技术展示成丰富多样的图表,对商业用户来说更有用。

显然,企业数据与业务息息相关,下一节将详细介绍这些数据分布在企业的哪些地方。

Vit Soupal,德国电信(Deutsche Telekom AG)大数据部门负责人,在他的一篇博客中定义了4V作为大数据的技术属性,还另外引入了3个V。本书并不打算完全涵盖这额外的3个V,不过,想要在企业中成功应用数据湖(大数据),很难绕过它们。

另外3个V(业务属性)如下:

·视野(vision):每一个拥有大数据(数据湖)的企业都应该有一个清晰的视野,并且改进业务流程来充分利用它。同时,企业的管理层应该充分理解数据湖给企业带来的变化,并在决策时充分考虑到这一点。

·可视化(visualization):数据湖预期将存储巨量数据。其中部分数据意义重大,另一部分则不尽然。数据科学家们会研究这些数据来发现有意义的规律,这些发现需要以有效的方式呈现给管理层。要取得大数据方面的成功,对各种格式的数据进行有意义的可视化是必不可少的。

·价值(value):大数据理应给企业带来价值,比如对业务流程的优化,或者创造新的解决方案(如物联网),甚至是带来商业模式的彻底改变。

如图1-4所示,Vit对这7个V给出了一个很好的表示:

图1-4中,只有同时满足业务和技术属性的要求,大数据才能在企业中成功应用。

图1-4表明,数据湖需要一个明确的视野,不同类型的数据以不同的速度、不同的数据量流入这个湖中。进入数据湖的数据的质量(精准性)参差不齐。企业各个部门甚至高管层都需要借助各种可视化方法来利用数据湖中的数据。这些可视化方法将为企业带来巨大的价值,它们能帮助企业做出各种有益的决策。技术属性(多样性、处理速度、数据量、精准性)固然不可或缺,但业务属性(视野、可视化、价值)也不容忽略,它们共同成就了数据湖。图1-4 大数据的7V1.6 数据质量

毫无疑问,高质量的数据(清洁数据)是组织不可或缺的重要资产。反过来,如果基于低质量的数据来进行决策,反而会损害企业的利益和品牌价值,而品牌价值一旦流失就难以恢复了。一般来说,如果数据有不一致、重复、歧义和不完整的情形,数据的可用性就下降了。如果对这些数据进行分析时体验不佳,业务用户就不会再考虑使用该数据了。这时大家才意识到第4个V(精准性)的重要性。数据质量是基于对数据的评估,来确定它是否与预想的应用场景相匹配。数据质量的评测基于多个维度的属性。下面是其中比较重要的部分属性:

·正确性/准确性(correctness/accuracy):表征了收集的数据所能描述客观世界的真实程度。

·完整性(completeness):通过统计获取的数据包含了多少预期/预定的属性。

·一致性(consistency):从多个系统中获取数据,并汇聚起来在一起对比,以此来衡量数据的一致性。

·时效性(timeliness):表征了在指定的时间内及适当的场景中,向正确的人提供高质量数据的能力。

·元数据(metadata):根据获取的数据中的附加数据来衡量。正如这个术语本身表明的那样,元数据是描述数据的数据,它可以用来定义数据本身,可以使数据更便于使用。

·数据世系(data lineage):对数据的整个生命周期进行跟踪,可能会给组织来带巨大的收益。数据的这种可追溯性能为组织提供十分有价值的商业见解。

除了前文所述的,其实还有其他的维度可以用来表征数据的质量。虽然这里只对上述部分做了详细介绍,此时读者的脑海中应该已经有了一个清晰的概念,在阅读本书后续章节时,读者会有更清晰的理解。1.7 企业中数据如何存放

企业数据以原始数据格式、二进制文件(图片和视频)等形式存储,存放的位置可以是各种内部应用程序的持久化存储,也可以存放到外部的私有或公有的云平台中。首先,需要对数据类型进行划分。按照数据存放位置划分如下:

·内联网(企业内部)

·互联网(企业外部)

另一种方式是按照数据存储的格式划分,具体如下:

·持久化存储引擎(RDBMS或者NoSQL)

·传统的数据仓库(基于RDBMS、NoSQL等)

·文件存储

下面进一步详细介绍这些数据类型。1.7.1 内联网(企业内部)

企业数据存放在自己的私有网络,即内联网中。

企业内部的各种应用程序也运行在私有网络中,并且只有指定的人员才能访问。因此,从这些应用程序获取的数据能以安全和私密的方式存储于企业内部。

这些应用产生的数据可能是员工数据,也可能是日常使用中产生的事务数据。

企业用来构建内联网的技术包括局域网(LAN)和广域网(WAN)。此外,企业内部还有多个应用平台可以使用,数据可以以结构化方式存储在不同的存储引擎中,例如,传统的RDBMS和NoSQL数据库。除了这些存储引擎,还有以各种文件形式存放的非结构化数据。另外,大数据企业都有传统的数据仓库,用来存放清洗后的数据以备分析之用。1.7.2 互联网(企业外部)

大约从近10年开始,大多数企业都拥有自己的数据中心,几乎所有的企业数据都存放于此。伴随云计算的发展,企业开始把一些数据存放到私有数据中心以外的云平台上,加上健全的安全控制,未经授权的人根本接触不到这些数据。采用云服务的方式能极大地降低企业的运营成本,这是云服务最大的优势。本节将进一步介绍这个领域,包括更细粒度的类别划分。1.云托管业务应用程序

云计算供应商提供了各种服务,如SaaS、PaaS、IaaS等,企业可以把业务应用程序托管到云中,同样也能满足企业管理的需求。因此,许多企业选择把内部开发的应用程序托管到这些云计算提供商。员工使用这些部署在云中的应用程序,进行日常的一些操作,这和操作部署在企业自有的数据中心中的应用没有区别。2.第三方云计算方案

如今这么多公司把自身的应用/服务托管到云端,这些应用/服务用起来就跟部署在本地一样,但是企业不必考虑维护和管理应用/服务所需的基础架构。这些仅仅依赖云端环境的产品,最吸引企业的一点是它们的收费方式。

基于这个优点,企业倾向于选择这些云产品,同时也由于云产品的先天特点,企业现在也将数据(业务相关)存储在其他的云设施中,即使云提供商完全掌控了这些数据。

Google的BigQuery就是这样一款云服务软件,用户可以把数据导出到云服务中,然后运行这个软件来进行各种分析工作。这类产品有一个优点,就是我们可以根据分析的结果来决定是否保留这些数据。云服务具有天然的可伸缩性(硬件层面随意扩展和收缩的能力),如果数据分析很复杂,可以临时申请性能强劲的服务器,分析结束之后又可以把服务器的配置恢复到此前的水平。

基于这个特性,Google BigQuery将自己定位为“企业级云数据仓库”,这也确实是实至名归。它给企业带来了快速分析大规模数据的能力,同时保证了安全性、可靠性和可用性。它还集成了其他类似的云服务软件,以满足各种其他需求。

Google的BigQuery仅仅是一个例子,还有许多其他的云服务软件,具有不同程度的类似特征。现在的企业都在追求业务开展速度,既不想在工具性软件上投入时间进行研究,也不愿意投入经费来管理基础设施;这些云服务的解决方案满足了企业的全部需求,而经济和精力上的成本也相对低廉。

当前阶段,类似的解决方案仍在不断地涌现,本书不再一一罗列。所以仅以BigQuery为例来介绍这一类方案。

与SaaS的方式类似,云端还有很多业务应用程序也可以作为服务对外提供。Salesforce就是这样的一个例子。本质上,Salesforce是一个客户关系管理(CRM)的解决方案,但是它还集成了很多其他特性。笔者在这里并不是想帮助推销Salesforce,但是希望介绍一些云端业务应用的重要特性。Salesforce将所有的客户信息汇总到一起,帮助企业从销售、业务分析和客户服务等几个维度来构建以用户为中心的商业模式。

因为部署在云端,Salesforce也带来了很多云端SaaS的特性。

随着云服务对企业的影响越来越大,现在大量企业把数据存储在互联网(云)上,同时,这些云服务要明确保护客户隐私和其他共同权益,以捍卫企业的商业目标。3.社交数据(结构化与非结构化)

如今,企业的社交关系变得至关重要,即使企业的数据并没有存储在社交网站上,它仍然包含了丰富的信息,这些信息来自企业业务和其服务的真实客户。

用户在社交网站上留下各种评价和建议,企业可以利用这些数据重塑自己的业务和与用户互动的方式。

如果企业忽视此类信息,很可能会损害企业的声誉和品牌。现在企业非常重视社交网站,因为这些网站上即使没有企业的数据,也有客户的评价信息,在某种程度上,这些信息代表了客户对品牌的认知。

于是,我们倾向于将这部分数据归类为非企业用户提供的企业数据。在分析这类数据时,需要特别关注大数据的第4个V,即精准性。因为有些人会利用这个渠道,在与企业进行业务往来时,获得一些不正当的优势。

另一个对企业数据进行分类的方式是按数据最终的存储方式。下一节将更详细地介绍这种分类。1.7.3 数据持久化存储(RDBMS或者NoSQL)

无论是在企业内部(企业基础架构)还是在云服务中,数据通常都以结构化数据的方式存储在所谓的传统RDBMS或者新一代NoSQL持久化存储中。数据通过业务应用程序写入这些存储系统,绝大部分数据在本质上是不相关的,企业可以很容易理解这些数据。数据存储在传统的RDBMS类存储系统中时,会遇到的一个常见的问题,即数据量超出了可接受的范围。在这种情况下,对数据进行分析将耗费大量的时间和精力。因此,企业被迫将数据分拆为生产数据(数据可以被业务应用查询和使用)和非生产数据(从生产系统转移到另外的存储系统中的离线数据)。

由于这种拆分,数据分析通常跨越若干年,这种分析并不能覆盖到企业的全部业务因素。举例来说,如果生产系统中有5年的销售数据,而非生产系统存储了15年的销售数据,那么用户在进行销售数据分析时,只能查看过去5年的数据。可能存在周期刚好为5年的变化趋势,只有对20年的销售数据进行分析才能发现。大多数时候,由于RDBMS的局限,存储和分析海量数据是不可能的。即使勉力为之,这种分析也十分耗时,也不能给分析师提供足够的灵活性。这样一来,分析师只能进行有限的分析,如果企业正在通过这些数据来调整业务流程,那么可能会给企业带来大麻烦。

新一代NoSQL(该领域中不同的数据库具有不同的功能)让数据分析更灵活,同时存储数据的量也大大增加。这些存储满足了分析师们在性能以及其他某些方面的需求,但是在一些方面仍然存在不足。

即使数据存储在一个业务应用中,各种业务应用的数据并没有汇聚成一个单一的视图,而建设一个合适的数据湖能帮企业解决这种问题。1.7.4 传统的数据仓库

正如前一节中介绍的那样,由于生产系统的业务应用获取的数据量巨大,几乎所有的时间里,生产系统的数据都与非生产系统分离。非生产系统的数据通常存储在不同的区域中,并保存在不同的数据存储系统(通常是RDBMS或者NoSQL)中,这种存储系统就是所谓的数据仓库。通常来说,根据数据分析师的需求,数据会被相应地清洗和删除。删除部分数据会限制分析师能执行的分析的类别。大多数情况下,都会有隐藏的有价值的数据尚未进入数据仓库,这就会导致更多的分析,而企业可以基于这些分析来调整业务;然而,此类数据清理和删除可能会扼杀潜在的创新。因此这方面需要改进。而本书介绍的数据湖,使得分析师可以引入生产系统中的任意业务应用数据,并根据具体情况进行各种分析。

目前,构建这类数据仓库的方案是通过ETL(Extract,Transform,Load,即抽取、转换、加载),从生产系统的数据库提取数据并保存到数据仓库中。ETL流程会根据分析师的需求来清洗数据,而分析师会在数据仓库中进行各种分析。1.7.5 文件存储

业务应用程序在不断地变化,新的应用允许终端用户以各种格式获取数据,而不仅仅限于从键盘输入的格式化数据。

终端用户另一种输入数据的渠道是提交不同格式的文档。其中一些众所周知的格式如下:

·文档(PDF、DOC、XLS等)

·二进制

·图片(JPG、PNG等)

·音频(MP3、RAM、AC3)

·视频(MP4、MPEG、MKV)

正如前文中介绍的那样,处理结构化数据本身就是一个大问题,现在又引入了非结构化数据的分析。但是,分析非结构化数据与分析结构化数据同等重要。通过构建数据湖,我们可以围绕数据湖引入新的技术,利用大数据领域最新和最好的技术,可以从非结构数据中挖掘到巨大价值。

除了各种文件格式的数据,有很多应用允许终端用户以语句的形式获取大量数据,这部分数据也需要分析。手动处理这些来自终端用户的评论数据是一项艰难的任务,在现代化的今天,需要的是自动化地解析这些评论,并了解用户的观点。同样,有很多这样的技术可以理解这些数据(如自由文本流),让企业能够正确地处理它。

举例来说,假如我们有一个获取企业建议的系统,每天能获取近1000条建议,由于该业务的天然属性,很难对这些建议进行过滤分析。这种场景中,我们可以利用一些技术来对这些评论进行情感分析,然后根据这些分析工具给出的评分进行初步的过滤,再将筛选后的建议交给能够理解和利用这部分数据的人来处理。1.8 企业现状

正如前面几节简要介绍的那样,企业数据当前的状态可以总结为以下几点:1.传统DW(Data Warehouse)/BI(Business Intelligence)

·使用ETL清洗来自生产业务应用的数据。

·早于一定时间的数据会转移到另外的存储系统(如磁带)中,但是很难对这部分数据进行检索。

·一些显著的缺陷:

·数据仓库中保存的是清洗后的生产数据的子集;在数据仓库中添加任何数据元素都需要付出代价。

·数据仓库中保存的是全量数据的一个子集,其余数据会转存到另外的持久存储系统中去。

·通常分析速度较慢,即使对查询做了一定程度的优化。2.大数据孤岛

·一些部门在建设大数据时采取了正确的措施。但是部门间通常不会互相协作,这些大数据平台就成了孤岛,并没有真正给企业带来价值。

·一些显著的缺陷:

·大数据平台的孤立性再次限制了分析师,使得分析师们无法跨部门整合和查询数据。

·需要大量资金来构建、维护、管理这些数据孤岛,时间一长就难以为继。3.大量非连接应用

·在企业内部和云服务中部署大量应用程序。

·除了产生结构化数据,应用程序也产生非结构化数据。

·一些显著的缺陷:

·互相没有通信。

·即使有通信,数据科学家们既不能有效地利用这些数据,也不能对企业进行有益的改进。

·各个业务应用在多个方面重复使用各种技术。

这里并不是说投资构建数据湖是解决上述所有缺陷的“银弹”。但是这个方向一定是正确的,企业至少应该花时间去思考是否确实需要数据湖,如果答案是肯定的,就不要过多考虑,直接着手去构建。

构建数据湖是企业的一项战略级决策,在构建时需要所有相关人员的认可与支持,而且需要高管层投入精力关注这个项目。基于数据湖,企业一定能找到改进业务流程的方法。它能让高管人员更深入地了解业务,同时也能提升决策的成功率。1.9 企业数字化转型

数字化转型指的是应用数字化技术,从根本上影响商业和社会的方方面面。——infoworld.com

数字化转型(DX)是一个流行的行业术语,每个企业都毫不犹豫地跟随了这个趋势。这个术语指的是企业向以信息技术为核心转型。技术领域的投入是这项转型的一部分,但数据才是转型的关键。

近年来,企业越来越多地认识到数据和数据分析的重要性,这无疑让企业有了新思维。这种转型就是一种以数据为中心的实践。

作为商业转型的一部分,企业绝对应该把数据湖列入重点投入项目列表,所有部门都应该欣然将数据归集到数据湖来完成数据共享,而不能对它存有偏见。企业转型之路

埃森哲互动曾经委托Forrester咨询公司进行过一项研究,该研究表明数字化转型的关键驱动力是提升盈利能力、客户满意度和产品迭代速度。

实际上,很多企业已经走上了数字化的转型之路。数字化转型不再是一句空话,很多企业正竭力转向把技术作为驱动力之一,而另一个驱动力,如读者猜测的那样,就是数据。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载