HBase二级索引方案

本文介绍了HBase的一级索引特性及其在数据检索的局限性,阐述了为何需要二级索引。详细讨论了基于Coprocessor的二级索引方案,如Apache Phoenix,分析了其优缺点。此外,还提到了非Coprocessor方案,如利用Elasticsearch或Solr构建索引,并介绍了Lily HBase Indexer和CDH Search的工作原理。最后,分享了DataStory在构建和优化二级索引过程中的实践和经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

01 HBase简介

HBase是一个构建在HDFS之上,用于海量数据存储分布式列存储系统。

参见下图,由于在HBase中:

表的每行都是按照RowKey的字典序排序存储表的数据是按照RowKey区间进行分割存储成多个region

所以HBase主要适用下面这两种常见场景:

适用于基于rowkey的单行数据快速随机读写适合基于rowkey前缀的范围扫描

02 为什么需要HBse二级索引

HBase里面只有rowkey作为一级索引, 如果要对库里的非rowkey字段进行数据检索和查询, 往往要通过MapReduce/Spark等分布式计算框架进行,硬件资源消耗和时间延迟都会比较高。

为了HBase的数据查询更高效、适应更多的场景, 诸如使用非rowkey字段检索也能做到秒级响应,或者支持各个字段进行模糊查询和多字段组合查询等, 因此需要在HBase上面构建二级索引, 以满足现实中更复杂多样的业务需求。

03 HBse二级索引方案

A.基于Coprocessor方案

1、官方特性

其实从0.94版本开始,HBase官

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值