Hbase如何解决非索引查询速度慢的问题?
原因:Hbase以Rowkey作为唯一索引
现象:只要查询条件不是Rowkey前缀,不走索引
解决:构建二级索引
思想:自己建rowkey索引表,通过走两次索引来代替全表扫描
步骤
问题:不同查询条件需要不同索引表,维护原表数据与索引数据同步问题
解决
方案一:手动管理:自己建表、自己写入数据【原表、索引表】
方案二:自己开发协处理器:协处理器的开发成本非常高
方案三:第三方工具:Phoenix
create [local] index indexName on tbname(Col) [include(col)]
Phoenix支持哪几种索引,各自的区别和实现原理是什么?
索引设计:加快查询的效率
全局索引
create index
覆盖索引:基于全局索引
create index …… include
本地索引
create local index
函数索引:一般不用
目标:了解案例的背景及需求
路径
实施
案例背景
社交软件每天都有数千万的用户进行聊天, 陌陌、微信、脸书等公司想要对这些用户的聊天记录进行存储,满足用户的所有查询浏览以及后台需要对每天的消息量进行实时统计分析, 请设计如何实现数据的存储以及实时的数据统计分析工作。
整体目标
具体需求
小结