详述借助phoenix为hbase搭建二级索引的全流程操作与实现方式。
1、 在HBase集群中各HRegionServer节点的hbase-site.xml配置文件内加入必要的参数设置。

2、 同样地,在HBase主控节点(HMaster)的hbase-site.xml文件中补充对应配置项。

3、 常见问题汇总
4、 特别提醒:尽管官方配置说明中列出了该参数,但在实际部署测试中(涵盖hbase-1.3.1版本及网络资料中提及的0.98.6版本),一旦启用该配置,HBase启动过程中RegionServer将无法正常初始化,对应主机上查无HRegionServer进程;而移除此项后,服务可成功启动,并支持本地索引的创建与使用。

5、 配置hbase-site.xml中ZooKeeper连接地址时,务必省略端口号2181,否则在执行本地索引创建操作时会触发异常报错。

6、 推荐的标准配置方案

7、 Phoenix所支持的索引类型划分
8、 全局索引为系统默认索引模式,适用于以读操作为主、写入频次较低的业务场景。数据写入时,需同步更新分布于多个RegionServer上的索引表,涉及跨节点通信,带来一定性能损耗。但查询阶段,Phoenix会优先命中索引表,大幅缩短扫描范围,显著提升响应速度。需注意的是,仅当SQL查询中所涉字段全部被包含在索引定义列中时,索引机制才被激活;若存在未被索引覆盖的查询字段,则系统将回退至全表扫描,索引优势不复存在。因此,科学规划索引字段组合是保障查询性能的关键前提。

9、 局部索引更适配高并发写入场景,其索引数据与原始表数据共存于同一RegionServer,规避了跨节点索引写入带来的延迟与资源消耗。即便查询条件中包含非索引字段,Phoenix仍可能借助局部索引完成优化执行计划,从而在维持高效写入的同时兼顾查询性能,特别适用于对实时写入吞吐与低延迟响应均有较高要求的应用系统。

10、 三种高性能查询策略
11、 清除已建索引的操作方式


















