计算机工程与应用 ›› 2019, Vol. 55 ›› Issue (21): 87-92.DOI: 10.3778/j.issn.1002-8331.1807-0289
郭红,周健倩,张瑛瑛,郭昆
GUO Hong, ZHOU Jianqian, ZHANG Yingying, GUO Kun
摘要: 在大数据时代,海量的非结构化数据增速远大于结构化数据,HBase被广泛用于海量非结构化数据存储中。由于HBase内置的索引是基于行键(rowkey)设计的,具有很高的查询效率。但是,在根据字段进行条件查询时需要进行全表扫描,性能较低,无法应用于实时场景。针对此问题,提出一种基于协处理器(coprocessor)的HBase二级索引方法。该方法将经常需要查询的字段通过协处理器在HBase中建立映射到行键的索引,在查询时并行扫描索引数据获取行键,并利用行键快速查询记录。同时,在创建表时,通过对Region进行预分区。在插入数据时,在行键中添加Hash值。这不仅能提高数据插入速度,也避免了热点数据现象,同时保证索引数据和主数据位于同一个Region上,查询时就能减少一次RPC请求。在模拟数据集上的实验表明:提出的二级索引方法具有较好的查询性能。不仅高于HBase自带的过滤查询,也高于基于ElasticSearch的二级索引。同时,其空间开销小于基于ElasticSearch的二级索引。