试题四 论大数据处理技术及其应用近年来,互联网、云计算、移动计算和物联网技术迅速发展,数以亿计的网络用户、无所不在的移动设备、RFID和无线传感器时时刻刻都在产生海量的数据,并且需要处理的数据呈几何级数增长。另一方面,企业业务需求和竞争压力对海量数据处理的实时性、有效性提出了更高的要求,传统的数据处理方法往往无法适应这种变化。在这种背景下,企业需要针对“大数据”的应用特征,选取更加合适的数据处理方法与技术。请围绕“大数据处理技术及其应用”论题,依次从以下三个方面进行论述。1.概要叙述你参与实施的、与大数据处理相关的开发项目及你所担任的主要工作。2.请从数据量、数据分析需求和硬件平台三个方面阐述大数据处理系统与传统数据处理系统的差异;列举并解释大数据处理系统应该具有的重要特征(至少列举四个)。3.阐述你参与实施的项目在进行大数据处理时遇到了哪些问题,是如何解决的。
参考答案:
解析:1.论文中要介绍企业的业务背景、组织结构、数据分析需求、大数据处理系统的架构、采用的技术等内容和担任的实际工作。 2.从数据量、数据分析需求和硬件平台三个方面来看,大数据处理系统与传统数据处理系统之间的差异是; (1)从数据量角度看,传统数据处理系统可以处理的数据量一般在GB或TB级,而大数据处理系统需要处理的数据量一般都在PB级。 (2)从数据分析需求角度看,传统数据处理系统主要关注常规的数据分析,包括对现有数据的分析和检测。大数据处理系统主要关注数据的深度分析(Deep Analytics),期望能够对未来趋势有更多的分析和预测,以增强企业竞争力。深度分析包括移动平均线分析、数据关联关系分析、回归分析等多种复杂统计分析方法。 (3)从硬件平台角度看,传统数据处理系统主要由高端服务器构成。由于数据量迅速增加,数据库规模不断增加,从而导致系统成本急剧上升。出于成本考虑,越来越多的企业将大数据处理系统的硬件平台由高端服务器转向了由中低端硬件构成的大规模集群平台。 大数据处理系统应该具有的重要特征包括: (1)高度可扩展性。数据库不能依靠一台或少数几台机器的升级(scale-up,纵向扩展)满足数据量的爆炸式增长,而是希望能方便地做到横向扩展(scale-out)来实现此目标。因此,大数据处理系统应该支持横向大规模可扩展,并支持大规模并行处理。 (2)高性能。数据量的增长并没有降低对数据库性能的要求,反而有所提高。软件系统性能的提升可以降低企业对硬件的投入成本、节省计算资源,提高系统吞吐量。大数据处理系统应该能够快速响应复杂查询与分析。 (3)高度容错。一方面,大数据系统所采用硬件集群平台,随着节点数的增加会带来节点失效概率的增加。另一方面,大数据的容错性要求在查询执行过程中,一个参与节点失效时,不需要重做整个查询。在这种情况下,系统不能依赖于硬件来保证容错性,要更多地考虑软件级容错。 (4)支持异构环境。由于计算机硬件更新较快,一次性购置大量同构的计算机设备是不可取的,而且也会在未来添置异构计算资源。在这种情况下,大数据处理系统需要文持异构环境,并需要通过负载均衡、任务调度等方面的设计调整并提高系统的整体处理性能。 (5)较短的分析延迟。分析延迟指的是分析前的数据难备时间。在大数据时代,分析所处的业务环境是变化的,因此也要求系统能动态地适应业务分析需求。在分析需求发生变化时,减少数据准备时间,系统能尽可能快地做出反应,快速地进行数据分析。 (6)易用且开放的接口。传统的关系型数据库通常采用SQL进行数据查询。SQL的优点是简单易用,但其主要用于数据的检索查询,对大数据上的深度分析来说,是不够的。原因在于: ①其提供的服务方式依赖于数据移动来实现:将数据从数据库中取出,然后传递给应用程序,该实现方式在大数据时代代价过高; ②复杂的分析功能SQL难以胜任。 因此,除对SQL的支持外,系统还应能提供开放易用的接口,让用户自己开发需要的功能。 (7)较低成本。在满足需求的前提下,需要尽量降低硬件、软件、日常维护和管理人员等综合成本的指标。 (8)向下兼容性。数据仓库技术发展了30多年,产生了大量面向客户业务的数据处理工具、分析软件和前端展现工具等。这些软件己被分析人员所熟悉,是大数据时代中小规模数据分析的必要补充。因此大数据分析系统需要考虑与传统数据分析工具的兼容性。 (以上特征,只要任意给出4个即可) 3.在进行大数据处理系统开发时可能遇到的问题包括:如何对数据需求进行梳理;如何选择底层数据存储系统(包括关系型数据库、NoSQL数据库等),如何选择合适的数据处理算法与处理流程;如何对处理算法进行调整,使其适应大数据处理平台的要求;等等。