一种基于海量数据类SQL检索场景的自动识别优化方法技术

技术编号:14783400 阅读:47 留言:0更新日期:2017-03-10 04:32
本发明专利技术提供了一种基于海量数据类SQL检索场景的自动识别优化方法,属于海量数据统计分析领域。本发明专利技术通过五方面来进行优化:引入lucene作为可选存储介质;对每个数据文件的检索字段增加bloomfilter索引(bf索引);对不同检索场景的划分及最优存储介质的选择;在进行lucene检索场景时,将类SQL语句转换为lucene语句;对lucene存储介质和bf索引添加有效性的会话级设置。在检索时,首先判定bf索引会话级的有效性,通过bf索引缩小待检索数据文件列表,再判定lucene存储介质的会话级有效性。本发明专利技术有效降低了海量数据检索时集群的资源消耗,大幅度提升了海量数据的检索性能。

【技术实现步骤摘要】

本专利技术属于海量数据统计分析
,涉及一种基于SQL模式下,对海量数据检索场景的自动识别,并选用相应手段进行检索提速的技术方案。
技术介绍
随着信息科学技术日新月异的发展,各种形式的海量数据如网页文件,文本数据,多媒体数据等不断的产生,导致数据规模的急剧膨胀,各类数据的应用领域也不断扩展,其应用呈现如下特点:第一,数据规模大,且持续不断增长,而且这些数据都需要保存起来,以备统计分析;第二,对复杂查询操作以及联机事务处理的能力要求高,对响应时间要求比较苛刻,而且这是在同时进行海量加载的情况下进行的;第三,系统的可靠性和灵活性要求高。随着计算机硬件和软件技术的不断发展,数据处理技术也随之不断前进和创新。目前将大量数据分散到多个节点上,将计算并行化,利用多机的计算资源,从而加快数据处理的速度。然而仅通过单存储介质的海量数据存储,并不能满足各种检索场景的检索性能要求,因而,在此基础上本专利技术提供了一种海量数据类SQL检索场景自动识别优化技术,以满足不同检索场景的高性能检索要求。
技术实现思路
本专利技术提供了一种基于海量数据类SQL检索场景的自动识别优化方法,用于实现在海量数据检索时,对不同检索场景的存储介质最优选择及存储数据的索引使用。本专利技术的基于海量数据类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查询字符串的规则包括:(1)等值查询“=”,将a=K1转换成a:K1;a为检索字段;(2)等值查询“in”,将ain(K1,K2)转换成a:K1ora:K2;K1、K2为查询字符;(3)模糊查询“like”,将blike‘value%’转换成b:value*;b为检索字段,value为查询字符;(4)正则查询“rlike”,将brlike‘/value[b]/’转换成b:/value[b]/;(5)范围查询“>,>=,<,<=,between”,形如b>‘value’转换成b:[“value”TO*],其它范围查询类似转换。(6)全文检索“fulltext”,将bfulltext‘value’转换成b:value;(7)若查询value含有以下特殊字符:'+','-','&','|','(',')','{','本文档来自技高网...
一种基于海量数据类SQL检索场景的自动识别优化方法

【技术保护点】
一种基于海量数据类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索引,添加有效性的会话级设置。...

【技术特征摘要】
1.一种基于海量数据类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语...

【专利技术属性】
技术研发人员:王宇徐晓燕周渊刘庆良郑彩娟王振宇黄成李斌斌周游刘斌斌
申请(专利权)人:北京赛思信安技术股份有限公司国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1