驾驭大数据

转自:http://www.ibm.com/developerworks/cn/data/dmmag/dbt16n2/BigData/index.html

庞大的信息流现在有了新的约束规则。PB 级数据世界内发生了哪些变化?大数据将如何改变您的做事方式?

海量的信息充斥着 IT 世界。这些信息从全球 43 亿部电话和 20 亿位互联网用户生成的数据中流出,与 300 亿个 RFID 标记和数百颗人造卫星和每秒都在不断发送的更多信号融合在一起。当然,没有人会一下子处理全球所有数据。但是当这个数据馅饼变大时,每个人分得的部分也会变大。当您开始以 ZB 为单位衡量这个馅饼时,甚至一小部分也会变得很大。这里有一个具体的统计信息:单单 Twitter 每天就会增加 12 TB 的数据 - 全文本,而且每次最多添加 140 个字符。

这种规模的数据处理是一种新的极限,许多人正在以多种不同的方式接近它。但人们越来越意识到,我们将数据的诞生视为永远不会消失的挑战。一些人将此称为大数据。

大数据:3 个 V

当我们听到词语 “数据” 时,大部分人立即会想到庞大的数据集,当数据量达到 TB 和 PB 级时,它们就需要以不同的方式对待。能够良好地处理较小数据量的算法常常无法足够迅速或有效地处理较大的数据集,没有无限容量这样的东西,无论存储介质和管理如何发展。

但是,数据量(volume)只是大数据挑战的一个方面,其他两个方面指的是速度(velocity)和多样性(variety)。速度表示收集、处理和使用数据的速度需求。许多分析算法可处理大量的信息,前提是您要整晚运行这些算法。但是如果存在实时需要(比如国家安全或儿童健康方面),处理一整晚这样的速度不再够用。

种类表示不断增长的数据类型阵列 —— 音频、视频、图像数据,以及从零售交易、文本消息和遗传密码等丰富多样的来源收集的信息集合。在处理那些可用行和列表示且通过命令(比如 select 和 jion)操作的数据时,传统的分析和数据库方法表现非常优秀。但许多描述我们的世界的要素,既无法硬塞入行和列中,也无法使用那些依赖于一系列 select、join 或其他相关命令的软件来轻松分析。

当您将数量、种类和速度综合起来时,就只能获得一些不能很好地发挥作用的数据。结果,处理大数据需要一定程度的数据库敏捷性,以及难以或者甚至无法单独使用如今的技术实现的可变性。“在传统的数据库中,设计就是一切,” IBM Information Management 项目总监 Tom Deutsch 说。“它只关乎结构。如果数据更改,如果您希望知道的信息更改,或者如果您希望将数据与来自另一种渠道或数据仓库的信息相结合,您必须更改数据仓库的整体结构。对于大数据,您常常要处理不断演化的需求,当然还有大量数据(其中只有一部分是您自己生成的),而且您将希望能够更改您运行的作业,而不是数据库设计。”

了解极限

因为在处理大数据时,只有传统的数据库管理器和数据仓库是不够的,所以许多组织都在调整他们的系统以应付大量 “行为不良” 数据。解决方案各异,取决于它们想要解决的问题的具体性质,一些解决方案应对高速、高容量的信息,而另一些必须处理大量高可变性信息。但是,也可能发现这样一些常见的战略和技巧,它们要么能够减少需要存储或处理的信息量,要么使用能够处理大量新需求的更新、更强大的技术来处理它。

TerraEchos 就是一家处理所有 3 V 数据的公司,它是一家领先的隐秘情报和观测传感器系统提供商,使用了流数据来监控高度安全的设施、国家边界和石油管道破裂。TerraEchos Adelos S4 传感器知识系统将来自埋藏在地下数英里长的光纤传感器的声学读数与来自安全照相机和人造卫星等各种传感器来源的数据相结合。这种海量的高可变性、高速数据(有时在几小时内就会达到几 TB)必须收集,与来自其他渠道的信息相结合,并以极快的速度进行分析,以查找入侵者,检测地震事件或查找设备损坏。

“我们需要在高速传送带传送来数据后立即进行分析。我们不敢奢望首先对它进行结构化并放入数据库中,因为我们希望能够在 2 到 3 秒内对它进行分类,” TerraEchos CEO Alex Philp 说。“使用采样速率为每秒 12,000 个读数的数字信号处理器以及可能数千个不同的数据流,我们必须使用完全不同的方法才能迅速响应,” Philp 说。

对于 TerraEchos,这种铺天盖地的数据的受害者是已经统治数据处理领域几十年的 “提取-转换-加载” 模式:从数据来源提取数据,执行众多耗时的操作来转换它,以便能准确容纳在一种既定模式的行和列格式中,最后将它加载到数据仓库中。公司日渐开始在传入信息到来时即进行转换和分析。如果它遇到某种条件(比如,如果音频流显示出一种听起来像汽车逼近的模式,它会立即进行标记以用于更多分析,常常还会触发其他数据收集和数据存储操作。

“我们常常一次仅分析几秒长度的数据,” Philp 说。“如果我们发现某些东西,我们可以触发相关流程来查找相应的视频流或查找一些有趣内容,而且如果有必要,快速保存特定区域视频监控摄像机数据的一些帧。仍然有大量的流数据,但确实减少了我们必须处理和存储的内容。”

首先过滤,立即询问问题

为了处理传入的大量数据,TerraEchos 使用了专门针对该公司使用的数据流类型而设计的分析。该公司将 IBM® InfoSphere® Streams 整合到了它自己的 Adelos S4 传感器知识系统中。IBM InfoSphere Streams 分析传入的数据并将涉及到的计算工作分配给众多的处理器,它的分析包是专为处理特定的数据类型(比如音频和视频)而设计的。例如,一些分析涉及到对传入的波形进行严格的统计分析,以确定可能威胁的大概性质。

专为特殊数据类型定制的以趋势为导向的专业分析的速度正在提升。例如,针对文本理解的算法分析已用于分析每天生成的海量的音频流和电子邮件,以通过一种能理解结果的方式查找恐怖威胁和转移。

TerraEchos 系统将定制的分析(在这种情况下来自 IBM InfoSphere Streams)与并行处理硬件中的进步相结合,对来自数千个传感器的二进制声学数据执行数百万此并行、快速计算。

许多专家表明这些技术(动态过滤和分析数据,使用能理解如何处理各种 “原生” 格式的数据的定制分析,以及利用庞大的并行处理器阵列处理传入的数据)很快将主导数据处理领域,因为 IT 正在尝试处理以惊人速度移动的高容量、多种类数据的特殊问题。

此命令将告诉您哪些对象存储在指定的缓冲池中,以及有多少数据、索引、长字段、大对象 (LOB) 和 XML 页面目前位于给定对象的缓冲池中。要将表名称与对象 ID 相关联,执行以下命令并留意分配给每个表的 ID(仅被访问的表将在生成的输出中显示):

针对大数据机会的 5 大技能升级

概况:公司将可能花费更少的时间和资金来定义、清理和管理数据和数据仓库结构。相反,他们会将更多时间用于确定如何迅速采集、验证和使用数据,所以这些是需要掌握的技能。

“如今,DBA 和其他 IT 人员花费了大量时间来创建多维数据集并将数据填入它们之中,” IBM 的 IBM InfoSphere Streams 产品经理 Roger Rea 说。“这一现象即将改变。在未来,无需读取数据,进行转换,然后进行加载,您将在查询时尽可能快地加载并转换它。这种新方法更加敏捷,但它意味着我们思考数据的方式的转变。它与依据传统的关系模型来管理数据有很大区别。”

您如何准备抓住新的机会?请考虑以下技能升级:

学习使用新的大数据分析

一些专家预测,数据挖掘软件(比如 BigSheets —— IBM InfoSphere BigInsights 中使用的类似电子表格的界面)将使 IT 专业人员和业务分析师可以更容易地分析大数据。熟悉这些工具和它们的功能可能将为各种 IT 领域的员工带来益处。

在 Java 编程和相关脚本工具中熟练地开发

许多用于处理大数据的程序(比如 Hadoop 和 MapReduce)都是基于 Java 的,所以了解如何使用 Java 编程是一项重要技能。如果您已经熟悉 Java,您可以开始学习 Hadoop 上的在线教程或图书。

了解市场营销和业务基础知识,关注如何使用新数据来源

亲和力计划(affinity programs)通过挖掘客户呼叫中心数据和 Twitter 提要等不同资源,探索影响客户忠诚度的复杂因素。理解如何使用不同的数据来源并将它们应用到这些业务问题中,将变得对各种职位(从市场营销到 IT)更加重要。

基本理解统计知识

分析软件的核心是统计基础知识。了解人口、采样和统计意义的基本知识,将有助于您理解有哪些可能性,更好地理解和解释结果的含义。最佳的学习途径是市场营销和业务运营统计课程,这些课程中的材料更可能被迅速应用。

了解如何组合来自不同来源(尤其是公开来源)的数据

大型数据集的强大用途在很大程度上来源于将专门信息(比如公司收集的销售数据)与公开的数据来源(比如地图信息或政府数据)相结合。只要知道哪些数据可用,常常就会激发关于组合这些信息的可盈利方式的新想法。

分析静态大数据的新技术

尽管很多时候,处理 “移动的” 流信息的更好方式是解决许多大数据挑战,如果静态数据非常多,特别是其中包含的数据变换多端,仅仅处理大量静态数据也非常棘手。有效处理大量此类数据的一种方法是在相对比较廉价的硬件上执行大量并行计算。例如,IBM InfoSphere BigInsights 分析软件起源于开源项目 Apache Hadoop,但使用了它自己的文件系统并添加了其他专门技术。

Hadoop 是一个基于 Java 的框架,支持数据密集型的分布式应用程序,使应用程序能够处理数千个处理器节点和 PB 级的数据。针对顺序读取大型文件进行了优化,它可以自动管理数据复制和恢复。即使特定处理器上发生了故障,数据仍然会被复制,处理也将继续进行而不会中断或丢失剩余的计算结果,这使该系统具有一定的容错能力,能够非常快地排序 TB 级的数据。

为了实现快速和可伸缩性,Hadoop 依赖于 MapReduce,一个简单但强大的并行计算框架。MapReduce 在映射阶段将一个问题分解为数百万个并行计算,并生成键-值对流作为输出。然后 MapReduce 按照各个键改组映射输出,对重新分配的映射输出执行另一项并行计算,在计算的归纳阶段将结果写入到文件系统中。例如,当处理海量的销售交易数据来确定每项产品的销售量时,Hadoop 将对每个包含交易的文件块执行映射操作,计算每笔交易中销售的每项产品的数量,然后在它返回答案时进行 “归纳”。

因为理解和使用此技术非常简单(因为它大体上只有两步),基于映射和归纳的 Hadoop 系统已被用于处理众多的问题,尤其是在社交媒体中。

为流分析提供仓库数据

一些观察者预测,数据仓库将重蹈转盘电话拨号的覆辙,但关于数据仓库即将消失的谣传显然是夸大其辞。数据仓库将继续在许多企业中扮演着重要角色,比如 IBM 的 Deutsch。它们还将更多地用于其他软件中,以 “梳理” 数据中的关系,然后可将这些关系用于处理动态传入的流数据。

“如果没有分析一些历史数据就来查找模式,很难了解到底要在数据流中查找什么,” Deutsch 说。“但仓库数据可帮助您找到这些模式。”

例如,Deutsch 说,当安大略理工大学研究人员最初对从医院新生儿病房采集的数据使用流监控软件时,他们在非结构化的数据中寻找可以预测婴儿疾病恶化或恢复的模式。他们首先分析来自每个婴儿的信息,包括音频记录、心跳速率和其他指标,最终整理出婴儿哭声音频记录中的模式与在几小时后发生的新生儿疾病之间的关联。

这些发现被用于监控新的流数据,以标记出哭声中的变化,为医生和护士提供即将出现的问题的早期预警。分析海量高可变性仓库数据的能力使人们对更改新传入数据流监控方式有了新的认识。

将分析应用于更广泛的用户类型

随着数据集越来越大和分配来处理它们的时间越来越少,亟需寻找更具创意的技术,有助于组织意识到他们将面对一个数据驱动的未来。

单单转变我们查看数据的方式可能很有帮助。“许多人没有真正意识到非结构化数据(比如视频、音频和图像)蕴含着重要信息,但它们确实包含重要信息,” Deutsch 说。“认识到此数据与我们多年来收集的交易数据一样有价值,这很重要,我们必须寻找新的方式来应用该信息。”

有一点很明显:处理大数据的新方式正在加速发展,几乎与驱动它们的信息流一样快。TerraEchos 的 Philp 总结道,“我感觉好像我走在了革命道路的最前沿。”


你可能感兴趣的:(驾驭大数据)