首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hbase 学习(四) hbase客户端设置缓存优化查询

Hbase 学习(四) hbase客户端设置缓存优化查询

作者头像
岑玉海
发布2018-03-01 11:06:40
3K0
发布2018-03-01 11:06:40
举报
文章被收录于专栏:岑玉海岑玉海

我们在用hbase的api对hbase进行scan操作的时候,可以设置caching和batch来提交查询效率,那它们之间的关系是啥样的呢,我们又应该如何去设置? 首先是我们的客户端代码。

image
image

当caching和batch都为1的时候,我们要返回10行具有20列的记录,就要进行201次RPC,因为每一列都作为一个单独的Result来返回,这样是我们不可以接受的。

image
image

下面展示的是当batch=3,caching=6时候的图,是一次RPCs的传递的数据。

image
image

接着我们继续看下图

image
image

一次查询20条记录的话,只需要3次RPCs,列数在10列以内的数据,取20条,20/10即可,为什么是3呢,因为还有一次RPC是用来确认的。

有个公式RPCs = (Rows * Cols per Row) / Min(Cols per Row, Batch Size)/ Scanner Caching 。 这就好说啦,这样我们就可以用来优化我们的scan查询了,在查询的时候,按照查询的列数动态设置batch,如果全查,则根据自己所有的表的大小设置一个折中的数值,caching就和分页的值一样就行。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013-08-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档