吕家琦
摘要:随着时代的发展与信息技术的广泛应用。现如今,数据的爆炸式增长已经成为热点问题。尤其是在交通领域内,研究的深入必然产生海量的数据信息,同时也带来了数据存储了数据查询方面的难题。云平台的产生和应用为海量数据的存储和查询提供了一种新的有效方法。本文以交通大数据为研究对象,主要探讨了基于分布式数据库HBase的大数据查询策略。本文的研究为交通大数据的高效查询研究提供了一種新的思路。
关键词:云环境;分布式计算;大数据查询;HBase
一、综述
随着大数据时代的到来,给对应的应用领域带来了一系列的挑战。如数据的存储方式和数据的实时访问等。大数据的存储和高效查询成为了研究热点。传统的关系型数据库难以满足海量数据的存储和实时查询的要求。Hadoop云平台具有并行性,高可靠性和可扩展性的优势因而得到研究人员的广泛关注。HBase作为一种分布式数据库使海量数据的存储和高效访问提供了可能。
二、关键技术介绍
(一)Hadoop
在Hadoop平台上,HDFS作为数据存储的文件系统,MapReduce负责数据的并行计算。与传统的关系型数据库相比,Hadoop具有扩展性更强,数据处理方式更加泛化,处理类型更加广泛的特点。对于海量数据来说,分布式计算平台Hadoop是代替传统的数据仓库的必然选择。
(二)HBase
HBase基于分布式平台的分布式数据库,与传统数据库相比,HBase是基于列存储,适合于结构化、非结构化数据存储的数据库,这一点与大数据具有的特点不谋而合,所以说,HBase适合存储数据的存储于处理。HBase将数据按照表、行和列进行存储。
三、数据迁移与查询策略的研究
(一)数据迁移
通常,交通行业的相关数据收到业务的影响,目前都存储与传统的关系型数据库,如ORACLE等中。为了对海量的交通数据进行分析研究,就涉及到要将数据从传统数据库中导入到分布式数据库中,也就是所谓的数据迁移。目前可通过相应的工具,如Sqoop或importTsv等完成数据的迁移过程。数据迁移中,首先要在HBase中设计好对应的表结构,因为HBase中,RowKey是表中每条记录的“主键”,能够实现对某条数据的快速定位,Rowkey的设计非常重要。Colunm Familv代表列族,包含一个或者多个相关列。所以在进行数据迁移前,要完成RowKey和Column Family的设计。
(二)索引的建立
HBase无可置疑拥有其优势,但其本身只对rowkey支持毫秒级的快速检索,对于多字段的组合查询却无能为力。针对HBase的多条件查询也有多种方案,基于Sok的HBase多条件查询原理是将HBase表中涉及条件过滤的字段和rowkey在Sok中建立索引,通过Sok的多条件查询快速获得符合过滤条件的rowkey值,拿到这些rowkey之后在HBase中通过指定rowkey进行查询。
(三)实验与分析
本集群选择8台物理机搭建,硬件配置为4G内存,80G硬盘容量,集群内部通过SSH连通。软件配置为LinuxCentOS操作系统,Hadoop2.6.0,Hbase2.7.3,hivel.2.1,对应的还有sqoop负责数据迁移,Sok负责索引的建立。实验数据来自高速公路收费系统中近三个月的绿色通道数据。数据总量约100万条,500G。
实验步骤:
1设计HBASE表结构,确定RowKey和ColunmFamily中包含的元组。
2利用Sqoop将数据从ORACLE中迁移到HBASE中。
3利用Sok为所要查询的数据属性建立相应索引。
4按照数据量由小到大的顺序,分四次进行查询效率对比实验。
图1展示了未建立索引和建立索引的数据查询时间对比。
通过上图的展示表明,若未对存储的HBase中的数据设计索引,则进行数据查询时,查询的时间与数据量大小无关,耗时在5000秒左右。当利用Sok对存储在HBase中的数据设计索引后,能够大幅度的降低数据的查询时间。当数据量在100万条时,花费的查询时间耗时为8分钟左右。通过对比可以看出,建立索引能够减少数据查询时间,提高查询效率,满足对交通大数据实时查询的要求。
四、总结
本文是云平台Hadoop框架上,基于分布式数据库Hbase的海量数据的存储和查询。主要从数据迁移,索引的建立和通过相关的实验对比来展示云环境下,分布式数据库对海量数据存储和查询的优势。本文根据实际研究内容,对高速公路特色车辆进行查询,通过对实验展示了建立索引对非主键数据的查询效率的提升。放眼大数据行业,在未来的研究中,针对Hadoop和HBase的优化研究将会继续进行,这样才能进一步提高数据的查询效率,使云技术更好的服务于大数据行业。