一.已有可参考hbase二级索引方案:
huawei:http://f.dataguru.cn/thread-202710-1-1.html;
360:http://blog.csdn.net/dhtx_wzgl/article/details/49069081;
Phoenix:https://phoenix.apache.org/secondary_indexing.html;
xiaomi;
Lily:第三方组件实现,不会给HBase带来入侵式的代码,而且不会影响写入性能;
其他使用率比较小的方案。
二.基于coprocessor的参考性思路:
1.考虑是global全局索引or本地索引local还是两者都有或者其他索引类型实现;
2.修改hbase元数据表信息,增加索引表及索引相关信息;
3.修改对应coprocessor,实现数据对应的索引操作(mutate。。。);
4.映射及解析客户端索引语句(alter index 。。。);
5.索引批量操作,基于mapreduce实现;
6.客户端索引语句管理及语法的构建;
7.索引的动态管理及重建;
8.hbase的compact与split及balance策略的修改,来平衡index;
9.hbase的索引性能测试。
三:技能
掌握hadoop+zookeeper原理及实现
精通mapreduce
精通hbase架构
熟读hbase内核源码
网友评论