CN106484815A - 一种基于海量数据类sql检索场景的自动识别优化方法 - Google Patents
一种基于海量数据类sql检索场景的自动识别优化方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query 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检索场景的自动识别优化方法,是对单表数据扫描阶段,数据索引及存储介质选择的优化。具体本发明的技术方案通过如下五个方面实现。
第一方面,在检索引擎中,以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存储介质进行检索;最后将检索结果返回。
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)
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)
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 | 哈尔滨工程大学 | 一种基于空间关系的空间场景数据检索方法 |
-
2016
- 2016-09-26 CN CN201610849786.3A patent/CN106484815B/zh active Active
Patent Citations (4)
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)
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 |