Hbase 查询为什么快
2014-11-05 21:16
393 查看
第一、数据分区存储(region)
通过rowkey可以快速地位到在那个region上,位置信息保存在hbase的meta表里。
每次查询都会有location cache的,所以htable里面的Hconnection 初始化的时候访问速度相对来说稍慢,客户端缓存截图如下。
随着数据越来越大,meta表的查询有可能遇到瓶颈,建议单独独立出成一个meta server。
(备注:一个meta表的一条记录大概为1k)。
第二、hbase的数据格式 HFile V2 (HFile V1代码已经出hbase版本删除了)
B、查询数据block的次数和HFile内部数据分开+索引分块
1、bloomfilter改进查找次数
2、hbase的三维顺序,按照rowkey,column,ts进行排序,rowkey和column是升序,
ts是降序
3、对于一次随机读block的访问顺序是bloomblock(多次) 、indexblock(1次) 、datablock(1次)
分块+分级索引(RootDataIndex、 IntermediateLevel ROOT INDEX 【备选如果HFile size 过大,就启用】、Leaf index block)
bloom filter介绍:
另外hbase各种过滤器在我们查询中用到,大家了解下的:
1、Comparision Filters
1.1 RowFilter
1.2 FamilyFilter
1.3 QualifierFilter
1.4 ValueFilter
1.5 DependentColumnFilter
2、Dedicated Filters
2.1 SingleColumnValueFilter
2.2 SingleColumnValueExcludeFilter
2.3 PrefixFilter
2.4 PageFilter
2.5 KeyOnlyFilter
2.6 FirstKeyOnlyFilter
2.7 TimestampsFilter
2.8 RandomRowFilter
3、Decorating Filters
3.1 SkipFilter
3.2 WhileMatchFilters
通过rowkey可以快速地位到在那个region上,位置信息保存在hbase的meta表里。
每次查询都会有location cache的,所以htable里面的Hconnection 初始化的时候访问速度相对来说稍慢,客户端缓存截图如下。
随着数据越来越大,meta表的查询有可能遇到瓶颈,建议单独独立出成一个meta server。
(备注:一个meta表的一条记录大概为1k)。
第二、hbase的数据格式 HFile V2 (HFile V1代码已经出hbase版本删除了)
B、查询数据block的次数和HFile内部数据分开+索引分块
1、bloomfilter改进查找次数
2、hbase的三维顺序,按照rowkey,column,ts进行排序,rowkey和column是升序,
ts是降序
3、对于一次随机读block的访问顺序是bloomblock(多次) 、indexblock(1次) 、datablock(1次)
分块+分级索引(RootDataIndex、 IntermediateLevel ROOT INDEX 【备选如果HFile size 过大,就启用】、Leaf index block)
bloom filter介绍:
另外hbase各种过滤器在我们查询中用到,大家了解下的:
1、Comparision Filters
1.1 RowFilter
1.2 FamilyFilter
1.3 QualifierFilter
1.4 ValueFilter
1.5 DependentColumnFilter
2、Dedicated Filters
2.1 SingleColumnValueFilter
2.2 SingleColumnValueExcludeFilter
2.3 PrefixFilter
2.4 PageFilter
2.5 KeyOnlyFilter
2.6 FirstKeyOnlyFilter
2.7 TimestampsFilter
2.8 RandomRowFilter
3、Decorating Filters
3.1 SkipFilter
3.2 WhileMatchFilters
相关文章推荐
- 为什么HBase数据查询快速
- 为什么MyISAM会比Innodb的查询速度快。 btree 和 lsm(hbase) ,cola 树(tokuDB)选型和原理
- 为什么Hbase能实现快速的查询
- hbase 为什么查询比较快
- 云计算(三十三)-Hbase使用filter快速高效查询
- 为什么数据可以从pl/sql查出来而使用ado.net查询,结果却是空?
- Hbase使用filter快速高效查询
- 在streaming process中为什么需要类似sql查询语言
- 为什么MyISAM会比Innodb的查询速度快
- hbase时间段查询、模糊匹配
- [置顶] hbase(十)-hbase查询,scan filter的使用
- 基于Solr的HBase多条件查询测试
- 用hbase(0.92版本以上)的协处理器实现快速返回查询结果总数
- 优化Hbase查询速度
- 大数据查询——HBase读写设计与实践--转
- HBase查询优化之Short-Circuit Local Reads
- 为什么子查询比连接查询(LEFT JOIN)效率低
- hbase RowFilter如何根据rowkey查询以及实例实现代码 habase模糊查询【转】
- 为什么查询结果总为空?