《云数据湖》第一章:大数据——超越噱头-灵析社区

攻城狮无远

第一章:大数据——超越噱头

没有大数据,你就像盲人和聋子一样,置身于高速公路之中。 ——杰弗里·摩尔

如果我们正在玩职场宾果游戏,有很大的机会你可以通过划掉以下这些术语来赢得胜利,这些术语你在过去三个月里可能在你的组织中听到过:数字化转型、数据战略、颠覆性洞察、数据湖、数据仓库、数据科学、机器学习和智能。现在众所周知,数据是组织取得成功的关键要素,而依靠数据和人工智能的组织明显胜过竞争对手。根据西格特赞助的IDC研究,到2025年,捕获、收集或复制的数据量预计将增长到175ZB。这些捕获、收集或复制的数据被称为全球数据领域。这些数据来自三类来源:

核心

传统或基于云的数据中心

边缘

硬化基础设施,如手机塔

终端

个人电脑、平板电脑、智能手机和物联网(IoT)设备

该研究还预测,到2025年,全球数据领域中有49%将存储在公共云环境中。

如果你曾经想过:“为什么需要存储这些数据?它有什么用?”答案非常简单。
将所有这些数据想象成散落在全球各地的语言片段,每个片段都分享着一小部分信息,就像拼图的碎片。将它们有意义地拼接在一起,讲述的不仅仅是通知,还可能改变企业、人们甚至世界运转方式的故事。大多数成功的组织已经利用数据来了解业务增长的驱动因素和顾客体验,并采取适当的行动;观察“销售渠道”或顾客获取、采用、参与和保留已经成为产品投资的通用语言。这些类型的数据处理和分析被称为商业智能(BI),属于“离线洞察”。实质上,数据和洞察对于呈现增长趋势非常重要,以便业务领导者能够采取行动;然而,这个工作流程与运行业务本身所使用的核心业务逻辑是分开的。随着数据平台的成熟度提高,我们从所有客户那里得到的不可避免的信号是,他们开始接到更多关于在他们的数据湖上运行更多场景的请求,真正坚持“数据是新的石油”的说法。

组织利用数据来了解业务增长的驱动因素和顾客体验。然后,他们可以使用数据设定目标并通过更好的支持和新功能改进顾客体验。他们还可以创建更好的营销策略来推动业务增长,并通过提高效率降低产品和组织建设成本。

星巴克是一家全球范围内存在的咖啡店,它在尽可能多的地方使用数据来持续衡量和改进业务。正如在这个YouTube视频中所解释的,星巴克使用来自其移动应用程序的数据,并将其与订购系统进行关联,以更好地了解顾客的使用模式并发送有针对性的营销活动。它在咖啡机上使用传感器,每隔几秒钟就会发出健康数据,这些数据被分析用于提高预测性维护。它还利用这些联网咖啡机下载配方,而无需人为干预。

在全球刚刚开始应对COVID-19大流行病的同时,组织们大量利用数据,不仅改变他们的业务,还衡量组织的健康和生产力,以帮助员工保持联系并减少倦怠感。总的来说,数据还被用于像Zamba项目这样的拯救世界的倡议中,在非洲偏远丛林中利用人工智能进行野生动物研究和保护,并利用物联网和数据科学创建循环经济,促进环境可持续性。

什么是大数据

之前提到的所有例子有一些共同之处:

  • 这些场景说明数据可以以多种方式进行探索和使用,并且在数据生成时,通常没有明确的消费模式。
  • 这与传统的在线事务处理(OLTP)和在线分析处理(OLAP)系统不同,传统系统的数据是专门设计和策划的,用于解决特定的业务问题。
  • 数据可以以各种形状和格式出现:可以是从物联网传感器发出的几个字节,社交媒体数据转储,来自业务线系统和关系数据库的文件,甚至是音频和视频内容。
  • 大数据的处理场景大不相同,无论是数据科学、类SQL查询还是其他定制处理方式。
  • 研究表明,大数据不仅具有高容量,而且可以以不同的速度到达:可以是一次大规模的数据转储,例如从关系数据库中批量摄入的数据,也可以是持续流式传输的数据,例如点击流或物联网数据。 这些都是大数据的一些特点。
  • 大数据处理指的是用于存储、管理和分析数据的一组工具和技术,而不对数据的来源、格式或大小做任何限制或假设。
  • 大数据处理的目标是分析大量的数据,其质量可能各不相同,并生成高价值的洞察。之前提到的数据来源,无论是物联网传感器还是社交媒体转储,其中都蕴含着对业务有价值的信号。例如,社交媒体信息中包含了顾客情感的指标:他们是否喜欢某个产品并在推特上发表了评论,或者他们是否遇到了问题并进行了抱怨。这些信号在大量其他数据中隐藏着,形成了较低的价值密度,你需要清洗大量的数据才能获取到少量的信号。在某些情况下,你可能根本没有任何信号。大海捞针,听起来很难找到吧?

此外,单独一个信号可能并不能告诉你太多信息;然而,当你将两个较弱的信号结合起来时,你会得到一个更强的信号。例如,来自车辆的传感器数据可以告诉你刹车的使用频率或加速器的按压情况,交通数据可以提供交通模式,汽车销售数据可以提供有关谁买了什么车的信息。尽管这些数据来源各不相同,但保险公司可以将车辆传感器数据和交通模式相关联,建立起一个关于驾驶员安全性的档案,从而为安全驾驶档案的驾驶员提供较低的保险费率。

如图1-1所示,大数据处理系统使得大量数据的相关性成为可能,这些数据的价值密度各不相同(价值密度可以被视为信噪比),从而生成具有明确高价值密度的洞察。这些洞察力量可以推动对产品、流程和组织文化的重要转变。


大数据通常以六个V来描述。有趣的是,几年前我们只用了三个V来描述大数据:容量(Volume)、速度(Velocity)和多样性(Variety)。如今,我们又增加了三个V:价值(Value)、真实性(Veracity)和可变性(Variability)。这表明在短短几年内,我们发现了更多的维度。谁知道,也许在这本书出版时,可能会增加更多的V!现在让我们来看一下这些V:

容量(Volume)

这是大数据中的“大”部分,指的是正在处理的数据集的大小。当数据库或数据仓库提到超大规模(hyperscale)时,这可能意味着处理的数据量为数十或数百太字节(TB),在极少数情况下,甚至是拍字节(PB)。此外,您的数据集中可能有数千个列,这又增加了容量的另一个维度。在大数据处理的世界中,处理拍字节的数据更为常见,随着越来越多的场景在数据湖上运行,更大的数据湖很容易扩展到数百拍字节。需要注意的是,在大数据中,容量是一个连续的谱。您需要拥有一个对TB级数据运作良好且能够扩展到数百拍字节的系统。这样,您的组织可以从小规模开始,并随着业务和数据资产的增长而进行扩展。

速度(Velocity)

大数据生态系统中的数据具有不同的“速度”,即生成速度和移动速度以及变化速度。例如,想象一下社交媒体上的趋势。虽然TikTok上的一个视频可能会迅速走红,但几天后它就完全无关紧要了,为下一个趋势腾出了空间。同样,在健康护理数据方面,比如您的日常步数,虽然它在当时是衡量您活动的关键信息,但几天后它的信号价值就降低了。在这些示例中,您需要大规模地处理数百万甚至数十亿的事件,并在几乎实时生成洞察力,无论是实时推荐热门标签还是离您的每日目标有多远。另一方面,有些情况下数据的价值会持续很长时间。例如,销售预测和预算规划严重依赖过去几年的趋势,并利用过去几个月或几年持续存在的数据。支持这两种情况的大数据系统能够批量摄取大量数据并持续流式传输数据,并能够处理它们,让您在数据湖上运行各种场景并关联来自这些不同来源的数据,从而生成以前不可能实现的洞察力。例如,您可以使用同一系统根据长期模式和社交媒体的快速趋势来预测销售。

多样性(Variety)

正如我们在第一个V中所看到的,大数据处理系统可以适应各种场景。关键在于支持各种数据的处理。大数据处理系统能够处理数据而不对数据的大小、结构或来源施加任何限制。它们提供了处理结构化数据(数据库表、LOB系统)的能力,这些数据具有定义明确的表格结构和强大的保证,半结构化数据(以灵活定义的结构为特征的数据,如CSV和JSON),以及非结构化数据(图像、社交媒体数据、视频、文本文件等)。这使您可以从有价值的源头获取信号(比如保险或抵押文件),而无需对数据格式做任何假设。

真实性(Veracity)

真实性指的是大数据的质量和来源。大数据分析系统接受数据时没有对格式或来源做任何假设,这意味着并非所有数据都具有高度结构化的洞察力。例如,您的智能冰箱可以发送一些字节的信息,指示其设备的健康状态,其中一些信息可能会因为实现方式而丢失或不完整。大数据处理系统需要包括数据准备阶段,在进行复杂操作之前对数据进行检查、清理和整理。

变异性(Variability)

无论是大小、结构、来源还是质量,变异性是大数据系统的核心。任何用于大数据的处理系统都需要具备处理各种类型数据的能力。此外,处理系统可以根据需求定义数据的结构,这被称为按需应用模式。例如,如果您有包含数百个数据点的出租车数据的CSV文件,一个处理系统可以专注于源和目的地的值,而忽略其他部分,另一个处理系统可以专注于司机身份和定价,而忽略其他部分。这是最大的优势:每个系统本身都包含了谜题的一部分,将它们整合在一起可以揭示前所未有的洞察力。我曾经与一家金融服务公司合作,他们从各个县收集了关于房地产和土地的数据;这些数据以Microsoft Excel文件、CSV数据导出或高度结构化的数据库备份的形式呈现。他们处理并汇总这些数据,生成了关于土地价值、房屋价值和区域购房模式的优秀洞察力,从而使他们能够适当地确定抵押贷款利率。

价值(Value)

这可能已经在前面的观点中强调过了,但需要强调的最重要的V是大数据系统中的数据价值。大数据系统最好的一点是价值不仅仅一次性存在。数据被收集和存储,假设它对不同的受众有价值。数据的价值也随着时间的推移而改变,可能会因为趋势的改变而变得不相关,或者显示出过去具有先例的模式。让我们以销售数据为例。销售数据用于推动收入和税收计算,以及计算销售员的佣金。此外,对销售趋势进行的分析可以用于预测未来趋势和设定销售目标。在销售数据上应用机器学习技术,并将其与看似无关的数据(如社交媒体趋势或天气数据)进行相关分析,可以预测销售中的独特趋势。需要记住的一件重要事情是,数据的价值随着时间的推移有可能贬值,这取决于您尝试解决的问题。例如,包含全球气候模式的数据集在分析气候趋势如何随时间变化时具有很大的价值。然而,如果您试图预测雨伞的销售模式,那么五年前的天气模式就不那么相关了。

图1-2说明了这些大数据的概念。


弹性数据基础设施——挑战

为了让组织能够实现数据的价值,存储、处理和分析数据的基础设施必须具备满足不断增长的数据量和多样化格式需求的能力。这种基础设施不仅必须能够存储任何格式、大小和形状的数据,还需要能够摄取、处理和利用这种多样化的数据,提取有价值的洞察力。

此外,这种基础设施需要跟上数据的扩散和不断增加的多样性,并且能够在组织需求增长、对数据和洞察力的需求增加时弹性扩展。

云计算基础知识

如今,像云计算和弹性基础设施这样的术语已经如此普遍,以至于它们已经成为我们日常语言的一部分,就像“问Siri”或“你在谷歌上搜索了吗?”虽然我们在听到或使用这些术语时不会停顿一下,但它们究竟意味着什么,为什么它们是变革的最大潮流?在我们深入探讨云数据湖之前,让我们先稍微了解一下云计算的基础知识。

云计算与组织传统上对待IT资源的方式有很大的转变。在传统的方法中,组织拥有IT部门,该部门购买设备或设备来运行软件。这些设备可以是提供给开发人员和信息工作者的笔记本电脑或台式机,也可以是由IT部门维护并向组织其他部门提供访问权限的数据中心。IT部门有预算来采购硬件,并与硬件供应商共同管理支持。他们还有操作程序和相关的人力资源来安装和更新运行在这些硬件上的操作系统和软件。这带来了一些问题:硬件故障威胁到了业务连续性,由于IT部门资源有限,安装和升级的管理限制了软件开发和使用,而且最重要的是,无法对硬件进行扩展,这阻碍了业务的增长。

云计算术语

简单来说,云计算可以理解为您的IT部门通过互联网提供计算资源。云计算资源本身由云服务提供商拥有、运营和维护。云并非一概而论,也有不同类型的云:

公共云

公共云提供商包括微软Azure、亚马逊网络服务(AWS)和谷歌云平台(GCP)等。公共云提供商拥有托管在世界各地的机房中的大量计算机,并且可以让不同组织利用相同的基础设施(称为多租户系统)的计算资源。公共云提供商提供隔离保证,以确保不同组织可以使用相同的基础设施,但一个组织不能访问另一个组织的资源。

私有云

诸如VMware之类的提供商提供私有云,其中计算资源托管在完全专用于一个组织的本地数据中心中。类比一下,可以将公共云提供商看作是一个商业综合体,可以在同一物理建筑中托管三明治店、面包店、牙医诊所、音乐课程和理发沙龙等各种不同的业务。另一方面,私有云就像一个完全只为一所学校使用的学校建筑。公共云提供商也提供其服务的私有云版本。

您的组织可以使用多个云提供商来满足需求,这被称为多云方法。另一方面,一些组织选择采用所谓的混合云,在本地基础设施上拥有私有云,并利用公共云服务,根据需要在两个环境之间移动资源。图1-3说明了这些概念。


我们已经谈到了计算资源,但它们究竟是什么呢?云上的计算资源可以分为三个不同的类别:

基础设施即服务(IaaS)

对于任何服务,都需要一个最基本的基础设施,其中包括提供计算(处理)、存储(数据)和网络(连接)功能的资源。IaaS 提供的是虚拟化的计算、存储和网络资源,您可以在公共云上创建自己的服务或解决方案,利用这些资源。

平台即服务(PaaS)

PaaS 资源本质上是供应商提供的工具,应用开发人员可以利用这些工具构建自己的解决方案。这些 PaaS 资源可以由公共云提供商或专门提供这些工具的供应商提供。一些 PaaS 资源的例子包括作为服务提供的运营数据库,如微软的 Azure Cosmos DB、亚马逊的 Redshift、Atlas 的 MongoDB 或 Snowflake 的数据仓库,在所有公共云上都提供此服务。

软件即服务(SaaS)

SaaS 资源提供预先准备好的软件服务,通过订阅方式提供。您可以在任何地方使用它们,无需在计算机上安装任何内容,虽然您可以利用开发人员来定制解决方案,但也可以立即开始使用现成的功能。一些 SaaS 服务的例子包括 Microsoft 365、Netflix、Salesforce 和 Adobe Creative Cloud。

打个比方,假设您想要晚餐吃比萨。如果您选择利用 IaaS,您将购买面粉、酵母、奶酪和蔬菜,自己制作面团,添加配料,然后烘烤比萨。您需要是一个烹饪专家才能做到这一点。如果您选择利用 PaaS,您将购买一份预先制作好的比萨,然后将其放入烤箱中烤熟。您不需要是一个烹饪专家,但需要了解如何操作烤箱,并注意确保比萨不会烤焦。如果您使用 SaaS,您将打电话给当地的比萨店,让他们将热腾腾的比萨送到您家。您不需要有任何烹饪专业知识,而且可以直接享用到比萨。

云计算的价值主张

我经常从客户和组织那里得到的一个最常见的问题是,为什么要首先转向云计算。尽管回报率可能是多方面的,但价值可以分为三个关键类别:

降低TCO(总拥有成本)

TCO指的是您维护的技术解决方案的总拥有成本,包括数据中心成本、软件成本以及雇佣人员管理运营所需的薪资。几乎在所有情况下,除了少数例外,与在本地部署在您的自有数据中心的解决方案相比,基于云构建解决方案的TCO显著较低。这是因为您可以专注于雇佣软件团队为您的业务逻辑编写代码,而云提供商则为您处理所有其他硬件和软件需求。降低成本的一些因素包括以下内容:

硬件成本

云提供商以较低的成本拥有、构建和支持硬件资源,而不是您自己建立和运营数据中心、维护硬件以及在支持结束时更新硬件。此外,随着硬件的进步,云提供商能够更快地提供新硬件,而不是您自己建立数据中心。

软件成本

除了构建和维护硬件之外,IT组织的主要工作之一是支持和部署操作系统并进行更新。通常,这些更新涉及计划停机时间,可能对您的组织产生干扰。云提供商在不给您的IT部门增加负担的情况下负责处理这一周期。几乎在所有情况下,这些更新以抽象的方式进行,因此您不需要受到任何停机时间的影响。

按需付费 大多数云服务采用基于订阅的计费模式,这意味着您按照实际使用量付费。如果您的资源仅在一天的某个时间段或一周的某些天使用,您只需支付该时间段的费用,这比始终拥有硬件要便宜得多,即使您不使用它。

弹性扩展 您业务所需的资源具有高度的动态性,有时需要为计划和非计划的使用增加资源。当您维护和运行自己的硬件时,您受到现有硬件的限制,无法支持业务的进一步增长。云资源具有弹性扩展的能力,您可以通过几次点击利用额外的资源迅速应对高需求。

跟上创新 云提供商不断创新,并根据从多个客户那里得到的经验为其服务添加新的服务和技术。利用先进的服务和技术,相比于拥有内部开发人员可能缺乏跨行业所需广度的情况下,有助于您更快地为业务场景创新。

云数据湖架构

要理解云数据湖如何帮助组织满足不断增长的数据需求,首先我们需要了解几十年前数据处理和洞察力是如何运作的。过去,企业通常将数据视为解决业务问题所需的补充。这种方法以业务问题为中心,包括以下步骤:

  1. 确定需要解决的问题。
  2. 定义一个能够帮助解决问题的数据结构。
  3. 收集或生成符合结构的数据。
  4. 将数据存储在OLTP数据库中,如Microsoft SQL Server。
  5. 使用另一组转换(过滤、聚合等)将数据存储在OLAP数据库中;在这里也使用SQL服务器。
  6. 从这些OLAP数据库构建仪表板和查询来解决业务问题。

举例来说,当组织想要了解销售情况时,它会构建一个应用程序,供销售人员输入他们的潜在客户、客户和销售数据,而这个应用程序受到一个或多个操作数据库的支持。可能有一个数据库存储客户信息,另一个存储销售人员信息,还有一个存储销售信息,引用了客户和销售人员数据库。本地部署(称为“on prem”)有三个层次,如图1-4所示:


*企业数据仓库 *

这是数据存储的组件。它包含一个用于存储数据的数据库组件和一个用于描述数据库中存储的数据的元数据组件。

数据集市

数据集市是企业数据仓库的一部分,其中包含以业务或主题为重点的数据库,其中的数据已准备好为应用程序提供服务。仓库中的数据经过另一组转换,以存储在数据集市中。

消费/商业智能(BI)

这包括BI分析师使用的各种可视化和查询工具,用于查询数据集市(或仓库)中的数据以生成洞察力。

本地数据仓库解决方案的局限性

虽然这种架构在为业务提供洞察力方面效果良好,但存在一些关键的局限性:

  1. 高度结构化的数据:这种架构期望数据在每个步骤中都是高度结构化的。正如前面的示例所示,这种假设不再现实;数据可以来自任何源,例如物联网传感器、社交媒体信息和视频/音频文件,可以是任何格式(JSON、CSV、PNG等)。在大多数情况下,无法强制执行严格的结构。
  2. 数据存储的孤立:相同数据的多个副本存储在专为特定目的而设计的数据存储中。这是一个劣势,因为存储相同数据的副本需要付出高昂的成本,而来回复制数据的过程既昂贵又容易出错,导致在复制数据的过程中存在不一致的数据版本。
  3. 针对高峰使用率的硬件规划:本地数据仓库要求组织安装和维护运行这些服务所需的硬件。当您预期需求激增时(例如财年结束预算或假日销售预测增加),您需要提前计划此高峰使用率并购买硬件,即使这意味着一些硬件在其余时间内处于低利用率状态。这会增加总拥有成本。请注意,这特指本地硬件的限制,而不是数据仓库和数据湖架构之间的区别。

什么是云数据湖架构?

正如我们在《什么是大数据?》一文中所看到的,大数据场景远远超出了传统企业数据仓库的范畴。云数据湖架构旨在解决这些确切的问题,因为它们被设计来满足数据和数据来源的爆炸性增长需求,而无需对数据的来源、格式、大小或质量做出任何假设。

与传统数据仓库采用以问题为先的方法不同,云数据湖采用以数据为先的方法。在云数据湖架构中,所有数据都被视为有用的,无论是立即使用还是满足将来的需求。云数据架构的第一步是以原始、自然状态摄取数据,对数据的来源、大小或格式没有任何限制。这些数据存储在云数据湖中,这是一个高度可扩展且可以存储任何类型数据的存储系统。这些原始数据具有不同的质量和价值,并且需要更多的转换才能生成高价值的洞察。

如图1-5所示,云数据湖上的处理系统对存储在数据湖中的数据进行处理,并允许数据开发人员按需定义模式,即在处理时描述数据。然后,这些处理系统对低价值的非结构化数据进行操作,生成通常是结构化且包含有意义洞察的高价值数据。然后,这些高价值、结构化的数据可以加载到企业数据仓库中供使用,或直接从数据湖中使用。如果所有这些概念似乎非常复杂,无需担心——我们将在第2章和第3章中详细介绍这些处理过程。


云数据湖架构的好处

在较高层面上,云数据湖架构通过以下方式解决了传统数据仓库架构的限制:

  1. 数据无限制:数据湖架构由专为摄取、存储和处理各种类型数据而设计的工具组成,而且不对数据的来源、大小或结构施加任何限制。此外,这些系统可以处理实时连续产生的数据以及按计划批量摄取的大量数据。此外,数据湖存储成本非常低廉,因此可以默认存储所有数据,而不必担心费用问题。回想一下,以前使用胶卷相机拍照时可能会三思而后行,但现在使用手机相机可以毫不犹豫地点击拍摄。
  2. 单一存储层,无隔离区:在云数据湖架构中,处理数据发生在相同的存储层,因此不再需要为特定目的使用专用数据存储。这不仅降低了成本,还避免了在不同存储系统之间来回移动数据时可能出现的错误。
  3. 在同一数据存储层上运行多样化的计算:云数据湖架构天然地将计算和存储解耦,因此可以在同一存储层上运行各种数据处理计算工具。例如,可以利用相同的数据存储层进行类似数据仓库的商业智能查询、高级机器学习和数据科学计算,甚至是针对特定领域的定制计算,如高性能计算(如媒体处理或地震数据分析)。
  4. 按需付费:云服务和工具始终以根据需求弹性扩展和收缩的方式设计,可以按需创建和删除处理系统。这意味着在节假日季节或预算结算期间需求激增时,可以选择启动这些系统,而无需将它们保留整年。这极大地降低了总体拥有成本(TCO)。
  5. 独立扩展计算和存储:在云数据湖架构中,计算和存储是不同类型的资源,它们可以独立扩展,从而使您能够根据需要扩展资源。云上的存储系统非常便宜,可以让您存储大量数据而不会让您负债累累。相比之下,计算资源传统上比存储资源更昂贵;然而,可以根据需求启动或停止计算资源,从而提供经济性的扩展。

以一种成本效益的方式处理各种类型的数据的这种灵活性有助于组织实现数据的价值,并将数据转化为有价值的变革性见解。

定义您的云数据湖之旅

我与数百个客户讨论过他们的大数据分析场景,并帮助他们完成了云数据湖之旅的部分工作。这些客户有不同的动机和问题需要解决:一些客户是云计算的新手,希望在数据湖方面迈出第一步;还有一些客户在云上实施了数据湖,支持一些基本场景,但不确定接下来该怎么做;还有一些客户是云原生的用户,希望从应用架构的角度开始使用数据湖;还有一些客户已经在云上实施了成熟的数据湖,并希望利用数据的力量提供与同行和竞争对手相比的差异化价值的下一个层次。如果我必须总结我从所有这些对话中学到的东西,基本上可以归结为两个关键要素:

  • 不论您的云成熟度水平如何,设计数据湖应考虑公司的未来。
  • 根据您目前的需求做出实施选择!

您可能会觉得这听起来太显而易见和太普遍了。然而,在本书的其余部分中,您将会观察到我为设计和优化云数据湖提供的框架和指导,都是基于您不断将自己与这两个问题进行核对:

  1. 什么业务问题推动了对数据湖的决策?
  2. 当我解决了这个问题后,还能做什么来通过数据湖使我的业务具有差异化?

让我给您举一个具体的例子。驱使客户实施云数据湖的常见情况是,他们的本地硬件支持的Hadoop集群即将到达寿命期限。这个Hadoop集群主要由数据平台和商业智能团队使用,用于构建仪表板和数据立方体,其中数据来自他们本地事务存储系统。公司需要决定是购买更多硬件并继续维护本地硬件,还是投资于这个大家一直谈论的云数据湖。云数据湖承诺弹性伸缩、更低的拥有成本、更多可利用的功能和服务,以及我们在前面部分看到的其他好处。

当这些客户决定转向云时,他们面临一个时限,即硬件达到寿命时需要及时处理。因此,他们选择了一种将现有的本地实施方案迁移到云端的提升和迁移策略。这是一种完全合理的方法,特别是考虑到这些是为关键业务功能提供服务的生产系统。然而,这些客户很快意识到以下三个问题: 即使是进行提升和迁移实现也需要很多工作量。 如果他们意识到云的价值并希望添加更多场景,他们会受到设计选择的限制,例如安全模型、数据组织等,这些设计最初假定数据湖上运行一组BI场景。 在某些情况下,提升和迁移架构在成本和维护方面可能会更加昂贵,从而抵消了最初的目的。

嗯,这很令人惊讶,不是吗?这些意外主要源于本地和云系统之间的架构差异。在本地的Hadoop集群中,计算和存储是共存且紧密耦合的,而在云上,理念是拥有一个对象存储/数据湖存储层,例如Amazon S3、Azure Data Lake Store(ADLS)和Google Cloud Storage(GCS),并且提供大量的计算选项,可以作为IaaS(提供虚拟机并运行自己的软件)或PaaS(例如Azure HDInsight、Amazon EMR等)提供,如图1-6所示。在云上,您的数据湖解决方案本质上是您用乐高积木搭建的结构,可以是IaaS、PaaS或SaaS的产品。


我们已经看到了解耦合的计算和存储架构在独立扩展和降低成本方面的优势;然而,这要求您的云数据湖的架构和设计尊重这种解耦合的架构。

例如,在云数据湖的实施中,计算系统通过网络系统与存储系统进行通信,而不是本地调用。如果您没有对此进行优化,会影响您的成本和性能。类似地,一旦您完成了主要的商业智能场景的数据湖实施,您现在可以通过启用更多场景、引入不同的数据集或对数据湖中的数据进行更多的数据科学探索性分析来从数据湖中获取更多价值。与此同时,您希望确保一个数据科学的探索性任务不会意外删除您的数据集,而这些数据集是为您的销售副总裁每天早上要查看的仪表板提供动力的。您需要确保您现有的数据组织和安全模型能够确保这种隔离和访问控制。 将这些令人惊奇的机会与您最初迁移到云的动机联系起来,即您的本地服务器即将到达寿命期限,您需要制定一个计划,帮助您按时完成,并为您在云上的成功做好准备。

您迁移到云数据湖需要实现两个目标:

  • 关闭您的本地系统
  • 在云上为您的成功做好准备

大多数客户最终只关注第一个目标,在重新架构应用程序之前陷入巨大的技术债务中。当您考虑云数据湖架构时,请确保以下内容成为您的目标:

  • 将数据湖迁移到云端。
  • 使数据湖现代化以适应云架构。

这两个目标将携手助您识别出一个能够适应业务日益增长的规模和需求的稳健架构。 要实现这两个目标,您需要了解云架构是什么,实施的设计考虑因素是什么,以及如何优化数据湖的扩展和性能。我们将在第2-4章中详细讨论这些问题。我们还将重点提供一个框架,帮助您考虑云数据湖之旅的各个方面。

总结

在本章中,我们首先讨论了数据的价值主张以及可以改变组织的转型性见解。我们还建立了对云计算的基本理解,以及传统数据仓库和云数据湖架构之间的差异。最后,我们介绍了大数据、云计算和数据湖的概念。鉴于本地和云架构之间的差异,我们强调了一种思维方式的转变的重要性,这种转变进而在设计云数据湖时定义了一种架构转变。当我们深入探讨下一章中云数据湖架构及其实施考虑因素的细节时,我恳请您进行这种思维上的转变。这种思维变革是我在接下来的章节中深入讨论云数据湖架构及其实施考虑因素时强烈推荐您做出的一件事。

阅读量:2032

点赞量:0

收藏量:0