码迷,mamicode.com
首页 > 其他好文 > 详细

奇虎360 HBASE 二级索引的设计与实践

时间:2015-07-22 12:40:49      阅读:813      评论:0      收藏:0      [点我收藏+]

标签:

基于RowKey 的索引问题总结

1、索引单一

2、多维度(字段/列)查询困难

  • 多字段分别作为RK,写入多次
  • 组合字段作为RK,设计复杂,不灵活

3、不经过索引的并行scan过滤,大量资源消耗,无时效性可言

总体设计

二级索引构建模式

1)以主数据的列值作为索引数据的RowKey,以主数据的RowKey 作为索引数据的列值,以此来构建指定列作为查询条件的Hbase 二级索引。

技术分享
2)索引的构建与数据的查询都是分布式、并发式进行的

技术分享

 

索引设计

 1)索引与主数据存放在同一张表的不同Column Family 中

  • 索引与主数据划分到同一个Region 上,减少RPC 次数,减少网络通信压力
  • 索引与主数据分配在不同的Column Family 中,实现了索引与主数据的物理分离

 2)RowKey 格式:RegionStartKey-索引名-索引键-索引值(索引键:主数据列值,索引值:主数据RowKey)

  •  RegionStartKey:同一Region 的全体数据按RowKey,自动实现索引与主数据的逻辑分离

 

 

写路径

读路径

分裂

索引重建

优化

分享链接

演讲稿下载地址:

http://download.csdn.net/detail/whbsr516/8922067

视频演讲地址:

 http://www.infoq.com/cn/presentations/qihoo360-hbase-two-stage-index-design-and-practice

奇虎360 HBASE 二级索引的设计与实践

标签:

原文地址:http://www.cnblogs.com/zero516cn/p/4666779.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!