基于以上分析,我们必须重新考虑删除数据的流程。对用户来说,用户只要在检索时对于删除的任务不进行检索即可。那么只需要删除该条任务记录,对于该任务相关联的数据不需要立马进行删除。当系统空闲时候再去定时删除 HBase 数据表中的数据,并对 Region 做 Major Compact,清理已经删除的数据。通过对任务删除流程的修改,达到项目的需求,同时这种修改也不需要修改 HBase 的配置。

图 4. 数据删除流程对比图(查看大图)
检索、查询、删除 HBase 数据表中的数据本身存在大量的关联性,需要查看 HBase 数据表的源代码才能确定导致检索性能瓶颈的根本原因及最终解决方案。
结束语
HBase 数据库的使用及检索优化方式均与传统关系型数据库存在较多不同,本文从数据表的基本定义方式出发,通过 HBase 自身提供的 API 访问方式入手,举例说明优化方式及注意事项,最后通过实例来验证优化方案可行性。检索性能本身是数据表设计、程序设计、逻辑设计等的结合产物,需要程序员深入理解后才能做出正确的优化方案。