Hbase Scan接口使用注意问题

如果一个表major_compation的周期是2天,TTL是10天

假如:

   4月15日 12:00 做了major_compaction,4.5之前的过期数据会被物理删除(4.15-4.5=10天

   4月17日 12:00 时还没有做major_compaction(4.17-4.15<=2天),4.5、4.6号的数据已经变成过期数据4.17-4.5>ttl:10天),但是还没有被物理删除

    在这种情况下,有两天数据(4.5,4.6)是过期的,如果4.7-4.17内新产生的有效数据小于caching或limit,scan时相当于告诉服务器找到cahing或limit条才返回,直到到达endkey。如果这时endkey是一个很大的值,服务器会一直扫描到endkey(包括4.5、4.6两天的过期数据)。造成服务器load很高,查询很慢。


所以使用scan接口时:

   1.[startkey,endkey)尽量限定在最小范围(如rowkey带时间,要考虑TTL),不能依赖limit或其他方式来在一个很大的[startkey,endkey)范围内scan少量的数据

   2.取少量数据时,需要取多少就设置caching为多少

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值