论文部分内容阅读
在大数据(Big data)的今天,互联网正朝着移动化进一步发展,社交网络等新兴内容也在不断兴起,人们可以很方便的获取到想要的信息。然而,随着需求和业务的不断发展,所产生的数据也在呈几何式增长。大规模数据集有着不可估量的价值,数据间的关系将在公司企业的运营、决策中发挥重要作用。如何准确,快速,稳定的从大规模数据集中获取我们需要的目标数据,成为一个亟待解决的问题。本课题主要针对某互联网公司游戏部门的业务需求,其业务复杂,用户规模庞大,产品种类繁多,用户对系统的网络请求并发性很高。传统的关系型数据库随着业务发展和数据量增长,在海量数据以及高并发的数据请求的背景下,系统瓶颈凸显,性能下降,响应延迟增加,对业务影响明显,无法满足这么大规模数据的高效存储和对高并发读写需求的快速响应。针对这一问题,本课题通过技术手段将数据采用HBase存储管理,建立二级索引,并设计MapReduce方法并行处理数据后台的用户基础数据,为部门提供一个高效的数据并发处理平台。本文主要工作:一、本文分析了并行处理框架MapReduce和分布式列数据库HBase。将两者有机结合起来,旨在找到适合系统业务需求的数据存储管理和并行处理技术。二、设计了数据从关系数据库和文本到HBase的数据迁移方案。该方案结合Sqoop和MapReduce,将数据导入HBase,在考虑业务特点,系统性能等多个条件下,大大的加快了数据预处理的速度。三、设计了HBase二级索引方案。该方案采用MapReduce并结合HBase Coprocessor为数据建立二级索引,整个过程在HBase服务端对应用透明,使得系统支持基于列的复杂查询,满足业务需求。四、为读写本系统数据提供对外接口。接口基于HBase Java API完成,提供数据写入,行健查询,范围查询,批量查询和基于索引的查询等。