CN106484815A - 一种基于海量数据类sql检索场景的自动识别优化方法 - Google Patents

一种基于海量数据类sql检索场景的自动识别优化方法 Download PDF

Info

Publication number
CN106484815A
CN106484815A CN201610849786.3A CN201610849786A CN106484815A CN 106484815 A CN106484815 A CN 106484815A CN 201610849786 A CN201610849786 A CN 201610849786A CN 106484815 A CN106484815 A CN 106484815A
Authority
CN
China
Prior art keywords
lucene
retrieval
storage medium
scene
inquiry
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610849786.3A
Other languages
English (en)
Other versions
CN106484815B (zh
Inventor
王宇
徐晓燕
周渊
刘庆良
郑彩娟
王振宇
黄成�
李斌斌
周游
刘斌斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING SCISTOR TECHNOLOGY Co Ltd
National Computer Network and Information Security Management Center
Original Assignee
BEIJING SCISTOR TECHNOLOGY Co Ltd
National Computer Network and Information Security Management Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING SCISTOR TECHNOLOGY Co Ltd, National Computer Network and Information Security Management Center filed Critical BEIJING SCISTOR TECHNOLOGY Co Ltd
Priority to CN201610849786.3A priority Critical patent/CN106484815B/zh
Publication of CN106484815A publication Critical patent/CN106484815A/zh
Application granted granted Critical
Publication of CN106484815B publication Critical patent/CN106484815B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种基于海量数据类SQL检索场景的自动识别优化方法
技术领域
本发明属于海量数据统计分析技术领域,涉及一种基于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”,将a in(K1,K2)转换成a:K1or a:K2;K1、K2为查询字符;
(3)模糊查询“like”,将b like‘value%’转换成b:value*;b为检索字段,value为查询字符;
(4)正则查询“rlike”,将b rlike‘/value[b]/’转换成b:/value[b]/;
(5)范围查询“>,>=,<,<=,between”,形如b>‘value’转换成b:[“value”TO*],其它范围查询类似转换。
(6)全文检索“fulltext”,将b fulltext‘value’转换成b:value;
(7)若查询value含有以下特殊字符:'+','-','&','|','(',')','{','}','[',']','^','~','*','"','?','!','',':','\','/',需要对该特殊字符进行转义,转义方式:特殊字符前添加转义符'\'。
计数查询的lucene查询字符串生成规则同上,但需要添加特殊标示,以在lucene检索后,不返回数据,只进行结果集条数统计。
第五方面,在检索引擎中,对lucene存储介质、bloomfilter索引,添加有效性的会话级设置。可设置是否允许lucene存储介质或bloomfilter索引的检索操作,在下次会话时,可恢复系统默认设置。
本发明提供的自动识别优化方法,有效降低了海量数据检索时集群的资源消耗,大幅度提升了海量数据的检索性能,具体的优点和积极效果还在于:,
(1)通过允许多存储介质,优化检索;引入lucene作为可选存储介质,在海量数据扫描时,以弥补rcfile随机检索性能不佳的问题,提升检索性能;
(2)通过构建存储数据索引,优化检索效率;集群中数据以文件的形式呈现,对文件中的存储数据构建索引后,根据检索中的特定谓词条件将未命中的数据文件剔除出扫描队列,减少了集群的检索资源消耗,并为提升检索性能制造了可能;
(3)根据存储介质的检索特点对检索场景进行划分,并根据检索场景选取最优存储介质,提高检索性能。
附图说明
图1为本发明的多存储介质及数据索引框架图;
图2为本发明的数据索引优化原理示意图;
图3为本发明的检索场景判定流程图;
图4为本发明的类SQL检索场景自动识别优化流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例子,对本发明的技术方案进一步详细说明。
在根据检索场景,自动识别优化前,需经过以下流程:
1)类SQL语句词法语法分析;
2)检索语义分析;
3)逻辑计划树生成。
具体流程因与本发明无关,在此不做详述。但在逻辑计划树生成阶段,已经对scan/join/group by/order by/聚合函数等操作进行了层次划分,本发明是对单表数据扫描阶段(scan),数据索引及存储介质选择的优化。本发明通过下面五个方面来说明优化策略。
本发明的第一方面,通过允许多存储介质,优化检索。一般检索引擎仅支持单一的数据存储介质,但在不同的检索场景下,不同属性的存储介质对检索性能有极大的影响。因此,增加不同属性的存储介质为提升检索性能制造了可能。在原有的检索引擎中,数据以rcfile作为存储介质,rcfile作为一种基于行列混合存储的优秀存储介质,满足了快速数据加载和动态负载高适应的需求。在海量数据扫描时,rcfile提供了强大的顺序扫描性能,但其随机检索性能差强人意,因此为提升检索性能,本发明引入了另一种存储介质:lucene文件,lucene作为一个全文检索引擎,已经默认实现了一套强大的查询引擎,用户无需自己编写代码即可使系统获得强大的查询能力。在当前的检索引擎中,以rcfile作为主存储介质,lucene作为可选存储介质,其中lucene存储介质可选择不存储全部字段,可指定多个字段存储,并对指定字段选择分词器(用于全文检索)。rcfile与lucene间的数据同步、备份因与本发明无关,在此不做详述。
本发明的第二方面,通过构建存储数据索引,优化检索效率。集群中数据以文件的形式呈现,对文件中的存储数据构建索引后,根据检索中的特定谓词条件将未命中的数据文件剔除出扫描队列,减少了集群的检索资源消耗,并为提升检索性能制造了可能。在原有的检索引擎中,本发明对每个数据文件的可检索字段增加了bloomfilter索引,以下简称bf。bf是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合,可以准确地获取出当前数据文件的索引字段是否包含查询值。在检索时,通过特定的谓词条件,即可踢除不含当前查询结果的存储文件。对bf索引支持的谓词条件包括:(1)等值查询,例如对bf索引的字段a,查询a包含1,表示为a=1;(2)非等值查询,例如查询a不包含1,表示为a!=1;(3)In查询,是等值查询的扩展,例如查询a包含1或包含2,表示为a in(1,2)表示a=1或a=2。
本发明的第三方面,对不同检索场景的划分及最优存储介质的选择。检索场景的划分是由可选存储介质的属性决定的,在当前的检索引擎中,rcfile存储介质适用于结果集为大数据量的扫描操作,而lucene存储介质更适用于结果集为小数据量的检索操作,因此可以将检索场景划分为两个方面,即适用于rcfile的大数据结果集数据扫描场景和适用于lucene的小数据结果集数据检索场景,以下分别简称为rcfile检索场景、lucene检索场景。其中rcfile检索场景包括:
(1.1)全表扫描,类似select*from tbl;其中,tbl表示数据文件;
(1.2)范围查询,类似select*from tbl where a>1;select*from tbl where abetween 1and2;其中,a代表某个检索字段;
(1.3)非等值查询,类似select*from tbl where a!=1;select*from tbl wherea not in(1,2,3);
(1.4)NULL值查询,类似select*from tbl where a is not null。
lucene检索场景包括:
(2.1)等值查询:类似select*from tbl where a=1;select*from tbl where ain(1,2,3);
(2.2)模糊查询:类似select*from tbl where b like‘value%’;其中,b代表某个检索字段;value表示查询字符;
(2.3)正则查询:类似select*from tbl where b rlike‘/value[a]/’;
(2.4)计数查询(count):类似select count(*)from tbl where a>1。
对以AND/OR组合的多谓词条件,若每项谓词条件均符合lucene检索场景则选择lucene存储介质的检索流程,例:select*from tbl where a=1and b like‘value%’。
因为当前检索引擎对lucene存储介质的个性化设置,确定lucene检索场景前需保证:涉及的所有检索字段均被lucene存储,其中涉及的检索字段包括select字段和谓词条件字段。
本发明的第四方面,类SQL语句对应lucene语句的转换。由于lucene含有一套自身的查询语法,以进行相关数据操作,所以在确定使用lucene存储介质进行检索操作后,需要将类SQL语句中的谓词条件集转换成对应的lucene查询语法。利用lucene QueryParser提供的强大的语法解析可将查询字符串解析成lucene查询器,因此只需将谓词条件集转换成对应的lucene查询字符串即可,以下是谓词条件集转换成lucene查询字符串的流程:
(4.1)深层次遍历谓词条件集,将每个子谓词条件转换成lucene查询字符串。
(4.2)多个子谓词条件间,用AND/OR连接符组合lucene查询字符串。若子查询为组合查询,重复步骤(4.1);
各个子谓词条件转换lucene查询字符串部分规则如下:
(1)等值查询(=),a=1转换成a:1;
(2)等值查询(in),a in(1,2)转换成a:1or a:2;
(3)模糊查询(like),b like‘value%’转换成b:value*;
(4)正则查询(rlike),b rlike‘/value[b]/’转换成b:/value[b]/;
(5)范围查询(>,>=,<,<=,between),b>‘value’转换成b:[“value”TO*];
(6)全文检索(fulltext),b fulltext‘value’转换成b:value;
(7)若查询value含有以下特殊字符:'+','-','&','|','(',')','{','}','[',']','^','~','*','"','?','!','',':','\','/',需要对该特殊字符进行转义,转义方式:特殊字符前添加转义符'\'。
计数查询(count)的lucene查询字符串生成规则同上,但需要添加特殊标示,以在lucene检索后,不返回数据,只进行结果集条数统计。对无法转换成lucene查询字符串的类SQL语句,不允许进行lucene存储介质检索,例null查询、前模糊查询。
本发明的第五方面,提供存储介质、数据索引有效性的会话级设置。在当前检索引擎中,对lucene存储介质、bloomfilter索引,添加有效性的会话级设置,可设置是否允许lucene存储介质或bloomfilter索引的检索操作,在下次会话时,恢复默认设置。
如图1所示,本发明提供了一种底层数据多存储介质和数据索引管理框架。在数据管理模块,一方面,添加对新增存储介质的相关操作,包括数据创建、数据删除、数据备份等,同时保证原有存储介质与新增存储介质的数据一致性,从而达到多种存储介质并存的场景;另一方面,在新增数据文件时,对文件中的数据添加索引信息,为每个待检索字段生成对应的数据索引文件。数据索引文件可与存储介质无关,只需保证多存储介质相同数据集合的文件划分的统一。从实现角度来说,在构建数据表时,提供当前表可选择数据存储介质及可选数据索引的选项,即允许对单表的多存储介质和数据索引的自定义选择。例create table tbl(a int)stored as(rcfile,lucene(a))index as bloomfilter on(a),意思是新建数据表tbl在rcfile和lucene中存储,为数据表tbl中int类型的字段a建立bf索引。在数据加载、删除时,获取加载表的多存储介质和数据索引列表,进行相关操作。
本发明提供的数据索引优化原理如图2所示,在经过类SQL语句的词法、语法、语义分析,逻辑计划树生成后,首先,获取当前查询中涉及表的谓词条件集,对其进行循环遍历操作,剔除不符合bf索引的谓词条件,并获取数据索引文件待查询的元素。bf索引支持的谓词条件在本发明的第二方面中记载。其次,从元数据中获取当前表待查询的全部原始数据文件集合,并获取原始文件对应查询字段的bf索引文件集合。再次,通过bloomfilter算法,判定当前bf索引文件是否包含待查询元素,即原始数据文件是否包含被查询记录。最后,剔除所有未命中的原始数据文件,剩余原始数据文件集作为待检索文件集合。图2所示,获取谓词条件a=1,原始数据文件集合中的文件1、文件2和文件3的可检索字段都有a和b;字段a和b建立有bf索引。获取原始数据文件的bf索引文件,根据谓词条件在bf索引中查找字段a包含1的原始数据文件,将不包含1的文件3剔除,将包含1的原始数据文件组成待检索文件集合。
本发明提供的检索场景判定流程如图3所示,在获取谓词条件集后,首先判定谓词条件集是否为空,若为空则为rcfile检索场景,进入rcfile存储介质进行检索查询流程,否则,判定待查询表涉及的查询字段是否均被lucene存储,若符合条件则继续进行lucene检索场景判定,否则,进入rcfile存储介质进行检索。其次,判定待查询表是否为count查询,若为count查询,则不必验证谓词条件集是否为满足lucene检索场景的谓词条件集合,遍历谓词条件集获取子谓词条件,若每项子谓词条件均符合lucene检索场景则选择lucene存储介质进行检索。在对应的lucene检索场景下,将类SQL语句转换成lucene语法字符串。若不符合lucene检索场景,则为rcfile检索场景,进入rcfile存储介质进行检索查询。图3所示的虚框的检索场景中,左侧是lucene检索场景,右侧则不属于lucene检索场景。若不是count查询,需要验证谓词条件集是否为满足lucene检索场景的谓词条件集合,若是,遍历谓词条件集生成lucene语法字符串,若不是进入rcfile存储介质进行检索。满足lucene检索的谓词条件集合见本发明的第三方面。lucene语法字符串的生成在遍历谓词条件集验证是否满足lucene检索场景正确性时即可执行,在count查询时,需另开辟分支,如图3所示。Lucene语法字符串的生成规则见本发明的第四方面。最后,判断lucene语法字符串的正确性,若正确则进入lucene存储介质检索场景流程,反之,进入rcfile存储介质检索场景流程。
本发明提供的类SQL检索场景自动识别优化流程如图4所示,是对本发明自动识别优化技术的整体流程的概述。首先,在经过类SQL语句的词法、语法、语义分析,逻辑计划树生成后,判定bf索引的会话级有效性,在本发明的第二方面有说明,在bf索引为有效状态时,进行bf索引优化流程,通过bf索引缩小待扫描原始数据文件列表。若bf索引无效,不进行bf索引优化流程。其次,判定lucene存储介质的会话级有效性,在本发明的第三方面有说明。当lucene存储介质无效时,进入rcfile检索场景。当lucene存储介质为有效时,进行lucene检索场景和rcfile检索场景的判定流程。当为lucene检索场景时,遍历谓词条件集生成lucene语法字符串,进入lucene存储介质进行检索。当为rcfile检索场景时,进入rcfile存储介质进行检索。最后将检索结果返回。
应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。

Claims (6)

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语句中的谓词条件集转换成对应的lucene查询字符串;谓词条件集转换成lucene查询字符串的流程为:(4.1)遍历谓词条件集,将每个子谓词条件转换成lucene查询字符串;(4.2)多个子谓词条件间,用AND/OR连接符组合lucene查询字符串;若子查询为组合查询,重复步骤(4.1);
对无法转换成lucene查询字符串的类SQL语句,不允许进行lucene存储介质检索;
第五方面,在检索引擎中,对lucene存储介质、bloomfilter索引,添加有效性的会话级设置。
2.根据权利要求1所述的一种基于海量数据类SQL检索场景的自动识别优化方法,其特征在于,所述的第四方面中,子谓词条件转换lucene查询字符串的规则包括:
(1)等值查询“=”,将a=K1转换成a:K1;a为检索字段;
(2)等值查询“in”,将a in(K1,K2)转换成a:K1or a:K2;K1、K2为查询字符;
(3)模糊查询“like”,将b like‘value%’转换成b:value*;b为检索字段,value为查询字符;
(4)正则查询“rlike”,将b rlike‘/value[b]/’转换成b:/value[b]/;
(5)范围查询“>,>=,<,<=,between”,形如b>‘value’转换成b:[“value”TO*];
(6)全文检索“fulltext”,将b fulltext‘value’转换成b:value;
(7)若查询value含有以下特殊字符:'+','-','&','|','(',')','{','}','[',']','^','~','*','"','?','!',”,':','\','/',需要对该特殊字符进行转义,转义方式:特殊字符前添加转义符'\';
计数查询的lucene查询字符串生成规则同上,但需要添加特殊标示,以在lucene检索后,不返回数据,只进行结果集条数统计。
3.根据权利要求1所述的一种基于海量数据类SQL检索场景的自动识别优化方法,其特征在于,所述的检索引擎,设置对单表的多存储介质和数据索引的自定义选择,在构建数据表时,提供当前表可选数据存储介质及可选数据索引的选项。
4.根据权利要求1所述的一种基于海量数据类SQL检索场景的自动识别优化方法,其特征在于,所述的检索引擎,利用bf索引优化检索的过程是:在经过类SQL语句的词法、语法、语义分析,逻辑计划树生成后,首先,获取当前查询中涉及表的谓词条件集,对谓词条件集进行循环遍历操作,剔除不符合bf索引的谓词条件,获取数据索引文件待查询的元素;其次,从元数据中获取当前表待查询的全部原始数据文件集合,并获取原始数据文件对应查询字段的bf索引文件集合;再次,在bf索引文件中查找是否包含待查询元素,若包含表示命中,若不包含表示未命中;最后,剔除所有未命中的原始数据文件,将剩余原始数据文件集作为待检索文件集合。
5.根据权利要求1所述的一种基于海量数据类SQL检索场景的自动识别优化方法,其特征在于,所述的检索引擎中对检索场景进行判定的过程如下:
首先,判定谓词条件集是否为空,若为空则为rcfile检索场景,否则,判定待查询表涉及的查询字段是否均被lucene存储,若是继续进行lucene检索场景判定,否则,进入rcfile存储介质进行检索;
其次,判定待查询表是否为count查询,若是,遍历谓词条件集获取子谓词条件,若每项子谓词条件均符合lucene检索场景则选择lucene存储介质进行检索,将类SQL语句转换成lucene语法字符串;若不符合lucene检索场景,进入rcfile存储介质进行检索查询;若不是count查询,验证谓词条件集是否满足lucene检索场景,若满足,遍历谓词条件集生成lucene语法字符串,若不满足进入rcfile存储介质进行检索;
最后,判断lucene语法字符串的正确性,若正确则进入lucene存储介质进行检索,若不正确,进入rcfile存储介质进行检索。
6.根据权利要求1或4或5所述的一种基于海量数据类SQL检索场景的自动识别优化方法,其特征在于,所述的检索引擎,在经过类SQL语句的词法、语法、语义分析,逻辑计划树生成后,首先,判定bf索引会话级有效性,在bf索引有效时,通过bf索引缩小待检索数据文件列表,若bf索引无效,不进行bf索引优化检索;其次,判定lucene存储介质的会话级有效性,当lucene存储介质无效时,进入rcfile存储介质进行检索,当lucene存储介质有效时,进行lucene检索场景和rcfile检索场景的判定;当为lucene检索场景时,遍历谓词条件集生成lucene语法字符串,进入lucene存储介质进行检索;当为rcfile检索场景时,进入rcfile存储介质进行检索;最后将检索结果返回。
CN201610849786.3A 2016-09-26 2016-09-26 一种基于海量数据类sql检索场景的自动识别优化方法 Active CN106484815B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610849786.3A CN106484815B (zh) 2016-09-26 2016-09-26 一种基于海量数据类sql检索场景的自动识别优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610849786.3A CN106484815B (zh) 2016-09-26 2016-09-26 一种基于海量数据类sql检索场景的自动识别优化方法

Publications (2)

Publication Number Publication Date
CN106484815A true CN106484815A (zh) 2017-03-08
CN106484815B CN106484815B (zh) 2019-04-12

Family

ID=58267897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610849786.3A Active CN106484815B (zh) 2016-09-26 2016-09-26 一种基于海量数据类sql检索场景的自动识别优化方法

Country Status (1)

Country Link
CN (1) CN106484815B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649462A (zh) * 2016-09-26 2017-05-10 北京赛思信安技术股份有限公司 一种针对海量数据全文检索场景的实现方法
CN112559513A (zh) * 2019-09-10 2021-03-26 网易(杭州)网络有限公司 链路数据存取方法、装置、存储介质、处理器及电子装置
CN112579635A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 一种sql语句的优化方法、装置、电子设备及存储介质
CN114398378A (zh) * 2022-03-25 2022-04-26 北京奥星贝斯科技有限公司 确定索引代价的方法和装置
CN117909389A (zh) * 2024-03-19 2024-04-19 成都虚谷伟业科技有限公司 一种sql模糊查询方法、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136016A (zh) * 2006-09-01 2008-03-05 北大方正集团有限公司 一种全文检索系统的索引在线更新方法
CN103020213A (zh) * 2012-12-07 2013-04-03 福建亿榕信息技术有限公司 具有明显类别划分的非结构化电子文档的检索方法和系统
CN103714058A (zh) * 2012-09-28 2014-04-09 Sap股份公司 数据库查询的优化
CN104850620A (zh) * 2015-05-18 2015-08-19 哈尔滨工程大学 一种基于空间关系的空间场景数据检索方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136016A (zh) * 2006-09-01 2008-03-05 北大方正集团有限公司 一种全文检索系统的索引在线更新方法
CN103714058A (zh) * 2012-09-28 2014-04-09 Sap股份公司 数据库查询的优化
CN103020213A (zh) * 2012-12-07 2013-04-03 福建亿榕信息技术有限公司 具有明显类别划分的非结构化电子文档的检索方法和系统
CN104850620A (zh) * 2015-05-18 2015-08-19 哈尔滨工程大学 一种基于空间关系的空间场景数据检索方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649462A (zh) * 2016-09-26 2017-05-10 北京赛思信安技术股份有限公司 一种针对海量数据全文检索场景的实现方法
CN106649462B (zh) * 2016-09-26 2019-11-08 北京赛思信安技术股份有限公司 一种针对海量数据全文检索场景的实现方法
CN112559513A (zh) * 2019-09-10 2021-03-26 网易(杭州)网络有限公司 链路数据存取方法、装置、存储介质、处理器及电子装置
CN112579635A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 一种sql语句的优化方法、装置、电子设备及存储介质
CN114398378A (zh) * 2022-03-25 2022-04-26 北京奥星贝斯科技有限公司 确定索引代价的方法和装置
CN117909389A (zh) * 2024-03-19 2024-04-19 成都虚谷伟业科技有限公司 一种sql模糊查询方法、设备及存储介质
CN117909389B (zh) * 2024-03-19 2024-06-11 成都虚谷伟业科技有限公司 一种sql模糊查询方法、设备及存储介质

Also Published As

Publication number Publication date
CN106484815B (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
US12032576B2 (en) Joining large database tables
CN107169033B (zh) 基于数据模式转换和并行框架的关系数据查询优化方法
CN103177058B (zh) 存储为行存储和列存储二者的混合数据库表
Zhang et al. EAGRE: Towards scalable I/O efficient SPARQL query evaluation on the cloud
CN103177056B (zh) 存储为行存储和列存储二者的混合数据库表
CN106484815B (zh) 一种基于海量数据类sql检索场景的自动识别优化方法
CN102270232B (zh) 一种存储优化的语义数据查询系统
EP2519897B1 (en) Method and system for carrying out searches in a database
US8229916B2 (en) Method for massively parallel multi-core text indexing
CN102541631B (zh) 以多线程不同驱动源执行计划处理查询的方法和系统
CN100399324C (zh) 嵌入式数据库查询的处理方法
Khouri et al. A methodology and tool for conceptual designing a data warehouse from ontology-based sources
CN103559189A (zh) 基于元数据集成模型的电力仿真培训资源管理系统及方法
CN101710336A (zh) 一种利用关系中间件加速数据处理的方法
KR101955376B1 (ko) 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치
CN114372174A (zh) 一种xml文档分布式查询方法及系统
Khelil et al. Combining graph exploration and fragmentation for scalable RDF query processing
CN106354721A (zh) 基于权限的检索方法和装置
CN106339432A (zh) 一种按查询内容进行负载均衡的系统及其方法
Zhu et al. Developing a dynamic materialized view index for efficiently discovering usable views for progressive queries
Werner et al. Automated composition and execution of hardware-accelerated operator graphs
Rodrigues et al. Virtual partitioning ad-hoc queries over distributed XML databases
CN111813777B (zh) Olap自动创建并写入mq数据的方法及系统
US12124460B2 (en) Deep mining of enterprise data sources
Jouini Aggregates Selection in Replicated Document-Oriented Databases.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant