很多公司已经实现了大数据应用的部署。这些应用的组成包括:大数据存储、混合硬件、用于存储和访问数据的软件和一些复杂的软件接口。这些接口可以用于接受商业分析师的查询,访问数据存储,提供解决方案以用于理解客户需求,简化商业事务,提高利润等方面。
随着越来越多的成功或失败的案例在各种新闻媒体上曝光,大数据越来越神乎其神。本文将讨论一些最广为流传的神话,并探讨其如何对你的大数据实现产生负面影响。
神话1:大数据应用可以独立存在
很明显是错的,显然,你的大数据应用包含着大量的数据。然而,用于查询数据的分析软件同样重要。对数据进行分析是非常常见的行为,尤其是在那些拥有数据仓库的公司中。数据仓库包含了实时性的运营数据快照。你当前的数据集合和分析报告取决于数据仓库的维度。
维度就是分析师对信息进行划分和归类的实体依据。它包括时间、地理、客户类型、商店、部门等等。一条统计圣诞节期间在某些州中顾客在零售商店购买电子产品付费信息的查询包括如下几个维度:商品类型(电子商品)、商店、地理(州)、时间(圣诞期间)。每一个维度都提供一种汇总数据的方式,可以为分析用户喜好、统计商品库存、计算收益等提供线索。
大数据应用也需要类似的维度。由于数据已经被数据仓库存储和维护,整合数据仓库模型和大数据应用势在必行。
这种整合的一种自然表现就是你将会升级数据仓库以便分析查询能够覆盖数据仓库中的数据。良好的企业数据模型和综合数据字典是必不可少的。
数据仓库升级一般会增加新的维度,包含新运行系统的数据,对大型对象如图像和XML文件提供存储。最后一项尤其重要,在预算讨论时将会较早被提及。大型的复杂对象可能不会被你的商业智能软件包直接用于分析,但这些对象的基本数据将会存储于数据仓库中。举例来说,XML文件会被一些数据库管理系统编码,以表的形式存储于数据库中。BI软件使用这些表数据来进行分析操作。
神话2:要新增的预算项目仅仅包括大数据软件和硬件
这也是错的,尽管一些供应商声称,任何企业要实现大数据应用,成本将会显著超过对大数据软硬件上的投资
首先,要为未来考虑。你的大数据应用必须具备扩展能力。这是指系统对大批量数据,快速的数据传输,日渐增长的用户量等作出快速反应的能力。当出现响应时间变慢,运行时间延长,交易时间延长时,你就该意识到此类问题已经产生。
对于很多应用来说,这些问题被划分为性能相关,解决方法是添加CPU,内存、存储设备等硬件设施。然而,在大数据环境下,更强的硬件设施已经不是解决问题的办法。供应商所提供的大数据软硬件依赖于专用的数据存储方式,如数据压缩,大规模并行数据处理,以及同底层数据管理系统的协作等。此类环境下的扩展需要你对数据的架构设计和存储进行重新思考,包括可能出现的非格式化数据,逻辑划分,更智能的查询重写以及对SQL性能分析关注度的提升。
接下来,通过对扩展制定预算来进行中期计划,大数据存储植根于操作系统,而这些操作系统所包含的已经不再是简单的字符型和数据型数据。一些系统包括复杂的数据类型,如可扩展标记语言数据(XML),视频与音频数据,图片,以及大型对象(LOBs).当需要对数据进行聚集和其他操作时,你的大数据应用需要分析这些数据类型。
要实现这些,你必须预算员工的工作时间。最重要的是企业数据模型,包括硬件体系结构,以及在你的企业数据集成。
另一个预算项目是非生产环境。典型的非生产环境用于软件开发,用户验收测试,系统压力测试等。你的大数据应用测试版应该存在于其中。
为什么要这样?大数据环境下,业务分析师的学习曲线是陡峭的。为了有效的对大数据应用进行查询,大部分商店采用了商业智能(BI)软件产品。这些产品展示数据以及常见数据结构图形式之间的关系,采用点击或拖动的接口,允许用户指定某些数据元素按照特定维度聚集。接口通常是专业性的,一般要求用户对业务数据和其体系结构非常熟悉。
非生产环境非常适合这些未来用户使用和练习。
另一个要考虑的是灾难恢复计划。这在分析系统通常被视为是非关键性的,大数据应用可以帮助许多用户辨识出他们的关键任务,这非常有用。使用大数据的应用程序的测试环境可以做到有备无患,还可作为一个灾难恢复环境的候选之一。
最大的预算项目是工作人员培训。你的工作人员将负责大数据应用环境的维护,新的数据和存储的添加,清除或归档过期数据,为查询用户提供支持,有时可能要为分析软件提供支持。
除了现有的员工,你可能需要额外的人员或咨询服务。咨询顾问的典型用途包括协助用户,性能监控,容量规划等。
你需要放眼未来,才能进行预算计划。回顾这些项目,确定在什么时间以何种方式来让它们展示自己。
神话3:大数据应用几乎不需要性能调整
这也是错的。是的,大数据的应用程序都标榜自己的访问时间非常快。该技术的承诺是能够快速地分析大量的数据、得到面向客户系统分析变化的能力。管理层认为,这种分析和随后的变化将提高客户满意度,市场份额和利润。
大数据性能的关键在于数据本身。IT系统必须从操作系统采集数据,进行数据转换,最终加载到你的大数据应用中。你需要越多的数据,支持系统就需要完成越多工作,以保证其提供最新的数据。
从操作系统的数据采集包括数据拷贝,文件,和各种数据库的提取。一些数据可能是无效的(例如,一个日期,有些可能是00-00-0000),有些数据时完全缺失的。每个系统都面临着数据清洁度问题,以及何时能够方便的提取数据的问题。所有这些过程都需要随着数据量的增加来进行性能调整。
另一个问题是应用程序加载数据的问题。当输入数据每天增加,负荷也会日渐增加,数据装载是I/O密集型的任务。你可能需要寻找特定供应商的高性能数据加载解决方案。
查询优化也是一个需求。诚然,大数据应用为快速查询而存在,用户数量的增长也将带来每天查询数量的增长。查询不仅能够访问大数据应用,而且还能访问你的数据仓库。如果你将数据仓库加载到大数据应用中,你将面临另一个大负荷的运行问题。
为了适应多个潜在的数据访问方式,大多数DBMS有一个优化措施:在查询执行之前衡量成本。在大数据环境下,数据库管理系统软件判定在大数据的应用和基础DBMS存取数据的成本。而在大数据应用程序环境下的执行成本可能较低,在DBMS执行低优先级的查询可能会更符合成本效益。为此你需要获取用户查询和他们估计成本,然后和用户进行复核。
总结
大数据的应用程序不存在于真空中的。为了激发它们的最大潜力,其必须与数据仓库集成,由经过培训的人员进行支持,并监控查询性能和进行容量规划。你将需要一个企业数据模型和数据字典,对员工进行BI分析软件的培训,以及一个覆盖上述内容的预算。