发明名称 一种基于海量数据类SQL检索场景的自动识别优化方法
摘要 本发明提供了一种基于海量数据类SQL检索场景的自动识别优化方法,属于海量数据统计分析领域。本发明通过五方面来进行优化:引入lucene作为可选存储介质;对每个数据文件的检索字段增加bloomfilter索引(bf索引);对不同检索场景的划分及最优存储介质的选择;在进行lucene检索场景时,将类SQL语句转换为lucene语句;对lucene存储介质和bf索引添加有效性的会话级设置。在检索时,首先判定bf索引会话级的有效性,通过bf索引缩小待检索数据文件列表,再判定lucene存储介质的会话级有效性。本发明有效降低了海量数据检索时集群的资源消耗,大幅度提升了海量数据的检索性能。
申请公布号 CN106484815A 申请公布日期 2017.03.08
申请号 CN201610849786.3 申请日期 2016.09.26
申请人 北京赛思信安技术股份有限公司;国家计算机网络与信息安全管理中心 发明人 王宇;徐晓燕;周渊;刘庆良;郑彩娟;王振宇;黄成;李斌斌;周游;刘斌斌
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京永创新实专利事务所 11121 代理人 祗志洁
主权项 一种基于海量数据类SQL检索场景的自动识别优化方法,针对单表数据扫描阶段,实现数据索引及存储介质选择的优化,其特征在于,所述的优化方法包括如下五方面:第一方面,在检索引擎中,以rcfile作为主存储介质,新增lucene作为可选存储介质;保持原有存储介质与新增存储介质的数据一致性;第二方面,在检索引擎中,集群中数据以文件的形式呈现,对每个数据文件的检索字段增加bloomfilter索引,简称bf;在检索时,通过设定的谓词条件,踢除不含当前查询结果的数据文件;对bf索引支持的谓词条件包括:(1)等值查询;(2)非等值查询;(3)in查询;第三方面,对不同检索场景的划分及最优存储介质的选择;根据rcfile和lucene两种存储介质的属性,将检索场景划分为两种,rcfile检索场景和lucene检索场景,分别选择对应的存储介质进行检索;rcfile检索场景包括:(1.1)全表扫描;(1.2)范围查询;(1.3)非等值查询;(1.4)NULL值查询;lucene检索场景包括:(2.1)等值查询;(2.2)模糊查询;(2.3)正则查询;(2.4)计数查询;对以AND/OR组合的多谓词条件,若每项谓词条件均符合lucene检索场景则选择lucene存储介质进行检索;AND表示和关系,OR表示或关系;在进行lucene检索场景时,需保证涉及的所有检索字段均被lucene存储,其中涉及的检索字段包括select字段和谓词条件字段;第四方面,类SQL语句对应lucene语句的转换;在确定使用lucene存储介质进行检索操作后,将类SQL语句中的谓词条件集转换成对应的lucene查询字符串;谓词条件集转换成lucene查询字符串的流程为:(4.1)遍历谓词条件集,将每个子谓词条件转换成lucene查询字符串;(4.2)多个子谓词条件间,用AND/OR连接符组合lucene查询字符串;若子查询为组合查询,重复步骤(4.1);对无法转换成lucene查询字符串的类SQL语句,不允许进行lucene存储介质检索;第五方面,在检索引擎中,对lucene存储介质、bloomfilter索引,添加有效性的会话级设置。
地址 100125 北京市朝阳区霞光里8号承冀诚大厦二层