基于云的大数据解决方案的十大考虑因素

在云中搭建一个大数据环境更容易

作者重点介绍了公司在启动一个大数据项目(甚至是被当作测试的项目)时应考虑的十大因素。文中着重介绍了一个基于云的解决方案,因为它解决了开始实现大数据项目时遇到的许多复杂技术因素。

David Gillman, 服务总监, Data Sooner

David Gillman 的照片David Gillman 在商业智能、数据挖掘和预测分析领域工作了 20 年。他拥有应用数学、优化和统计分析的教育背景,专攻这些技术在商用活动上的应用。他在通过应用分析改进经销、制造、零售和食宿行业中各种规模组织的业务运营方面拥有实战经验。



2013 年 4 月 15 日

大数据作为 IT 领域的一个概念已经被很多人所认同。正如 IT 领域的许多方面一样,新技术最初由大型企业先使用,然后在整个使用曲线的晚期,中小型企业才开始使用它。大数据似乎也经历了相同的过程。

随着大数据在真实世界中不断发展,它逐渐被应用于不那么大的数据元素。大部分标准认为较小的数据集正通过特定于大数据架构的方式被大数据工具处理。

尽管如此,人们一致认为未来会有更多的数据,而不是更少;更多数据源会将数据发送给企业,数据流动速度将有增无减。这就是大数据未来的用武之地。关于这个领域,出现的一个问题是大数据将位于何处(在内部还是在云中)以及您必须在哪些时刻考虑选择使用这些服务。

基于云的大数据解决方案的定义

像处理云的大部分解决方案一样,准确定义云可能有些棘手。大数据领域存在许多不同的云特征,没有一个定义是通用的(但一些定义比其他定义更好)。

首先,让我们来玩一个文字游戏。当传入数据的数量、种类和速度太大,以至于难以实时处理和使用当前的关系数据库时,就会达到大数据状态。在大数据项目中部署一些技术是对处理该条件和提供富有成效地使用该数据的新方法的尝试,而这意味着需要使用一些硬件并提供一种组织数据以便快速存储和快速读取数据的新方法。这就是大数据的本质。

它也是 Apache Hadoop、MapReduce 以及类似的项目和产品存在的理由。基于云的大数据环境需要能够引用外部数据,比如企业资源规划系统和其他内部数据库,定期使用新鲜数据来更新它。(这里的外部 表示大数据沙盒以外的地方。)

这一步负责数据的 “存储”。接下来您需要获得一种分析它将在何处影响业务流程并展示分析结果的方法。

大数据服务需要能够查看数据中心外部的各种不同的数据源,能够将新数据包含在数据中心内,容纳尚未考虑过的新数据元素,并提供一种分析和报告所有这些数据的方法。可伸缩性、灵活性和可扩展性方面的需求使它更适合大数据环境,而不是云服务。


开始实现基于云的大数据项目

这些考虑因素涵盖了实现大数据项目的基本评估条件。启动、实验和不断学习,您提供的关于想从大数据获取的信息的定义越多,您的实验就越有针对性,您就能越快地积累技能集。

1. 对所有机器数据建立通用的实时索引

这是大多数人所认为的大数据的核心;它常常相当于开源项目 Hadoop(参阅 参考资料)。不要将 Hadoop 中的索引与关系数据库中的索引搞混淆:Hadoop 索引是一种文件索引。因此,Hadoop 可获取许多不同类型的数据。

公司可能已被来自射频 ID (RFID) 移动、网站点击和其他可能结构化的数据(如果 IT 人员花一些时间将它们转换为结构化数据并放在关系数据库中)的要求所淹没。如果您知道将如何使用这些数据,如何在未来查询和访问它,那么在处理这些提要方面进行投资是值得的。

您无需知道数据的未来潜在用途,Hadoop 提供了解决办法。通过按原样获取传入的数据,大数据将数据定义步骤推迟到了执行分析时。在不会限制数据的未来使用的情况下,Hadoop 将数据分布在许多服务器上并持续跟踪数据位置。

存储数据只是实现目标的道路的一部分。另一方面是信息需要相对容易地被找到。为此,最快的方法是提供一种快速(在实现方面,而不是响应时间方面)搜索功能。因此需要找到支持对非结构化数据进行文本搜索的工具。Apache Lucene(参考资料)就是一个在大数据环境中提供文本索引和搜索的常用工具。

从监视程序上直接获得响应,这会让人们模糊地认为所有信息都被正确存储且可以访问。此过程的管理步骤是为存储在分布式节点中的数据内容建立索引。搜索查询,然后并行访问分布式节点上的索引,以便提供更快的响应。

3. 自动从数据中发现有用的信息

这是采用大数据方案的一个重要业务原因。就像无法高效地将所有半结构化数据都迁移到关系数据库中一样,执行手动搜索和手动报告也会影响分析效率。

数据挖掘和预测分析工具正在快速向以下方向发展:能够将大数据用作分析数据来源的数据库,或者用作持续监视变更的数据库。所有数据挖掘工具都遵循此目标。某个人确定分析的用途,查看数据,然后开发能提供洞察或预测的统计模型。然后,需要将这些统计模型部署在大数据环境中,以执行持续评估。这部分操作应该是自动化的。

4. 监视数据并提供实时警告

寻找一个工具来监视大数据中的数据。一些工具能够创建被持续处理的查询,寻找要满足的条件。

我无法列出实时监视进入 Hadoop 中的数据的所有可能用法。假设大部分传入数据都是非结构化数据,而且不适用于关系数据库,那么实时监视可能是最仔细地检查数据元素的一种方式。

例如,您可在将冷冻食品中的 RFID 芯片存储于非冷冻区域时设置一个警告。该警告可直接发送到仓库中使用的移动设备,预防食品腐烂。

客户在店铺中的走动也是可监视的,可在具有战略性布局的监视器上播放针对站立在特定商品前的客户的广告。(这个非常新潮,可能稍微有点专制意味,但完全可能实现。)

5. 提供强大的专属报告和分析

类似于知识发现和自动化的数据挖掘,分析师需要获得访问能力来检索和汇总大数据云环境中的信息。拥有大数据报告工具的供应商似乎每天都在增多。

一些工具使用了 Apache Hive 和 Hive Query Language(HQL;参阅 参考资料)。HQL 语句类似于结构化查询语言 (SQL) 语句,许多提供类似风格的大数据报告的工具使用了 HQL 和 Hive 接口,通过 MapReduce 运行查询。

Apache Pig 是另一个报告和操作大数据的开源项目。它的语法与 SQL 不太一样,更像是一种脚本语言。它也使用 MapReduce 处理来简化并行处理。

基于云的大数据提供商应同时支持来自外部请求者的 Pig 和 HQL 语句。这样,大数据存储即可由人们使用自己选择的工具(甚至使用还未创建的工具)来查询。

6. 提供快速构建自定义仪表板和视图的能力

像传统的商业智能项目的演化一样,当人们可以查询大数据并生成报告时,他们希望自动化该功能并创建一个仪表板,以便通过漂亮的图片反复查看。

除非人们编写自己的 Hive 语句和仅使用 Hive shell,大部分工具都有使用查询语句创建类似仪表板的视图的能力。要在大数据部署中列举许多仪表板示例,目前还为时过早。一种基于商业智能历史的预测是,仪表板将成为已汇总的大数据的一个重要的内部传递工具。而且从商业智能的历史发展来看,拥有良好的大数据仪表板对于获取和保持高层领导支持至关重要。

7. 使用普通硬件进行高效扩展,以容纳任何数据量

当使用云大数据服务时,此考虑因素更具有哲学意义,而没有多少实际意义。采购、配备和部署用于存储数据的硬件是服务提供商的职责。硬件的选择应该不难。

但是,值得欣慰的是,账单表明大数据适合使用普通硬件。在架构中的一些节点上,“高质量的” 服务器很有用。但是,大数据架构中绝大部分节点(存储数据的节点)都可放在 “更低质量的” 硬件上。

8. 提供细粒度、基于角色的安全和访问控制

当非结构化数据位于关系数据中时,访问数据的复杂性可能会阻碍人们获取数据。常见的报告工具不起作用。考虑采用大数据是简化复杂访问的一个有效步骤。不幸的是,同样的安全设置通常无法从现有关系系统迁移到大数据系统上。

使用的大数据越多,良好的安全性就会变得越重要。最初,安全保护可能很少,因为没有人知道如何处理大数据(这里略带讽刺意味)。随着公司开发出了更多使用大数据的分析,需要对结果(尤其是报告和仪表板)进行保护,这类似于保护来自当前关系系统的报告。

开始使用基于云的大数据,了解需要在何时(具体来讲为报告和仪表板环境)应用安全性。但在最初,分析师非常自由。这是开发新洞察的最佳方式。

9. 支持多租户和灵活的部署

云的使用带来了多租户的概念,但这显然不是内部大数据环境中的考虑因素。

许多人对将关键数据放在云环境中感到不安。而重要的是,云提供了开始实现大数据项目所需的低成本和快速部署。正是由于云提供商将数据放在了具有共享的硬件资源的架构中,成本才会显著降低。

上帝是公平的,将数据放在您的服务器上,由其他某个人来管理整个设置也未尝不可。但是,在大数据需求是间歇性的时候,这不是一个经济高效的业务模型。结果会产生更高的开支,因为公司将为大量空闲时间付费,尤其在实现第一个项目期间,在分析师探索、考虑和了解大数据的时候。

10. 集成已记录的 API 并通过它们进行扩展

许多阅读本文的读者可能已实现了一两个大数据项目,但没有为大数据编写自己的软件接口。请注意,这是有可能的,并且每天都在发生。

大数据是为供自定义应用程序访问而设计的。常见的访问方法使用 RESTful(具象状态传输)应用编程接口 (API)。这些 API 可用于大数据环境中的每个应用程序,用于管理性控制、存储数据和报告数据。因为大数据的所有基础组件都是开源的,所以这些 API 经过了全面地说明并且可以广泛使用。希望基于云的大数据提供商允许访问目前和未来的所有具有适当安全保护的 API。


开始处理基于云的大数据

记住了这十大关键考虑因素之后,请选择您的大数据提供商。什么?还需要更多的信息?

在现实中,大数据项目首先会以批处理模式执行我提到的大部分操作,将实时操作留到以后处理。谈到批处理,我的意思是因为工具和流程都是智能的,所以大数据环境不需要持续运行。建议寻找允许根据需要启动和停止服务器实例的供应商,以便最大限度地降低成本。

安装您自己的内部大数据环境还需要 Java™ 技术技能和常用的 Linux® 或 UNIX® 技能。记住这一点,然后询问潜在的云供应商,了解有多少管理工作需要完成或它的服务有多全面。

要了解如何安装、测试和维护大数据环境,可以访问的一个站点是 BigDataUniversity.com(参考资料),您可以免费注册该站点。站点中长达数小时的视频是按专题来组织的,该站点还为完成许多专题的用户提供了证书。在编写本文时,有一本免费的电子书 Hadoop for Dummies 可供下载。

在参加培训的同时,在一个云提供商的环境中配备一个大数据环境实例。BigDataUniversity.com 上的一些培训专题介绍了 IBM SmartCloud 中和 Amazon Web Services 上的大数据安装和使用。这些云服务(和其他服务)大大简化了环境的安装和部署。请使用 BigDataUniversity.com 上的培训视频,克服将妨碍其他人为首次使用而安装和测试大数据的阻碍。

幸运的是,云服务从任务列表中消除了大数据环境中的大量维护问题。显然,这些服务将负责满足硬件和服务器的机房需求。您必须维护数据,根据发展需要添加服务器和备用数据存储。

大数据对每个人而言都是一种学习和增长体验。新工具和不同的工具不断出现在市场中。商业智能领域现有的供应商正使出百般解数吸引您将他们的工具用于大数据后端。

使用基于云的大数据环境会使上手变得轻松得多。可以先使用云服务为一个小项目处理大数据,充分利用基于云的大数据的易于上手的特性。立即开始动手和学习吧。证实基于云的大数据的价值,然后在不久的将来自信地实现更大的项目。

参考资料

学习

获得产品和技术

  • 以最适合您的方式 评估 IBM 产品:下载产品试用版,在线试用产品,在云环境中使用产品,或者在 SOA 沙盒 中花几小时学习如何高效地实现面向服务的架构。

讨论

  • 加入 developerWorks 社区。探索由开发人员推动的博客、论坛、群组和维基,并与其他 developerWorks 用户进行交流。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Cloud computing
ArticleID=870512
ArticleTitle=基于云的大数据解决方案的十大考虑因素
publish-date=04152013