各位老师,单位现在要引入hbase数据库作为数据存储,并将数据通过接口方式返回给查询方。目前的场景是这样的,数据每日全量加载,以每日最新的数据为有效数据,数据量在500万左右。
前期做了一定尝试和探索,做出了以下调整:
针对上述场景,目前我们遇到了一下问题:
分裂策略方面,no split策略目前在查询层面表现还是比较稳定的,不会出现region is not online的问题,但是这种方法可持续强吗?有更好的方法吗?
删除方面,我们在测试的时候试过频繁写入并按照时间戳标签删除,这期间出现过一段短时间的数据不可读,一直报节点不可用,大概过了5分钟恢复了一部分数据的可读性,又过了几分钟大部分数据可读了。网上搜了下,多是说这期间hbase在做compact操作,导致数据的短时间不可用。这个compact策略我们怎么才能很好的避免其对数据可读性的影响?
另外就是删除操作的具体实现,我们目前每次做删除操作时,会全表scan所有数据找到rowkey,再根据rowkey和时间戳去表中删除,这种思路感觉有些绕路,每次scan的速度也不是很快。应对这种删除场景各位老师有什么好的实现思路吗?
新人第一次提问,不周之处还望多多包涵,在此先谢过大家了。