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

咱们在用hbase的api对hbase进行scan操做的时候,能够设置caching和batch来提交查询效率,那它们之间的关系是啥样的呢,咱们又应该如何去设置?

首先是咱们的客户端代码。api

image

当caching和batch都为1的时候,咱们要返回10行具备20列的记录,就要进行201次RPC,由于每一列都做为一个单独的Result来返回,这样是咱们不能够接受的。优化

image

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

image

接着咱们继续看下图3d

image

一次查询20条记录的话,只须要3次RPCs,列数在10列之内的数据,取20条,20/10便可,为何是3呢,由于还有一次RPC是用来确认的。orm

有个公式RPCs = (Rows * Cols per Row) / Min(Cols per Row, Batch Size)/ Scanner Caching 。blog

这就好说啦,这样咱们就能够用来优化咱们的scan查询了,在查询的时候,按照查询的列数动态设置batch,若是全查,则根据本身全部的表的大小设置一个折中的数值,caching就和分页的值同样就行。get

相关文章
相关标签/搜索