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的数据。