论文部分内容阅读
在现在的大数据平台上,对非结构化数据的存储需求越来越大,对其数据的读写性能要求也越来越高,传统技术无法满足这些要求。因此本文对大数据处理技术进行研究,选取了以Hadoop为平台的HBase数据库,在HBase的自身之上优化了数据存储系统并拓展了二级索引的功能。针对HBase的数据存储系统,它在导入商品图片、视频信息等这些大对象时,出现严重延迟现象。因此本文对这种情况进行了分析,并设计了存储大对象的存储架构。该框架将大对象数据隔离存储在HDFS上,回避HBase本身的Split和Minor Compaction的机制,减少对HBase中其它数据的读写影响,然后把存储的文件地址更新到HBase大对象列族中,实现大对象的快速查询,接着对大对象数据的列族定制了Flush机制与Compaction机制,以实现对大对象的管理维护。通过对改进的HBase与HBase自身的性能对比,改进的HBase在插入数据时,每条记录仅耗时毫秒级时间,且状态很稳定,在读取速度上也提高了2倍,充分满足了线上实时性的需求。本文另一重点是为HBase拓展了二级索引。由于HBase只支持基于主键的查询,当用户不知主键査询数据时,只能通过全表扫描来获取数据,这种方式效率很低,无法满足实时査询需求。针对这一缺点,本文拓展了二级索引功能。它的实现思想是把建立二级索引的任务分布到各个服务端上,同时保证索引表与对应的主表存储在同一个服务器上,这样查询时只需与对应服务端建立一次连接即可,从而提高了非主键查询速度。通过对增加索引功能的HBase与HBase自身的对比,增加索引功能的HBase虽然在插入数据性能上降低了10%,但是在查询性能上,有了极大的提升。最后在实验室搭建了Hadoop+HBase+ZooKeeper的集群测试环境,利用淘宝某商家的商品信息记录日志文件作为数据源,实现了对改进后的HBase与HBase自身的测试对比,最终得出改进后的HBase在存储和查询性能方面都取得很大的提升。