云计算和大数据目前都是热门话题,如何把两者结合起来即在云上实现大数据项目,这是一个新的实践领域。资深数据专家David Gillman根据自己的经验,列举了云上大数据方案需要考虑的基本要素,包括对数据构建实时索引、自由模式搜索与分析、监视数据并提供实时警告等,帮助用户更好地评估和选择解决方案。
在谈到如何实现云上大数据项目时,David强调了三个实时要素,即实时索引、实时数据和实时监控。具体来说,实时索引指的是“对所有机器数据创建通用的实时索引”:
这是大多数人所认为的大数据的核心;它常常相当于开源项目 Hadoop。公司可能已被来自射频 ID (RFID) 移动、网站点击和其他可能结构化的数据的要求所淹没。如果您知道将如何使用这些数据,如何在未来查询和访问它,那么在处理这些数据方面进行投资是值得的。
您无需知道数据的未来潜在用途,Hadoop 提供了解决办法。通过按原样获取传入的数据,大数据将数据定义步骤推迟到了执行分析时。在不会限制数据的未来使用的情况下,Hadoop 将数据分布在许多服务器上并持续跟踪数据位置。
实时数据指的是“对实时数据和历史数据的自由搜索与分析”,存储数据只是实现目标的道路的一部分。另一方面是信息需要相对容易地被找到。为此,最快的方法是提供一种快速(在实现方面,而不是响应时间方面)搜索功能。因此需要找到支持对非结构化数据进行文本搜索的工具。从监视程序上直接获得响应,这会让人们模糊地认为所有信息都被正确存储且可以访问。此过程的管理步骤是为存储在分布式节点中的数据内容建立索引。搜索查询,然后并行访问分布式节点上的索引,以便提供更快的响应。
实时监控指的是“监视数据并提供实时警告”:
寻找一个工具来监视大数据中的数据。一些工具能够创建被持续处理的查询,寻找要满足的条件。我无法列出实时监视进入 Hadoop 中的数据的所有可能用法。假设大部分传入数据都是非结构化数据,而且不适用于关系数据库,那么实时监视可能是最仔细地检查数据元素的一种方式。
除了三个“实时"之外,Daivid还列举了其他七个要点,可以归纳为:
自动从数据中发现有效的信息
执行手动搜索和手动报告也会影响分析效率。 数据挖掘和预测分析工具正在快速向以下方向发展:能够将大数据用作分析数据来源的数据库,或者用作持续监视变更的数据库。所有数据挖掘工具都遵循此目标。某个人确定分析的用途,查看数据,然后开发能提供洞察或预测的统计模型。然后,需要将这些统计模型部署在大数据环境中,以执行持续评估。这部分操作应该是自动化的。
提供强大的特定报告和分析
类似于知识发现和自动化的数据挖掘,分析师需要获得访问能力来检索和汇总大数据云环境中的信息。拥有大数据报告工具的供应商似乎每天都在增多。基于云的大数据提供商应同时支持来自外部请求者的 Pig 和 HQL 语句。这样,大数据存储即可由人们使用自己选择的工具(甚至使用还未创建的工具)来查询。
提供快速构建自定义仪表板和视图的能力
像传统的商业智能项目的演化一样,当人们可以查询大数据并生成报告时,他们希望自动化该功能并创建一个仪表板,以便通过漂亮的图片反复查看。除非人们编写自己的 Hive 语句和仅使用 Hive shell,大部分工具都有使用查询语句创建类似仪表板的视图的能力。要在大数据部署中列举许多仪表板示例,目前还为时过早。一种基于商业智能历史的预测是,仪表板将成为已汇总的大数据的一个重要的内部传递工具。而且从商业智能的历史发展来看,拥有良好的大数据仪表板对于获取和保持高层领导支持至关重要。
使用普通硬件进行高效扩展,以支撑任何数据量
当使用云大数据服务时,此考虑因素更没有多少实际意义。采购、配备和部署用于存储数据的硬件是服务提供商的职责。硬件的选择应该不难。但是,值得欣慰的是,账单表明大数据适合使用普通硬件。在架构中的一些节点上,“高质量的” 服务器很有用。但是,大数据架构中绝大部分节点(存储数据的节点)都可放在 “更低质量的” 硬件上。
提供细粒度、基于角色的安全和访问控制
当非结构化数据位于关系数据中时,访问数据的复杂性可能会阻碍人们获取数据。常见的报告工具不起作用。考虑采用大数据是简化复杂访问的一个有效步骤。不幸的是,同样的安全设置通常无法从现有关系系统迁移到大数据系统上。使用的大数据越多,良好的安全性就会变得越重要。最初,安全保护可能很少,因为没有人知道如何处理大数据。随着公司开发出了更多使用大数据的分析,需要对结果(尤其是报告和仪表板)进行保护,这类似于保护来自当前关系系统的报告。 开始使用基于云的大数据,了解需要在何时应用安全性。
支持多租户和灵活的部署
云的使用带来了多租户的概念,但这显然不是内部大数据环境中的考虑因素。许多人对将关键数据放在云环境中感到不安。而重要的是,云提供了开始实现大数据项目所需的低成本和快速部署。正是由于云提供商将数据放在了具有共享的硬件资源的架构中,成本才会显著降低。上帝是公平的,将数据放在您的服务器上,由其他某个人来管理整个设置也未尝不可。但是,在大数据需求是间歇性的时候,这不是一个经济高效的业务模型。结果会产生更高的开支,因为公司将为大量空闲时间付费,尤其在实现***个项目期间,在分析师探索、考虑和了解大数据的时候。
集成API并通过它们进行扩展
大数据是为供自定义应用程序访问而设计的。常见的访问方法使用 RESTful应用编程接口 (API)。这些 API 可用于大数据环境中的每个应用程序,用于管理性控制、存储数据和报告数据。因为大数据的所有基础组件都是开源的,所以这些 API 经过了全面地说明并且可以广泛使用。希望基于云的大数据提供商允许访问目前和未来的所有具有适当安全保护的 API。