华为的二级索引方案
来源:互联网 发布:java基础入门 pdf 编辑:程序博客网 时间:2024/05/17 00:19
这个是华为的二级索引方案,已经开放源代码了,下面是网上的一篇讲解原理的帖子,发出来和大家共享一下。
经过本人认真阅读了一下代码,发现这个源码仅供参考,想要集成到原有的集群当中是有点儿难度的,它对hbase的源码进行不少的修改。
源码地址:https://github.com/Huawei-Hadoop/hindex
下面来对其方案做一个分析。
1.整体架构
这个架构在Client Ext中设定索引细节,在Balancer中收集信息,在Coprocessor中管理二级索引数据。
2.表创建
在创建表的时候,在同一个region server上创建索引表,且一一对应。
3.插入操作
在主表中插入某条数据后,用Coprocessor将索引列写到索引表中去,写道索引表中的数据的主键为:region开始key+索引名+索引列值+主表row key。这么做,是为了让其在同一个分布规则下,索引表会跟主表在通过region server上,在查询的时候就可以少一次rpc。
4.scan操作
一个查询到来的时候,通过coprocessor钩子,先从索引表中查询范围row,然后再从主表中相关row中扫描获得最终数据。
5. split操作处理
为了使主表和索引表在同一个RS上,要禁用索引表的自动和手动split,只能由主表split的时候触发,当主表split的时候,对索引表按其对应数据进行划分,同时,对索引表的第二个daughter split的row key的前面部分修改为对应的主键的row key。
6. 性能
查询性能极大提升,插入性能下降10%左右
总结,本文对华为hbase使用coprocessor进行二级索引的方案的创建表,插入数据,查询数据的步骤进行了一个粗略分析,以窥其全貌。在使用的时候,可以作为一个参考。
转载自:http://www.dengchuanhua.com/167.html
- 华为的二级索引方案
- 华为HBase 二级索引调研
- Hindex--华为Hbase二级索引
- 360HBase二级索引方案学习总结
- 360HBase二级索引方案学习总结
- 360HBase二级索引方案学习总结
- HBase建立二级索引的一些解决方案(Solr+hbase方案等)
- 华为Hbase二级索引(Secondary Index)细节分析
- 华为hbase二级索引(secondary index)细节分析
- 华为hbase二级索引(secondary index)细节分析
- 华为hbase二级索引(secondary index)细节分析
- 二级索引
- 二级索引
- 基于solr实现hbase的二级索引
- HBase建立二级索引的一些解决方案
- 利用Solr建立HBase的二级索引
- phoenix 写二级索引的触发机制
- Phoenix二级索引(Secondary Indexing)的使用
- jsp页面set标签的使用
- 查询解决问题的方法
- 读取xml
- hdu 4733 G(x) (dp+枚举)
- Linux内核空间和用户空间详解
- 华为的二级索引方案
- 经纬财富:眉山现货白银交易操作技巧
- IOS6屏幕旋转详解(自动旋转、手动旋转、兼容IOS6之前系统)
- VC对话框项目-自定义消息的方法
- eclipse 4.2 配置tomcat
- FriendlyARM-mini2440-X86-qtopia的编程步骤(一)
- 打印三角形【water~】
- 为多线程server端增加与client的交互通信功能
- Google Chromium开发文档-初级入门指南