HBase二级索引

HBase二级索引

简介

协处理器实现Coprocessor

CoProcessor相当于HBase的Observer+hook,目前支持MasterObserver、RegionObserver和WALObserver,基本上对于HBase Table的管理、数据的Put、Delete、Get等操作都可以找到对应的pre和post。这样如果需要对于某一项Column建立Secondary Indexing,就可以在Put、Delete的时候,将其信息更新到另外一张索引表中。

客户端自主设置二级索引表

  • 设置主表的TTL(Time To Live)比索引表小一点,让其略早一点消亡。

  • 不要在IndexingTable存储Value值,即删除如图2所示的val列。

  • Put操作时,对于操作的主表的所有列,使用同一的Local TimeStamp的值,更新到Indexing Table,然后使用该TimeStamp插入主表数据。

  • Delete操作时,首先操作主表的数据,然后再去更新Indexing Table的数据。

已实现方案

Phoneix

Hive

参考

  1. HBase二级索引总结 - 简书

  2. HBase二级索引方案 - 大数据学习笔记 - SegmentFault 思否

  3. https://zhuanlan.zhihu.com/p/43972378

updatedupdated2024-05-152024-05-15