第3讲 处理大数据的技术

第3讲 处理大数据的技术

模块目标

学完本模块的内容,读者将能够:

讨论与大数据相关的主要技术

本讲目标

学完本讲的内容,读者将能够:

解释大数据相关的分布式计算概念

概括Hadoop分布计算环境

解释云计算非常适合于大数据分析的原因

描述大数据内存计算的优点

 

“大数据将导致客户细分的死亡,并迫使市场人员在18个月内理解每一个客户,否则就有被历史所遗弃的风险。”

——Ginni Rometty CER, IBM

 

在第2讲中,你已经概要了解了当今各个行业是如何应用大数据以提高业务决策,并使流程更有效和更有成效的。现在,为了以所需的速度使用大量和多样的数据,一个合适的技术框架是必需的。本讲将会介绍一些与大数据相关的主要技术,这些技术有助于存储、处理和分析数据并提供所需的业务洞察力。

技术的快速发展从根本上改变了数据产生、处理、分析和消耗的方式。组织机构以及互联网捕获和分析的数据量有了巨大的增长,互联网也推动了大型数据来源和有效数据处理的需求。为了满足这一需求,许多技术创新已经应用于操控、处理和分析我们所谓的“大数据”。大数据相关创新中最受欢迎的领域包括分布式和并行计算、Hadoop、大数据云以及大数据内存计算。

本讲的核心关注点是带你领略使大数据解决方案成为可能的各种技术的基础知识。

值得注意的是,在所有这些技术中,Hadoop或许是大数据领域最流行的名词。Hadoop是一个用于存储和处理不同类型数据的开源平台。它使数据驱动的企业从可用数据中,快速获得最大的价值。在本讲晚些时候,你将了解更多关于Hadoop的内容。

3.1 大数据的分布式和并行计算

分布式计算是一种在网络中连接多个计算资源,将计算任务按资源分布,从而提高计算能力的方法。分布式计算比传统计算更快捷、更高效,可在有限的时间内处理大量的数据,因而具有巨大的价值。

为了进行复杂的计算,独立个人计算机的处理能力也可以通过添加多个处理单元得以增强,它通过将复杂任务分解成子任务、同时执行单独子任务的方法,来执行复杂任务的处理。这样的系统通常被称为并行系统。处理能力越强,计算速度就越快。

这两种方法非常适用于大数据分析。让我们来看看这是为什么。

如果不存在一个大的时间约束,组织会选择将他们的数据移动到外部机构中去进行复杂的数据分析。这种方法是相当高效的,因为这些机构专注于提供巨大的数据源和资源进行数据处理和分析。这种方法也是经济的,因为与组织机构在内部进行这些任务所导致的费用相比,这些机构收取的费用是较低的。

技术材料

 

分布式计算已经出现了大约50年。最初,该技术作为一种在不投入大型计算系统费用的情况下扩展计算任务和攻克复杂问题的手段,用于计算机科学研究。

图1-3-1显示了分布式系统和并行系统的比较。

图1-3-1 分布式系统和并行系统的比较

此外,如果组织机构自行分析数据,在大多数情况下,由于成本问题,他们仅仅捕获和分析了可用数据的一个样本,而不是所有的数据。这一分析的结果,几乎等同于分析样品的结果。

今天的市场和企业竞争残酷。同时,可用的数据量、数据多样性和数据速度以天文数字激增。为在市场上获得优势,组织机构觉得需要在很短的时间内分析所能得到的所有数据。这显然导致了对大容量存储和处理能力的需求。

今天的技术发展已经推动和确立了新的复杂数据的存储、处理、分析方法,并创造了更强大的硬件。

为了利用这些强大的硬件执行复杂的数据分析,编写了新的软件,新的软件遵循以下步骤:

(1)把工作分解成更小的任务;

(2)调查所有手头的计算资源;

(3)在网络中高效地分配任务到互联的节点或计算机。

软件也开始被用于防范资源故障。这通过利用虚拟化,将作业委托给另一个资源来完成。

尽管有这些技术上的发展,但是延迟的问题仍然存在。延迟是系统延时的总和,因为涉及大量数据的单个任务会造成延时。如果你使用过无线电话,就可能亲身体验过延迟——你和来电者之间的通信迟滞。

这种延迟会导致组织内部以及和客户及其他外部利益相关者之间的系统执行、数据管理和通信速度的下降。

常规的大数据应用通常会遭受延迟问题的困扰,因此性能水平较低。这对企业来说是一个潜在的问题。只要企业允许在后台从事数据工作,它们就可以处理延迟;然而,只要形势需要在企业和消费者之间快速通信以及快速访问和分析数据,问题就浮出水面了。

作为应对这些问题的措施,分布式和并行处理技术不仅为在一段时间内处理大量数据提供了具体解决方案,还提供了处理延迟的方案。

定  义

 

分布式计算系统是一个独立、自治、互联的计算机集合,能够协调和相互配合完成某项任务。

并行计算是指多个计算单元或处理器的同时使用,其中每个处理单元以更快的速度并行解决计算问题的不同部分。

 

预备知识 了解分布式计算的背景知识。

 

通过分布式计算的大数据处理流程如图1-3-2所示。

正如你在图1-3-2中看到的那样,节点是包含在一个系统集群或机架内的元素。节点通常包括CPU、内存和某些种类的磁盘;但是,节点也可以是依赖附近存储的刀片CPU和内存。

图1-3-2 大数据分布式计算模型的工作流程

在大数据环境中,通常聚合这些节点以提供伸缩性;这样,随着数据量的增长,可以添加更多的节点到集群中,这样它可以不断扩展以适应不断增长的需求。

分布式计算也促使负载平衡和虚拟化成为可能。负载平衡是一种在多台计算机之间分布网络工作负载的技术。虚拟化是指创建一个虚拟环境,包括硬件平台、存储设备和操作系统(OS)。

分布式计算的发展帮助组织机构利用了所有的可用数据(而不仅仅是一个样本),在内部分析他们的复杂数据。

附加知识

 

分布式系统

并 行 系 统

通过网络连接以完成特定任务的独立计算机系统集合

连接多个处理单元的计算机系统

连接的计算机可以相互配合,是有独立处理单元和内存空间的自治系统

所有的处理单元共享共同的、可被处理单元直接访问的内存空间

连接的计算机是松散耦合的,可以访问位于远程的数据和资源

这些系统是紧密耦合的,通常用来解决单一复杂问题。

3.1.1 并行计算技术

表1-3-1展示了一些当今用于处理每天产生的高速、海量数据的并行计算技术。

表1-3-1 并行计算方法

并行计算方法

描  述

使  用

集群或网格

多个服务器连接形成网络,这样就可以在它们之间共享工作负载。装备同类型商用硬件的集群称为同构集群。装备不同硬件组合的集群称为异构集群

组织机构可以利用在一段时间内获得的硬件组件,形成一个集群或网格。这种方法通常具有成本效益。同时,虽然整体成本可能很高,但网格提供了具有成本效益的存储解决方案

大规模并行处理(MPP)

MPP平台是像网格一样工作的单一机器。它处理存储、内存和计算任务。这些功能通过为MPP平台专门编写的软件来优化。该平台还为可伸缩性进行了优化

MPP平台适用于高价值的用途。EMC Greenplum和ParAccel是MPP平台的例子

高性能计算(HPC)

HPC环境提供非常高的性能和可伸缩性。它们使用内存技术,用于高速浮点处理。在下面的小节里,你会读到更多关于内存技术的内容

HPC是专业应用和定制应用开发的理想环境。这些环境适合于研究或商业组织,在这种环境中,因为结果非常有价值或者项目在战略上很重要,高成本是可以接受的

 

附加知识

 

公共云环境是一种可以通过互联网访问的集群或网格类型。云拥有者或供应商开发了一个集群,然后允许用户使用它来进行付费的存储或者任务计算。Amazon和EC2是公共云的实例。公共云使企业能够灵活地按需使用(即购买)计算能力。这是公共云的优点以及普及原因。在私有云的环境下,一个组织机构的集群是私有的,需要通过它的网络来访问。私有集群适合于对数据隐私有高度优先级的企业。私有云的成本会分摊到各个业务单位。

在本讲稍后,你会了解到更多关于公有云和私有云的知识。

3.1.2 虚拟化及其对大数据的重要性

  • 实现虚拟化的过程是为了把可用的资源和服务从基础物理环境中隔离开来,使你在单一物理系统中建立多个虚拟系统。公司实施虚拟化,以提高处理不同工作负载组合的性能和效率。
  • 解决大数据的难题通常需要管理大量高度分布的数据存储,使用计算和数据密集型应用程序。虚拟化提供了更高的效能,使大数据平台成为了现实。虽然从技术上说虚拟化不是大数据分析的需求,但大数据环境中使用的软件框架(如MapReduce)在虚拟化环境中更有效率。
  • 除了封装、隔离和分区等特性,大数据虚拟化成功的最重要需求之一是具有合适的性能水平,以支持大量不同类型数据的分析。
  • 当用户开始利用如Hadoop和MapReduce这样的环境时,拥有一个可伸缩的支撑基础设施也是至关重要的。虚拟化在IT基础设施的每一层都提高了效率,并提供了大数据分析所需的可伸缩性。

3.2 Hadoop简介

在处理大数据源时,传统的方法达不到要求。你需要一个设计用于应对大数据所提出的挑战的产品和技术集合。

Hadoop是一个开源平台,被设计用于处理数量巨大的结构化和非结构化数据——大数据。处理这样的海量数据,需要深入的分析技术,这需要更强大的计算能力。

这种海量数据分析在传统上已经可以通过分布式计算完成。除此之外,用户还可以选择使用Condor等现有系统进行计算机网格调度;然而Condor没有自动数据分布功能;除了计算集群之外,它还需要一个独立的系统区域网络(SNA),同时还需要一个通信系统(如MPI)来实现在多个节点之间的协调。这个编程模型不仅很难,而且增加了错误的风险。

Hadoop引入了简单编程模型,它可以让用户创建和运行分布式的系统,而且速度也相当快。Hadoop利用了CPU核心的并行计算工作原理,能够有效、自动地在机器之间分布数据。

下面是Hadoop的一些显著特征。

  • Hadoop可以工作在大量不共享任何内存或磁盘的机器上。这解决了高效存储和访问这两个共生的大数据问题。
  • 因为Hadoop将数据分布于不同服务器,所以当数据加载到Hadoop平台上时,存储得到了改善。
  • 因为Hadoop可以跟踪存储于不同服务器上的数据,访问得到了改善。
  • 由于Hadoop使用所有可用处理器并行运行计算任务,改善了处理性能。这样,不管是应对庞大多样的数据还是处理复杂的计算问题,Hadoop都保持了性能。
  • Hadoop通过保留多份在服务器失效时可用的数据备份,提高了恢复能力。

了解Hadoop是如何运作的

那么Hadoop是如何使用多个计算资源来执行一个任务的呢?

Hadoop的核心部分有如下组件。

  • Hadoop分布式文件系统(HDFS):可靠、高带宽、低成本的数据存储集群,便于跨机器的相关文件管理。
  • Hadoop的MapReduce引擎:高性能的并行/分布式 MapReduce算法数据处理实现。

Hadoop被设计用来处理大量的结构化和非结构化数据,以Hadoop集群的形式在商业服务器机架上实施。每个服务器独立进行自己的工作并返回它的响应。也可以从集群中动态移除或添加服务器,因为Hadoop能够检测变化(包括失效),并根据这些变化进行调整,持续运行而无需中断。

MapReduce是一种编程模型,可将任务映射(map)到不同的服务器上,并把响应归约(reduce)为一个结果。如前所述,Hadoop MapReduce是一个由Apache项目开发和维护的MapReduce算法实现。该算法提供了将数据分解为易于管理的块,在分布式集群上并行处理数据,然后使数据可供用户消费或额外处理的能力。

MapReduce的映射(map)组件将编程问题或任务分布到大量系统中,并用平衡负载和管理失效恢复的方式处理任务的放置。在分布式计算完成之后,另一项功能归约(reduce)聚合所有的元素,提供一个结果。

当Hadoop接收到一个索引作业时,组织机构的数据首先被加载到Hadoop软件中,然后,Hadoop将数据分为不同的块,把每一块数据发送到不同的服务器。Hadoop通过将作业代码发送到所有存储相关数据块的服务器的方式来跟踪数据。此后,每个服务器将作业代码应用于所存储的部分数据,并返回结果。

最后,Hadoop整合来自于所有服务器的结果,并返回结果,如图1-3-3所示。

图1-3-3 MapReduce中作业跟踪流程的展示

下面的例子有助于更好地理解Hadoop是如何工作的。

考虑一个城市里的所有的电话呼叫记录。假设研究人员想要知道在特定事件发生时打电话的大学生数量。索引查询将指定相关的用户信息和事件的时间。每个服务器将搜索它的呼叫记录集合,并返回匹配查询的那些记录。Hadoop将所有这些集合组合成一个结果。

假设,所有的电话呼叫记录都以csv格式存储在服务器上。首先,数据在Hadoop上加载,接着用MapReduce编程模型处理数据。

假设在csv文件中有5列:

  • user_id
  • user_name
  • city_name
  • service_provider_name
  • call_time

要找到在特定时间内打电话的用户(学生)数量,学生是由user_id标识的。

最终的输出是在特定时期内(如晚上9~10点)打电话的用户总数。

为了得到最终的输出,数据逐行通过各个映射组件(mapper)。在映射作业完成之后,Hadoop框架整理或排序并分组这些数据,并将其发送到提供最终输出的归约组件(reducer)里。

Hadoop平台也有利于在多台机器上的数据存储。这项能力允许一个企业使用多台商业服务器,并在每一台上运行Hadoop,而不是建立一个整合的系统。

附加知识

 

搜索引擎的领导者(如Yahoo!和Google)正在寻找一种方式,使他们的引擎每分钟都在收集的大量数据变得有意义。他们想了解收集的信息是什么,以及如何利用这些数据去盈利。这推动了Hadoop的发展,因为它为Yahoo!和Google这样的公司轻松管理大量数据指出了最明智的方式。Hadoop最初是由Yahoo!的一位名叫Doug Cutting的工程师开发的,现在是一个由Apache软件基金会管理的开源项目。

 

总体情况

 

Hadoop越来越多地被想要进行大数据分析的企业使用,因为这样的分析需要处理大数据问题。正如你所知的那样,Hadoop可将大问题分解成更小的元素,这些元素可以用更快、更有成本效益的方式分析。也可以将大数据问题分解成可以并行处理的小部分,然后由分析组件重新组合并呈现结果。

 

知识检测点1

 

1.讨论分布式计算如何使你能够在社交媒体上搜索过去24小时内关于特定品牌的评论。

2.在互联网上搜索和阅读Hadoop的工作方式。讨论你认为Hadoop最有趣的方面。使用下列资源。

  • Brian Proffitt 所著的“Hadoop: What Is It and How It Works”(2013年5月23日):http://readwrite.com/2013/05/23/hadoop-what-it-is-and-how-it-works#awesm=~ocZfPelQi3rXOV。

  • 杜克大学的“How Hadoop Works”:https://www.cs.duke.edu/courses/fall10/ cps216/ Lectures/how_hadoop_works.pdf。

3.Hadoop以怎样的方式实施分布式计算?并解释说明。

3.3 云计算和大数据

任何组织机构为了存储和管理大数据,都需要预测硬件和软件的需求。需求可能随着时间的变化而变化,这可能导致资源利用不足或者是过度利用。此外,硬件设置和软件安装都需要组织机构的大量投资,组织机构通常会面临资源、成本和利用率的问题。

云计算是一种提供共享计算资源集合的方法,这些资源包括应用程序、存储、计算、网络、开发、部署平台以及业务流程。云通过提供可水平扩展的、经过优化的、支持大数据实际实施的架构,在大数据世界中扮演着重要的角色。要在现实世界中运营,云必须实现通用的标准流程和自动化。

图1-3-4显示了云计算模型。

图1-3-4 云计算模型的工作

基于云的应用平台使应用程序很容易获得计算资源,并根据使用的服务和组件为相应的资源付款。在云计算的背景下,这样的功能被称为弹性——只需点击按钮和支付,就可以动态地调节和访问计算资源;然而,在这样的情况下,组织机构需要监控和控制云计算资源的使用,否则产生的费用会出人意料的大。

在云计算中,所有的数据被收集到数据中心,然后分发给最终用户。而且,自动数据备份和恢复还能够确保业务连贯性。

云与大数据分析互补的主要原因是:和大数据一样,云也使用分布计算。

与现实生活的联系

 

想想GoogleAmazon。两家公司都需要有很强的海量数据管理能力,以推动它们的业务。它们需要可以支撑超大规模应用的基础设施和技术。考虑它们工作中的一个部分:Google每分钟都要处理数以百万计的Gmail邮箱消息。Google已经能够优化Linux操作系统和它的软件环境,有效地支撑电子邮件,并能够捕捉和利用有关其邮件用户和搜索引擎用户的大量数据,以驱动它的业务。同样,Amazon的IaaS数据中心经过优化,协助大规模的工作负载来对无数的中心提供服务和支持。这两家公司也都提供了一系列基于云的大数据服务。

3.3.1 大数据计算的特性

下面是一些云计算适于大数据分析的特性。

  • 可伸缩性:即使组织机构提高了硬件的处理能力,对于在新硬件上运行的软件,它们也可能需要改变架构和面临新问题。云对此提供了解决方案。它通过使用分布式计算提供了可伸缩性。
  • 弹性:云解决方案允许客户根据需求,付费使用合适数量的云服务。例如,某企业预计在商店促销时会有更多的数据,可以在这段时间购买更多的处理能力。另外,客户不必事先指定使用量。
  • 资源池:使用类似计算资源的多个组织机构不需要对其单独投资。云可以提供这些资源,而且,因为这些资源被许多组织机构使用,云的成本得以降低。
  • 自助服务:客户可以通过用户界面直接访问云服务,选择他们想要的服务。这是自动的,不需要人为干预。
  • 低成本:企业不需要为了处理大数据分析等大型操作,对计算资源做大规模的初始投资。它们可以注册一个云服务,在使用的时候进行支付。在这个过程中,云供应商享有规模经济的优势。这也有利于客户。
  • 故障容错:如果云的一部分失效了,其他部分可以接管并为客户提供不间断的服务。

技术材料

 

多个租户或客户使用云上的软件的单一副本的情形,称为多租户云。

 

技术材料

 

许多组织机构使用公共云或私有云。组织机构并不是单独使用它们,而是将两种云组合为混合云。在两种云之间形成许多连接,通过自动化运营提高效率。

3.3.2 云部署模型

云部署模型回答了关于所有权、操作和使用的问题。公共和私有是两种云部署模型。

  • 公共云:公共云是由一个组织机构拥有并运营的,供其他组织机构和个人使用。公共云提供一系列的计算服务。对于每类服务,为特定类型的工作负载进行了专门化。通过专门化,云可以定制硬件和软件以优化性能。定制使得计算过程具备了高度可伸缩性。例如,一个云可以专注于为了YouTube或Vimeo上的视频直播而存储视频,并为处理大流量而优化。
  • 对于企业来讲,公共云提供了经济的存储解决方案,是一种处理复杂数据分析的有效方式。这些因素有时比安全和延迟的问题更为重要,这是公共云的固有特性。
  • 私有云:私有云是组织机构为了自身目的而拥有和运营的。除了员工,组织机构的合作伙伴和客户也能使用私有云。
  • 私有云是专为一个组织机构设计的,并结合了组织机构的系统和流程,包括可以集成到云中的组织机构业务规则、管理政策和合规性检查。因为多个客户提供了不同的规格,有些事情需要在公共云上手工操作,但可以在私有云中自动进行。因此私有云是高度自动化的,也受到了防火墙的保护。这减少了延迟,提高了安全性,使其成为了大数据分析的理想选择。

总体情况

 

除了应用于大数据分析,云还可用于存储、备份和客户服务等其他目的。随着越来越多的人使用计算机,商业任务已经转移到了笔记本和移动设备上,后续将转移到云上。消费者可以从他们的家中订购产品,商店接收到订单后将指令发送到交付该产品的仓库。该商店可以使用云接收订单和发送指令,处理付款和跟踪支付。不使用云计算,这些任务也可以完成,但是云计算降低了基础设施成本,并提供了可伸缩的内容存储。

3.3.3 云交付模型

正如前面所讨论的,云将硬件、平台和软件作为服务交付。因此,云服务分为如下几类。

  • 基础设施即服务(IaaS:基础设施是指硬件、存储和网络。当你为了在云端保存假日照片而付费时,使用的就是公共IaaS。当一个员工在组织机构的备份服务器上保存工作报告时,该员工使用了私有IaaS。IaaS将硬件、存储和网络作为服务提供。IaaS的例子有虚拟机、均衡负载器和网络附加存储。
  • 企业通过使用公共云IaaS,可以在物理基础设施上节省投资。企业可以选择操作系统,而且可以利用IaaS建立具有可伸缩存储和处理能力的虚拟机。
  • 平台即服务(PaaS:PaaS提供了一个编写和运行用户应用程序的平台。平台指的是操作系统,它是中间件服务、软件开发和部署工具的一组集合。PaaS的例子有Windows Azure和Google App引擎(GAE)。
  • 当一个组织拥有PaaS私有云时,业务单元的程序员可以按需创建和部署应用。PaaS使得尝试新的应用变得更加容易。
  • 软件即服务(SaaS:SaaS提供可从任意地方访问的软件。客户可以在云上使用软件,而不需要购买和在自己的设备上安装。这些软件应用程序提供月度或年度合同。为了使SaaS正常工作,基础设施(IaaS)和平台(PaaS)必须到位。

组织机构可以在它的私有云中维护定制开发的软件,并将其链接到存储在公共云中的大数据。在一个混合云中,应用程序可以利用私有云和公共云的优势,有效地分析数据。

3.3.4 大数据云

在云中,大数据有许多种部署和交付模式。大数据需要分布式的计算机集群能力,这就是云的架构方式。各种云的特性使其成为了大数据系统的重要组成部分,是一个理想的大数据计算环境。

下面是云在大数据领域应用的一些例子。

  • 公共云中的IaaS:使用云提供商的大数据服务基础设施,提供几乎无限的存储和计算能力。
  • 私有云中的PaaS:PaaS供应商开始将大数据技术(如Hadoop和MapReduce)加入其PaaS产品中,这消除了管理单个软件和硬件元素的处理复杂性。
  • 混合云中的SaaS:许多组织机构都认为需要分析客户的呼声,特别是社交媒体上的意见。SaaS供应商提供了分析平台以及社交媒体数据。此外,企业CRM数据可以在私有云中用于这样的分析。

3.3.5 大数据云市场中的供应商

已有和新建的云服务提供商很多,其中一些专门为大数据分析提供资源。我们将讨论其中3个。

Amazon

Amazon IaaS(称为弹性计算云,即Amazon EC2))的开发是该公司用于自身业务的大规模计算资源基础设施的产物。这些基础设施实际上没有被完全利用,因此,Amazon决定将其租出去并赚取收入。“弹性”这个词在字面上是有道理的,因为这些资源可以以小时为单位缩放。

除了Amazon的EC2,AmazonWeb服务还提供以下服务。

  • Amazon MapReduce:利用Amazon EC2和Amazon简单存储服务(Amazon S3),提供高成本效益的大数据量处理的Web服务。
  • Amazon DynamoDB:NoSQL数据库服务,可以在固态驱动器(SSD)上存储数据项和复制数据,具有高可用性和耐久性。
  • Amazon简单存储服务(S3:在互联网上用于存储数据和用于网络规模计算的Web接口。
  • Amazon高性能计算:具有高带宽和计算能力的低延迟网络,能解决教育和商业领域问题。
  • AmazonRedShift:PB级规模的数据仓库服务,以高成本效益方式利用现有商业智能工具进行数据分析。

Google

Google有下列为大数据设计的云服务。

  • Google计算引擎:一种安全、灵活的虚拟机计算环境。
  • GoogleBigQuery:一种桌面即服务(DaaS)产品,以SQL格式的查询为基础,高速搜索大数据集。
  • Google预测API:在每一次使用中,从数据中识别模式、存储模式并改进模式。

Windows Azure

在Windows和SQL抽象的基础上,微软的PaaS产品中已经包含了一套开发工具、虚拟机支持、管理和媒体工具以及移动设备服务。对于具有深厚的.NET、SQL Server和Windows专业知识的客户来说,采用基于Azure的PaaS十分简单。为了解决将大数据集成到Windows Azure解决方案的新需求,微软还添加了Windows Azure HDInsight。HDInsight基于Hortonworks数据平台(HDP),据微软所说,HDInsight提供了与Apache Hadoop 100%的兼容性,支持与微软Excel和其他商业智能工具的连接。此外,Azure HDInsight还可以部署到Windows Server上。

HDInsight服务使Hadoop可作为云中的一个服务使用。它以更为简单和高成本效益的方式提供了与Hadoop分布式文件系统(HDFS)及MapReduce相关的框架。HDInsight服务的特性之一是高效的数据管理和存储。

HDInsight也使用Sqoop连接器,使用Sqoop连接器可以从Windows Azure SQL数据库将数据导入HDFS,也可以从HDFS导出数据到Windows Azure。

3.3.6 使用云服务所存在的问题

在决定实施云解决方案——或者任何解决方案之前——组织机构必须仔细地检查该解决方案的优势和劣势。我们已经了解了赞成使用云服务的论点。以下是在使用云服务中存在的一些问题,以及组织机构应当采取的预防措施。

  • 数据安全:为了保持组织机构的数据安全,云提供商必须仅允许组织机构的指定人员访问数据。组织机构必须确保它们与云服务提供商的协议涵盖了数据安全。
  • 性能:必须在协议中尽可能量化地规定云性能参数。必须清楚地注明例外情形。大多数云提供商有一份现有的服务水平协议(SLA)。SLA是指规定了服务使用者和服务提供商之间关于服务质量和时效性的所有条款和条件的文件。
  • 依从性:云必须符合业务的合规性需求,特别是企业所在行业的监管合规性。例如,医疗保健机构必须保护患者信息的机密性,而云提供商必须保证所需的安全等级。
  • 法律问题:由于数据存储的位置,可能会出现一些法律问题。组织机构必须确保云的物理资源位置不会带来任何法律问题。
  • 成本:虽然云通常比内部解决方案便宜,但是组织机构应该意识到使用云涉及的所有费用,并以受控的方式使用该服务,持续监控使用情况。
  • 数据传输:组织机构应当确保云提供商接收数据的方法是可行的和经济的。

知识检测点2

 

1.你认为组织机构的规模是决定是否使用云端的基础设施、平台或软件的一个因素吗?请加以论证。

2.你认为制造业和服务业的组织机构使用云的方式有不同吗?举例说明。

3.假设你进口欧洲葡萄酒,并在全国分销。你想知道人们在社交媒体上对于你的酒和通常的酒都说些什么。在Amazon或Google中,你会选择哪家的服务?请解释。

4.研究医疗保健、酒店或任何你所选择的行业的监管合规性。解释监管合规是否影响云服务的选择。

3.4 大数据内存计算技术

现在,我们已经知道,大数据分析的处理能力需求可以通过分布式计算来满足。处理能力和速度还可以通过内存计算(IMC)进一步得到提升。

如果数据以行和列呈现,其处理是简单和快速的。这样的数据被称为结构化数据,它有一组变量,每个变量取得特定的值;然而,今天正在生成的数据中许多都是非结构化的

大数据分析必须能够处理数据量和占比都不断增长的非结构化数据。IMC为这一能力的实现提供了解决方案。

今天,组织机构希望持续跟踪消费者的活动并立即做出反应。生产过程和质量控制也跟踪了大量的信息,并且需要快速反应。这种实时分析需要大量的处理能力,IMC使之成为了可能。

内存计算的工作原理

早些时候,数据存储在称为辅助存储器的外部设备上。需要该数据工作的时候,用户必须使用输入/输出通道从外部源访问它。数据被临时移动到主存储器中进行处理。这个过程很耗时,但节省了金钱,因为辅助存储器比主存储器便宜。

IMC使用在主存储器(RAM)中的数据,这使得分析更快。同时,主存储器的成本已经降下来了,因此,它可以用于存储数据。该应用程序驻留在和数据存储同样的地址上,因此分析的速度更快。数据库查询和事务还是像先前工作的方式一样工作,但会更快地返回结果。   

图像说明文字

结构化数据存储在关系数据库中(RDB),使用SQL查询进行信息检索。非结构化数据包括广泛的文本、图像、视频——网页和博客,商业报告和新闻稿,电子邮件和短信。信息一般通过关键字搜索来检索。存储这类信息的数据库被称为NoSQL数据库。如果你通过在运营商网站上填写一个表格,查询一个电话号码,访问的就是结构化数据。如果你在Google中输入一个名字,找到该人的网页、博客和生日视频,访问的就是非结构化数据。

IMC处理大数据的数据量,NoSQL数据库处理大数据的多样性。

总体情况

 

大型组织机构将数据存储在一个中央数据库中,所有的用户都必须从那里访问它,这通常通过IT部门完成。内存技术使得部门或业务单元可以获取组织机构数据中和他们的需求相关的那一部分,并且在本地处理。这减少了中央仓库的工作负载。用户不需要IT部门处理数据。

 

知识检测点3

 

1.讨论计算机内存是如何被使用和被优化的。依据所学知识解释IMC实现了什么目标。

2.访问报纸、杂志或学术期刊的网络档案。进行关键字搜索。你找到你要找的东西了吗?有多少不相关的搜索结果?如何能改善搜索词?

练习

基于图的问题

下列哪一幅图代表了内存计算?

多项选择题

选择正确的答案。在下面给出的“标注你的答案”里将正确答案涂黑。

1.分布式计算的哪个独特的特性提高了处理能力?

  a.在多台计算机之间分布计算任务

  b.添加更多的高容量磁盘

  c.将结果分发给网络中的几个用户

  d.将计算任务移动到云中

2.为什么大数据应用容易受到延迟影响?

  a.数据量太大,不能被快速分析

  b.大数据可能存在于应用程序中的不同位置

  c.大数据不能在内存计算中使用

  d.大数据应用仍处于发展的早期阶段

3.哪3个是主要的并行计算平台?

  a.IaaS、PaaS、SaaS

  b.集群或网格、MPP、HPC

  c.数据库、SQL、网络

  d.网络、云、多租户

4.Hadoop如何使用计算资源?

  a.只将数据分布到计算资源中

  b.将软件分布到计算资源中

  c.将数据和计算任务分布到计算资源中

  d.为计算资源创建共享内存

5.Hadoop如何使得系统更具弹性?

  a.使用有效的防火墙和防毒软件

  b.保持多份数据备份

  c.上传数据到云端进行备份

  d.保持每个计算资源的隔离

6.相比于内部分析,公共云的缺点是什么?

  a.延迟和数据安全的风险

  b.延迟和软件不兼容

  c.高成本和数据安全的风险

  d.高成本和场所的法律风险

7.下面哪一个是混合云中的适当的组合?

  a.私有云中的备份;公共云中的人力资源政策

  b.私有云中的内部流程;公共云中的大数据

  c.私有云中的客户通信;公共云中的财务合规性

  d.私有云中的大数据;公共云中的备份

8.下列哪一个是小企业为了能在云上使用会计软件而必须选择的?

  a.基础设施

  b.平台

  c.基础设施和平台

  d.平台和数据

9.云如何能为计算资源提供具有成本效益的解决方案?

  a.与云供应商谈判,以降低资源的价格

  b.每个资源都有多个用户,分摊成本

  c.所有的计算资源都位于低成本地区

  d.分布式计算降低了每个资源的成本

10.一个拥有客户机密信息的企业,想要使用公共云来备份。企业必须确保下列哪一项?

  a.云资源与业务的硬件和软件相兼容

  b.在服务协议中,详细规定云的预期性能

  c.云允许访问政府监管机构和授权的第三方

  d.云仅允许业务指定的人员访问数据

标注你的答案(把正确答案涂黑)

测试你的能力

美国政府的机构公布了大量数据。对于你感兴趣的任何城市或任何地区,审查从美国人口普查局、商务部、卫生部或其他你希望的机构那里得到的数据。首先,描述可用的数据类型并解释其重要性。接着,想想它的可能用途,描述企业如何分析数据以及他们可以期望从分析中学到什么。你不需要执行任何计算或做任何分析。

备忘单

  • 分布式计算是一种在网络中连接计算资源并在资源中分布计算任务的方法。
    • 它可以更快地处理数据。
    • 它使组织能够在内部进行复杂的分析。
  • 大数据应用很容易受延迟影响。
    • 延迟是执行单个任务的延时。这些延时增加了系统的延迟。
  • 计算平台有以下3种主要类型。
    • 集群或网格,这是一种或多种网络中服务器连接的类型。
    • 大规模并行处理(MPP),这是以类似于网格的方式工作的单一机器。
    • 高性能计算(HPC),用于专业应用程序和定制应用程序开发。
  • Hadoop是一个设计用于从事大数据工作的开源平台。
    • 它可以在没有共享内存或磁盘的机器上工作。
    • 它将数据和计算任务分发给服务器。
    • 它处理大量的数据。
    • 它处理具有结构化和非结构化部分的数据。
  • 云是一个集群或网格,把计算资源租给用户。
    • 云使中小企业的大数据分析变得更为容易。
    • 它是可伸缩的,这样用户可以根据自己的需要购买计算资源。
    • 云的类型——公共云、私有云和混合云。
    • 它将基础设施、平台、软件和数据作为服务提供。
    • 云提供商提供了专为大数据设计的资源。
    • 云的问题是数据安全、合规性、性能、成本以及法律方面的考虑。
  • 内存计算(IMC)使用主存储器(RAM)中的数据。
    • 它使更快速的分析和实时分析成为了可能。
  • 大数据的非结构化部分存储在NoSQL数据库中。
    • 可以利用关键字进行检索。

目录

相关技术

推荐用户