CN112380275B - 数据查询方法、装置及电子设备 - Google Patents
数据查询方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112380275B CN112380275B CN202110051524.3A CN202110051524A CN112380275B CN 112380275 B CN112380275 B CN 112380275B CN 202110051524 A CN202110051524 A CN 202110051524A CN 112380275 B CN112380275 B CN 112380275B
- Authority
- CN
- China
- Prior art keywords
- data
- attribute
- value
- interval
- database
- 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.)
- Active
Links
Images
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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/2282—Tablespace storage structures; Management thereof
-
- 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/248—Presentation of query results
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据查询方法、装置及电子设备,涉及数据处理技术领域,该方法包括:接收针对目标数据的查询请求;根据该目标数据的数据属性和属性值要求,确定该目标数据所在的数据集;其中,该数据库的数据预先根据该数据属性集,以及该数据属性集中各个数据属性的属性值,划分为多个数据集;根据确定出的数据集,得到查询结果。本发明实施例通过预先根据数据属性和其属性值将数据库中的数据划分成多个数据集,当需要查询目标数据时,可以根据目标数据的数据属性和属性值快速定位该目标数据所在的数据集,进而将查询范围缩小在某一个或多个数据集中,大大减少了查询数据量,提高了检索效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种数据查询方法、装置及电子设备。
背景技术
常规的分布式数据库的分库分表策略里,一般选取库表的某一列作为分区列(sharding key),然后按照分区策略(如Hash、List、Range等)将库表数据分布在若干个数据库节点中。但在实际应用中,某些业务访问并不按照分区列进行检索,导致查询操作需要遍历集群中所有数据库节点的存储引擎,效率大打折扣。为了解决这个问题,常用的解决方案有:
(1)高频优先方案:根据业务的访问特征,选取访问频率最高的请求对应的检索列作为分区列。该方案在查询检索列特征发生变化时即会失效,从而降低检索效率。例如,假设当前第1列为经常查询的检索列,随着业务特征的变化,第2列变成高频列,此时基于第1列的索引就失效了。
(2)全局索引:在选取分区列的基础上,构建二级索引。原理是将非分区列的值与分区列的值建立映射关系,当使用非分区列检索时,能快速映射到对应的数据分片所对应的存储引擎,从而提高查询效率。该方案需要构建全局索引单元,数据的增、删、改都会涉及到全局索引的变更,单路请求的往返时延(Round-Trip Time,RTT)时间变长,维护成本和检索交互成本较高。
整体而言,现有按照分区列进行数据检索的方式,要么检索性能不稳定,影响检索效率,要么检索的维护和交互成本较高。
发明内容
有鉴于此,本发明的目的在于提供一种数据查询方法、装置及电子设备,可以提高检索效率,提升检索性能的稳定性,并降低检索的维护和交互成本。
第一方面,本发明实施例提供了一种数据查询方法,应用于数据库服务器,该数据库服务器中运行有数据库,该方法包括:接收针对目标数据的查询请求;其中,该查询请求中携带有该目标数据的数据属性,以及该数据属性的属性值要求,该数据属性为预设数据属性集中的至少一个,预设数据属性集包括多个数据属性;根据该目标数据的数据属性和属性值要求,确定该目标数据所在的数据集;其中,该数据库的数据预先根据该数据属性集,以及该数据属性集中各个数据属性的属性值,划分为多个数据集;根据确定出的数据集,得到查询结果。
在本发明可选的实施例中,数据库的数据预先根据数据属性集,以及数据属性集中各个数据属性的属性值,划分为多个数据集的步骤,包括:从该数据库中数据的数据属性中选取预设数目的数据属性,构成数据属性集;获取该数据属性集中各个数据属性的属性值的取值区间;将该取值区间划分为多个取值子区间;根据该数据属性集中的数据属性,和该数据属性对应的多个取值子区间,将该数据库中的数据划分为多个数据集。
在本发明可选的实施例中,上述根据该数据属性集中的数据属性,和该数据属性对应的多个取值子区间,将该数据库中的数据划分为多个数据集的步骤,包括:对该数据属性集中的每一个数据属性,从该数据属性的多个取值子区间中任意选取一个取值子区间,根据选取的取值子区间构成区间组合,得到多个区间组合;将数据库中的数据映射到该多个区间组合,得到多个数据集。
在本发明可选的实施例中,上述方法还包括:为每个该取值子区间设置对应的区间编号,每个数据属性的各个取值子区间具有不同的区间编号;对该多个数据集中的每一个数据集,根据该数据集对应的区间组合中各个取值子区间的区间编号构成编号串;关联该编号串和该数据集的保存子表名。
在本发明可选的实施例中,上述根据该数据集对应的区间组合中各个取值子区间的区间编号构成编号串的步骤,包括:根据该数据属性集中各个数据属性的逻辑关系,确定该数据集对应的区间组合中各个取值子区间的区间编号的排列顺序;根据该排列顺序对该区间编号进行排序,得到该数据集对应的编号串。
在本发明可选的实施例中,上述关联该编号串和该数据集的保存子表名的步骤,包括:以该编号串作为该数据集的保存子表名的后缀。
在本发明可选的实施例中,上述方法还包括:按照预设的映射规则,将该多个数据集存储到预设的多个数据库节点中。
在本发明可选的实施例中,上述根据该目标数据的数据属性和该属性值要求,确定该目标数据所在的数据集的步骤,包括:对于该目标数据的每个数据属性,根据该数据属性的属性值要求,确定该数据属性对应的一个或多个取值子区间;根据确定出的每个数据属性对应的取值子区间的区间编号,生成至少一个编号串,每个编号串包括每个数据属性的一个取值子区间的区间编号;查找与每个编号串关联的保存子表名,将查找到的保存子表名对应的数据集确定为目标数据所在的数据集。
在本发明可选的实施例中,上述多个数据集存储在预设的多个数据库节点中;上述根据确定出的该数据集,得到查询结果的步骤,包括:判断确定出的该数据集的数目是否多于一个;如果否,将该查询请求转发到该数据集所在的数据库节点的存储引擎,以通过该数据库节点的存储引擎查询该数据集,得到查询结果。
在本发明可选的实施例中,上述方法还包括:如果确定出的该数据集的数目多于一个,将该查询请求转化为查询每个确定出的数据集的子语句;将该子语句转发到对应数据集所在的数据库节点的存储引擎,以通过该数据库节点的存储引擎查询该数据集,得到对应的查询子结果;将该查询子结果聚合汇总,得到查询结果。
在本发明可选的实施例中,上述方法还包括:监测该取值子区间对应的数据的访问热度;如果该访问热度超过预设的第一热度阈值,对该取值子区间进行拆分;如果该访问热度低于预设的第二热度阈值,将该取值子区间合并到与该取值子区间相邻的取值子区间。
第二方面,本发明实施例还提供了一种数据查询装置,应用于数据库服务器,该数据库服务器中运行有数据库,该装置包括:查询请求接收模块,用于接收针对目标数据的查询请求;其中,该查询请求中携带有该目标数据的数据属性,以及该数据属性的属性值要求,该数据属性为预设数据属性集中的至少一个,预设数据属性集包括多个数据属性;数据集确定模块,用于根据该目标数据的数据属性和属性值要求,确定该目标数据所在的数据集;其中,该数据库的数据预先根据该数据属性集,以及该数据属性集中各个数据属性的属性值,划分为多个数据集;查询结果模块,用于根据确定出的该数据集,得到查询结果。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被该处理器执行的计算机可执行指令,该处理器执行该计算机可执行指令以实现上述数据查询方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述数据查询方法。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种数据查询方法、装置及电子设备,接收针对目标数据的查询请求;其中,该查询请求中携带有该目标数据的数据属性,以及该数据属性的属性值要求,该数据属性为预设数据属性集中的至少一个,预设数据属性集包括多个数据属性;根据该目标数据的数据属性和属性值要求,确定该目标数据所在的数据集;其中,该数据库的数据预先根据该数据属性集,以及该数据属性集中各个数据属性的属性值,划分为多个数据集;根据确定出的数据集,得到查询结果。该方式中,通过预先根据数据属性和其属性值将数据库中的数据划分成多个数据集,当需要查询目标数据时,可以根据目标数据的数据属性和属性值快速定位该目标数据所在的数据集,进而将查询范围缩小在某一个或多个数据集中,大大减少了查询数据量,提高检索效率;并且,由于该方式不需要构建全局索引单元,当数据库中的数据有增删改等变更时,也不需要维护该全局索引单元,从而降低了维护成本。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据查询方法的流程示意图;
图2为本发明实施例提供的一种将数据库中的数据划分为多个数据集的流程示意图;
图3为本发明实施例提供的一种行查询的应用示意图;
图4为本发明实施例提供的一种范围查询的应用示意图;
图5为本发明实施例提供的一种数据查询装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
图标:51-查询请求接收模块;52-数据集确定模块;53-查询结果模块;61-处理器;62-存储器;63-总线;64-通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到现有按照分区列进行数据检索的方式,要么检索效率较低,要么检索的维护和交互成本较高的问题,本发明实施例提供的一种数据查询方法、装置及电子设备,该技术可以应用于各种类型数据库的查询应用中。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据查询方法进行详细介绍。
参见图1,所示为本发明实施例提供的一种数据查询方法的流程示意图,其中,该方法应用于数据库服务器,且数据库服务器中运行有数据库,该数据库包括数据库管理系统和数据库数据,数据库管理系统包括数据库的存储引擎。由图1可见,该方法包括下述步骤:
步骤S102:接收针对目标数据的查询请求;其中,该查询请求中携带有该目标数据的数据属性,以及该数据属性的属性值要求,该数据属性为预设数据属性集中的至少一个,预设数据属性集包括多个数据属性。
这里,数据属性反映目标数据的特点,例如,假设目标数据是关于时间的数据,则其数据属性可以是年、月、日、时、分、秒等等,并且,其属性值要求可以是,例如要求查询年份大于2010年的、月份在1月至3月之间的数据;如果该目标数据是关于学生群体的组织结构数据,则对应的数据属性可以是年级、班级、小组等属性,相应的属性值要求可以是,例如要求查询二年级中所有班级里所有小组的数据。
在实际操作中,目标数据的数据属性可以是综合性的,例如可以包括时间和组织结构,对应的属性值要求例如可以是:要求查询2010年至2012年之间三年级二班一组的数据。根据不同的应用场景,上述数据属性可以有不同的组合,在此不作限制。
步骤S104:根据该目标数据的数据属性和属性值要求,确定该目标数据所在的数据集;其中,该数据库的数据预先根据该数据属性集,以及该数据属性集中各个数据属性的属性值,划分为多个数据集。
由于数据库中的数据是预先根据预设数据属性集中的各个数据属性和数据属性对应的属性值进行划分的,从而划分得到的数据集对应有各个数据属性的不同属性值。
例如,假设数据属性集中的数据属性包括年、月、日、时这四个属性,其中,年属性根据属性值划分为2010年之前和2010年之后两个区间;月属性根据其属性值划分为1~6月和7~12月两个区间;日属性根据其属性值划分为1~10号,11~20号和21~31号三个区间;时属性根据其属性值划分为1~8小时,9~16小时和17~24小时三个区间。这样,基于上述划分规则对数据库进行划分,最终得到36个(2*2*3*3)数据集。这里,数据集可以是子表的形式,也即,数据库中的库表基于数据属性集和该数据属性集中各个数据属性的属性值,划分为多个子表。
这样,假设目标数据的数据属性是包括年、月、日,并且属性值要求为:查询2015年3月15号的数据时,则可以根据年属性的属性值要求2015确定其属于2010年之后的区间,3月属于1~6月的区间,15号属于11~20号区间,从而可以从数据库中预先划分的36个数据集中,确定出目标数据所在的数据集为:2010年之后1~6月11~20号对应的数据集。
步骤S106:根据确定出的数据集,得到查询结果。
在确定出目标数据所在的数据集后,即可根据该查询请求在该数据集中进行检索,这里,确定出的数据集可以是一个或多个,相比于从整个数据库中进行查找,这种方式将查询范围缩小在某一个或多个数据集中,大大减少了查询数据量,从而提高了检索效率。
相比于现有技术中的全局索引的方式,本方式不需要构建全局索引单元,当数据库中的数据有增删改等变更时,也不需要维护该全局索引单元,从而降低了维护成本。
本发明实施例提供的一种数据查询方法,接收针对目标数据的查询请求;其中,该查询请求中携带有该目标数据的数据属性,以及该数据属性的属性值要求,该数据属性为预设数据属性集中的至少一个;根据该目标数据的数据属性和属性值要求,确定该目标数据所在的数据集;其中,该数据库的数据预先根据该数据属性集,以及该数据属性集中各个数据属性的属性值,划分为多个数据集;根据确定出的数据集,得到查询结果。该方式中,通过预先根据数据属性和其属性值将数据库中的数据划分成多个数据集,当需要查询目标数据时,可以根据目标数据的数据属性和属性值快速定位该目标数据所在的数据集,进而将查询范围缩小在某一个或多个数据集中,大大减少了查询数据量,提高检索效率;并且,由于该方式不需要构建和维护全局索引单元,因此其维护成本更低。
在图1所示数据查询方法的基础上,本实施例重点描述了该方法中“数据库的数据预先根据该数据属性集,以及该数据属性集中各个数据属性的属性值,划分为多个数据集”的具体实现过程。
参见图2,其为一种将数据库中的数据划分为多个数据集的流程示意图,由图2可见,该流程包括下述步骤:
步骤S202:从该数据库中数据的数据属性中选取预设数目的数据属性,构成数据属性集。
这里,选取构成数据属性集的数据属性用于构建对该数据库中的数据进行划分的规则,数据库中的数据可能有很多属性,可以仅选取其中的部分数据属性。例如,以学生群体的作业成绩数据为例,其数据属性可以包括:年级、班级、小组、学号、姓名、分数、科目、班主任等等,原本数据库中的这些成绩数据并没有划分成多块(或多个子表),而是一个整体;如果要将这些数据划分,则可以从其中选取几个数据属性构成数据属性集,例如,可以选取年级、班级、小组三个属性,对数据进行划分。
步骤S204:获取该数据属性集中各个数据属性的属性值的取值区间。
仍以上述作业成绩的例子说明,假设数据库中的所有成绩数据包括一年级至六年级,班级包括一班至八班,每个班级包括第一小组至第四小组,则所选取的年级、班级、小组这三个属性,分别对应的取值区间为:年级属性的属性值的取值区间为1~6;班级的属性取值区间为1~8;小组的取值区间为1~4。
步骤S206:将该取值区间划分为多个取值子区间。
例如,可以将年级的取值区间划分为1~3的低年级和4~6的高年级两个区间;班级的取值区间划分为1~2的精英班,3~4的强化班,5~8的普通班三个区间;小组的取值区间划分为1组、2组、3组和4组四个区间。
步骤S208:根据该数据属性集中的数据属性,和该数据属性对应的多个取值子区间,将该数据库中的数据划分为多个数据集。
在其中一种可能的实施方式中,可以通过下述步骤11-12进行数据集的划分:
(11)对该数据属性集中的每一个数据属性,从该数据属性的多个取值子区间中任意选取一个取值子区间,并根据选取的取值子区间构成区间组合,得到多个区间组合;
(12)将数据库中的数据映射到该多个区间组合,得到多个数据集。
例如,根据上述步骤S206中的例子,可以得到多个数据集的情况如下表1所示:
表1 学生作业成绩划分情况
低年级精英班1组 | 低年级精英班2组 | 低年级精英班3组 | 低年级精英班4组 |
低年级强化班1组 | 低年级强化班2组 | 低年级强化班3组 | 低年级强化班4组 |
低年级普通班1组 | 低年级普通班2组 | 低年级普通班3组 | 低年级普通班4组 |
高年级精英班1组 | 高年级精英班2组 | 高年级精英班3组 | 高年级精英班4组 |
高年级强化班1组 | 高年级强化班2组 | 高年级强化班3组 | 高年级强化班4组 |
高年级普通班1组 | 高年级普通班2组 | 高年级普通班3组 | 高年级普通班4组 |
这样,根据上述划分规则,可以将所有学生作业成绩数据划分成24个数据集(或子表),基于上述已经划分好的数据库,当需要查询目标数据时,可以大大提高查询效率。例如,如果要查询2年级3班4组张三的作业成绩时,通过目标查询数据中各个数据属性的属性值:年级的属性值为2(判断为低年级),班级的属性值为3(判断为强化班),小组的属性值为4(判断为4组),从而可以快速定位目标数据所在的数据集为:低年级强化班4组,从而,可以将检索范围确定在“低年级强化班4组”这一数据集中,从中查找张三的作业成绩,由于大大减少了查询范围,可以有效提升查询效率。
在实际操作中,为了快速定位目标数据所在数据集,在其中一种可能的实施方式中,还通过下述步骤21-23建立数据集与其取值区间的联系:
(21)为每个取值子区间设置对应的区间编号,其中每个数据属性的各个取值子区间具有不同的区间编号。
这里,编号可以是数字、字母或其他标记。
(22)对该多个数据集中的每一个数据集,根据该数据集对应的区间组合中各个取值子区间的区间编号构成编号串。
例如,假设年级属性包括低年级和高年级两个子区间,其中,低年级编号为A,高年级编号为B;相应地,设置精英班编号为x,强化班编号为y,普通班编号为z;1组编号为1,2组编号为2,3组编号为3,4组编号为4。那么,对于任一个数据集,根据其各个取值子区间的编号,可以组合得到对应的编号串,例如,低年级精英班1组,可以由其对应的区间编号:A、x、1构建得到编号串,比如:Ax1、A1x、1Ax等等。
在至少一种可能的实施方式中,可以根据该数据属性集中各个数据属性的逻辑关系,确定该数据集对应的区间组合中各个取值子区间的区间编号的排列顺序;然后,根据该排列顺序对该区间编号进行排序,得到该数据集对应的编号串。
例如,上述作业成绩的例子中,选取的数据属性集中包括年级、班级和小组三个数据属性,可以根据从组织结构上的逻辑关系进行大到小的排序,构成“年级-班级-小组”的顺序,从而得到每个数据集对应的编号串。比如,低年级精英班1组的编号串为“Ax1”,高年级强化班2组的编号串为“By2”,相应地,可以获得其他数据集对应的编号串。在其他可能的实施方式中,还可以在编号串中各个编号之间添加连接线等,例如,高年级强化班2组的编号串可以记作:B-y-2,或者,B_y_2。
(23)关联该编号串和该数据集的保存子表名。
在按上述方式确定各个数据集对应的编号串后,关联该编号串和对应数据集的保存子表名,例如,可以以该编号串作为该数据集的保存子表名的后缀。比如,高年级强化班2组的编号串为“By2”,则该数据集的子表名可以是:Table. By2,或者Table- B-y-2,或者Table_ B_y_2。
这样,在上述将数据库中数据集与编号串关联后,当进行目标数据的查询时,可以通过下述步骤31-33确定目标数据所在的数据集:
(31)对于该目标数据的每个数据属性,根据该数据属性的属性值要求,确定该数据属性对应的一个或多个取值子区间;
(32)根据确定出的每个数据属性对应的取值子区间的区间编号,生成至少一个编号串,每个编号串包括每个数据属性的一个取值子区间的区间编号;
(33)查找与每个编号串关联的保存子表名,将查找到的保存子表名对应的数据集确定为目标数据所在的数据集。
例如,查询2年级3班4组张三的作业成绩时,通过目标查询数据中各个数据属性的属性值可以快速定位目标数据所在的数据集为:低年级强化班4组,根据前述关于数据集子表名的构建方式,确定其对应的编号串为A_y_4,从而在数据库中查找与该编号串关联的子表名,即可查找到Table_ A_y_4,该数据集即为目标数据所在的数据集。
本实施例提供的数据查询方法,可以根据目标数据的数据属性和属性值快速定位该目标数据所在的数据集,进而将查询范围缩小在某一个或多个数据集中,提高了检索效率。
为了更清楚理解上述数据查询方法,本实施例分别介绍了通过上述数据查询方法进行行查询和范围查询的应用实例。
参见图3,其为一种行查询的应用示意图,在图3示出的实施方式中,该数据库中的数据(总表)预先通过前述方式划分为多个数据集(子表),并且,划分得到的数据集的名称的后缀即为该数据集对应多个取值子区间的区间编号构成的编号串。在图3中,该数据库中划分得到的多个数据集按照预设的映射规则,存储到预设的多个数据库节点中,由对应的数据库存储引擎管理。在其中一种可能的实施方式中,可以将上述数据集平均分配到各个数据库节点中;此外,也可以根据各个数据集的访问热度设置相应的存储策略,以平衡各个数据库存储引擎的负荷。
其中,在将数据库的数据划分为多个数据集时,首先确定各整数列的值域范围[start,end],然后按照整数列的数据分布特征以及访问特征,将值域分为N个区间,其中,不同的整数列划分的区间数不同。
如图3所示,假设表TABLE共有N个列,其中第1、2、3列为整数列(分别对应col1,col2, col3),对每一列的值域区间划分如下:
当接收到用户的行查询SQL请求时,首先计算SQL请求中涉及到的整数列对应的值域区间,例如图3中的点查询[select * from TABLE where col1=15 and col2=60 andcol3=10],分别将where条件中col1(15)、col2(60)和col3(10)对应的区间计算出来,得到:
col1的值位于第2区间;
col2的值位于第3区间;
col3的值位于第1区间。
因此,可以判定查询的数据位于子表(也即数据集)Table_2_3_1。然后将SQL请求转发到子表Table_2_3_1所在的数据库节点的存储引擎DD2,获得结果并返回给用户。
在另一种范围查询的应用场景中,由于查询到的数据集可能是一个或者多个,为了进一步提高查询的效率,可以在确定出目标数据所在的数据集之后,通过下述步骤41-43获得查询结果:
(41)判断确定出的该数据集的数目是否多于一个;
(42)如果否,将该查询请求转发到该数据集所在的数据库节点的存储引擎,以通过该数据库节点的存储引擎查询该数据集,得到查询结果;
(43)如果是,将该查询请求转化为查询每个确定出的数据集的子语句;将该子语句转发到对应数据集所在的数据库节点的存储引擎,以通过该数据库节点的存储引擎查询该数据集,得到对应的查询子结果;并将该查询子结果聚合汇总,得到查询结果。
参见图4,其为一种范围查询的应用示意图,其中,当接收到用户的范围查询SQL请求时,首先计算SQL请求中涉及到的整数列对应的值域区间,例如图4的范围查询[select *from TABLE where col1<15 and col2=60 and col3>20],分别将where条件中col1(15)、col2(60)和col3(20)对应的区间计算出来,得到:
col1的值位于第1,2区间;
col2的值位于第3区间;
col3的值位于第2,3,…,T区间。
因此,可以判定查询的数据涉及子表(也即数据集)列表为:
Table_1_3_2,Table_1_3_3,Table_1_3_4,……,Table_1_3_T;
Table_2_3_2,Table_2_3_3,Table_2_3_4,……,Table_2_3_T。
将SQL请求转化为查询各个子表的子语句(如图4中所示),并按照目标数据库节点的存储引擎进行子语句聚合,然后将获取到的结果汇总后返回给用户。
在实际操作中,数据属性中的每个取值子区间的访问热度可能不同,例如,对于上述作业数据的例子,可能对精英班的成绩关注热度较高,因此为了合理均衡数据库存储引擎的负荷,还可以根据数据的访问热度,对整数列(数据属性)的取值区间分区进行调整,例如,将热点访问数据的取值区间进行拆分,从而将一部分访问压力分担到其他数据库节点的存储引擎上。这里,通过下述步骤51-52进行分区调整:
(51)监测该取值子区间对应的数据的访问热度;
(52)如果该访问热度超过预设的第一热度阈值,对该取值子区间进行拆分;如果该访问热度低于预设的第二热度阈值,将该取值子区间合并到与该取值子区间相邻的取值子区间。
这样,即可以实现对于热点数据的区间进行拆分,从而分担到不同的存储引擎;对于冷点数据的区间进行合并,优化存储。其中,上述分区合并、分区拆分可在线进行,并且,在该过程中涉及到子表的拆分和子表的合并,其操作过程可借助分布式数据库的rebalance重分布机制完成。
如此,对于访问热度较高的数据集,可以通过调整数据划分规则,将该热点数据集进一步拆分为多个数据集,对数据集进行重分布,将热点数据的查询分担到不同的存储引擎,从而缓解因集中访问某个存储引擎造成的压力;并且,对于访问热点较低的数据集,通过将冷点数据集进行合并,进一步优化存储,提升了数据库服务的稳定性。
本实施例提供的数据查询方法,通过对库表的每个整数列的值域进行分区划分,将数据库库表的行内容中对应的整数列的值映射到对应的阈值分区,得到分区号,然后将该组分区号联合起来作为库表子表的名称后缀,数据库计算引擎负责映射库表子表到数据库分片。通过该方式,在检索数据时,可直接根据检索条件计算得出对应的库表子表的后缀列表,并根据子表和数据库分片的对应关系,快速映射到相应的数据库分片和库表子表,从而达到提高检索效率的目的。该方式支持多列联合索引查询,通过计算即可确定子表范围,节省了索引存储和索引更新的开销;其还支持行查询和范围查询的子表定位复杂度O(1),效率极高;此外,该方式还可在线通过更新列值分区规则,实现数据和流量的重分布,灵活性更好。
对应于图1中所示的数据查询方法,本发明实施例还提供了一种数据查询装置,如图5所示,其为一种数据查询装置的结构示意图,该装置应用于数据库服务器。由图5可见,该装置包括依次连接的查询请求接收模块51、数据集确定模块52和查询结果模块53,其中,各个模块的功能如下:
查询请求接收模块51,用于接收针对目标数据的查询请求;其中,该查询请求中携带有该目标数据的数据属性,以及该数据属性的属性值要求,该数据属性为预设数据属性集中的至少一个,预设数据属性集包括多个数据属性;
数据集确定模块52,用于根据该目标数据的数据属性和属性值要求,确定该目标数据所在的数据集;其中,该数据库的数据预先根据该数据属性集,以及该数据属性集中各个数据属性的属性值,划分为多个数据集;
查询结果模块53,用于根据确定出的该数据集,得到查询结果。
在其中一种可能的实施方式中,上述装置还包括数据集划分模块,用于:从该数据库中数据的数据属性中选取预设数目的数据属性,构成数据属性集;获取该数据属性集中各个数据属性的属性值的取值区间;将该取值区间划分为多个取值子区间;根据该数据属性集中的数据属性,和该数据属性对应的多个取值子区间,将该数据库中的数据划分为多个数据集。
在另一种可能的实施方式中,上述数据集划分模块还用于:对该数据属性集中的每一个数据属性,从该数据属性的多个取值子区间中任意选取一个取值子区间,根据选取的取值子区间构成区间组合,得到多个区间组合;将数据库中的数据映射到该多个区间组合,得到多个数据集。
在另一种可能的实施方式中,上述装置还包括数据集命名模块,用于:为每个该取值子区间设置对应的区间编号,每个数据属性的各个取值子区间具有不同的区间编号;对该多个数据集中的每一个数据集,根据该数据集对应的区间组合中各个取值子区间的区间编号构成编号串;关联该编号串和该数据集的保存子表名。
在另一种可能的实施方式中,上述数据集命名模块还用于:根据该数据属性集中各个数据属性的逻辑关系,确定该数据集对应的区间组合中各个取值子区间的区间编号的排列顺序;根据该排列顺序对该区间编号进行排序,得到该数据集对应的编号串。
在另一种可能的实施方式中,上述数据集命名模块还用于:以该编号串作为该数据集的保存子表名的后缀。
在另一种可能的实施方式中,上述装置还包括映射模块,用于:按照预设的映射规则,将该多个数据集存储到预设的多个数据库节点中。
在另一种可能的实施方式中,上述查询结果模块53还用于:对于该目标数据的每个数据属性,根据该数据属性的属性值要求,确定该数据属性对应的一个或多个取值子区间;根据确定出的每个数据属性对应的取值子区间的区间编号,生成至少一个编号串,每个编号串包括每个数据属性的一个取值子区间的区间编号;查找与每个编号串关联的保存子表名,将查找到的保存子表名对应的数据集确定为目标数据所在的数据集。
在另一种可能的实施方式中,上述多个数据集存储在预设的多个数据库节点中;上述查询结果模块53还用于:判断确定出的该数据集的数目是否多于一个;如果否,将该查询请求转发到该数据集所在的数据库节点的存储引擎,以通过该数据库节点的存储引擎查询该数据集,得到查询结果。
在另一种可能的实施方式中,上述查询结果模块53还用于:如果确定出的该数据集的数目多于一个,将该查询请求转化为查询每个确定出的数据集的子语句;将该子语句转发到对应数据集所在的数据库节点的存储引擎,以通过该数据库节点的存储引擎查询该数据集,得到对应的查询子结果;将该查询子结果聚合汇总,得到查询结果。
在另一种可能的实施方式中,上述装置还包括区间调整模块,用于:监测该取值子区间对应的数据的访问热度;如果该访问热度超过预设的第一热度阈值,对该取值子区间进行拆分;如果该访问热度低于预设的第二热度阈值,将该取值子区间合并到与该取值子区间相邻的取值子区间。
本发明实施例提供的数据查询装置,其实现原理及产生的技术效果和前述数据查询方法实施例相同,为简要描述,数据查询装置的实施例部分未提及之处,可参考前述数据查询方法实施例中相应内容。
本发明实施例还提供了一种电子设备,如图6所示,为该电子设备的结构示意图,其中,该电子设备包括处理器61和存储器62,该存储器62存储有能够被该处理器61执行的机器可执行指令,该处理器61执行该机器可执行指令以实现上述数据查询方法。
在图6示出的实施方式中,该电子设备还包括总线63和通信接口64,其中,处理器61、通信接口64和存储器62通过总线连接。
其中,存储器62可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口64(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器61可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器61中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器61可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器61读取存储器62中的信息,结合其硬件完成前述实施例的数据查询方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述数据查询方法,具体实现可参见前述方法实施例,在此不再赘述。
本发明实施例所提供的数据查询方法、数据查询装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的数据查询方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种数据查询方法,其特征在于,应用于数据库服务器,所述数据库服务器中运行有数据库,所述方法包括:
接收针对目标数据的查询请求;其中,所述查询请求中携带有所述目标数据的数据属性,以及所述数据属性的属性值要求,所述数据属性为预设数据属性集中的至少一个,所述预设数据属性集包括多个数据属性;
对于所述目标数据的每个数据属性,根据该数据属性的属性值要求,确定该数据属性对应的一个或多个取值子区间;
根据确定出的每个所述数据属性对应的取值子区间的区间编号,生成至少一个编号串,每个所述编号串包括每个所述数据属性的一个所述取值子区间的区间编号;
查找与每个所述编号串关联的保存子表名;
将查找到的保存子表名对应的数据集确定为所述目标数据所在的数据集;
其中,所述数据库的数据预先根据所述数据属性集,以及所述数据属性集中各个数据属性的属性值,划分为多个数据集;
所述数据库的数据预先根据所述数据属性集,以及所述数据属性集中各个数据属性的属性值,划分为多个数据集的步骤,包括:
从所述数据库中数据的数据属性中选取预设数目的数据属性,构成数据属性集;
获取所述数据属性集中各个数据属性的属性值的取值区间;
将所述取值区间划分为多个取值子区间;
对所述数据属性集中的每一个数据属性,从该数据属性的多个取值子区间中任意选取一个取值子区间,根据选取的取值子区间构成区间组合,得到多个区间组合;
将数据库中的数据映射到所述多个区间组合,得到多个数据集;
为每个所述取值子区间设置对应的区间编号,每个所述数据属性的各个所述取值子区间具有不同的所述区间编号;
对所述多个数据集中的每一个数据集,根据该数据集对应的区间组合中各个取值子区间的区间编号构成编号串;
以所述编号串作为所述数据集的保存子表名的后缀;
根据确定出的所述数据集,得到查询结果。
2.根据权利要求1所述的数据查询方法,其特征在于,所述根据该数据集对应的区间组合中各个取值子区间的区间编号构成编号串的步骤,包括:
根据所述数据属性集中各个数据属性的逻辑关系,确定该数据集对应的区间组合中各个取值子区间的区间编号的排列顺序;
根据所述排列顺序对所述区间编号进行排序,得到该数据集对应的编号串。
3.根据权利要求1所述的数据查询方法,其特征在于,所述方法还包括:
按照预设的映射规则,将所述多个数据集存储到预设的多个数据库节点中。
4.根据权利要求1至3中任意一项权利要求所述的数据查询方法,其特征在于,所述多个数据集存储在预设的多个数据库节点中;
所述根据确定出的所述数据集,得到查询结果的步骤,包括:
判断确定出的所述数据集的数目是否多于一个;
如果否,将所述查询请求转发到所述数据集所在的数据库节点的存储引擎,以通过该数据库节点的存储引擎查询所述数据集,得到查询结果。
5.根据权利要求4所述的数据查询方法,其特征在于,所述方法还包括:
如果确定出的所述数据集的数目多于一个,将所述查询请求转化为查询每个确定出的数据集的子语句;
将所述子语句转发到对应数据集所在的数据库节点的存储引擎,以通过该数据库节点的存储引擎查询该数据集,得到对应的查询子结果;
将所述查询子结果聚合汇总,得到查询结果。
6.根据权利要求1所述的数据查询方法,其特征在于,所述方法还包括:
监测所述取值子区间对应的数据的访问热度;
如果所述访问热度超过预设的第一热度阈值,对所述取值子区间进行拆分;
如果所述访问热度低于预设的第二热度阈值,将所述取值子区间合并到与所述取值子区间相邻的取值子区间。
7.一种数据查询装置,其特征在于,应用于数据库服务器,所述数据库服务器中运行有数据库,所述装置包括:
查询请求接收模块,用于接收针对目标数据的查询请求;其中,所述查询请求中携带有所述目标数据的数据属性,以及所述数据属性的属性值要求,所述数据属性为预设数据属性集中的至少一个,所述预设数据属性集包括多个数据属性;
数据集确定模块,用于对于所述目标数据的每个数据属性,根据该数据属性的属性值要求,确定该数据属性对应的一个或多个取值子区间;根据确定出的每个所述数据属性对应的取值子区间的区间编号,生成至少一个编号串,每个所述编号串包括每个所述数据属性的一个所述取值子区间的区间编号;查找与每个所述编号串关联的保存子表名;将查找到的保存子表名对应的数据集确定为所述目标数据所在的数据集;其中,所述数据库的数据预先根据所述数据属性集,以及所述数据属性集中各个数据属性的属性值,划分为多个数据集;
所述数据集确定模块还用于,从所述数据库中数据的数据属性中选取预设数目的数据属性,构成数据属性集;获取所述数据属性集中各个数据属性的属性值的取值区间;将所述取值区间划分为多个取值子区间;对所述数据属性集中的每一个数据属性,从该数据属性的多个取值子区间中任意选取一个取值子区间,根据选取的取值子区间构成区间组合,得到多个区间组合;将数据库中的数据映射到所述多个区间组合,得到多个数据集;为每个所述取值子区间设置对应的区间编号,每个所述数据属性的各个所述取值子区间具有不同的所述区间编号;对所述多个数据集中的每一个数据集,根据该数据集对应的区间组合中各个取值子区间的区间编号构成编号串;以所述编号串作为所述数据集的保存子表名的后缀;
查询结果模块,用于根据确定出的所述数据集,得到查询结果。
8.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至6任一项所述的数据查询方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至6任一项所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110051524.3A CN112380275B (zh) | 2021-01-15 | 2021-01-15 | 数据查询方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110051524.3A CN112380275B (zh) | 2021-01-15 | 2021-01-15 | 数据查询方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112380275A CN112380275A (zh) | 2021-02-19 |
CN112380275B true CN112380275B (zh) | 2021-07-23 |
Family
ID=74581896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110051524.3A Active CN112380275B (zh) | 2021-01-15 | 2021-01-15 | 数据查询方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112380275B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116303753A (zh) * | 2021-12-09 | 2023-06-23 | 中兴通讯股份有限公司 | 分布式数据库的分片方法、装置、电子设备和存储介质 |
CN117056360B (zh) * | 2023-10-11 | 2024-03-29 | 宁德时代新能源科技股份有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102395965A (zh) * | 2009-04-17 | 2012-03-28 | 弗兰霍菲尔运输应用研究公司 | 用于在数据库中搜索对象的方法 |
CN106202209A (zh) * | 2016-06-28 | 2016-12-07 | 北京信息科技大学 | 面向商品筛选应用的分布式结构化数据存储及查询方法 |
CN106462575A (zh) * | 2013-12-02 | 2017-02-22 | 丘贝斯有限责任公司 | 群集内存数据库的设计及实现 |
CN106557498A (zh) * | 2015-09-25 | 2017-04-05 | 北京国双科技有限公司 | 数据存储方法和装置以及数据查询方法和装置 |
CN110704453A (zh) * | 2019-10-15 | 2020-01-17 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种数据查询方法、装置、存储介质及电子设备 |
CN110825744A (zh) * | 2019-10-31 | 2020-02-21 | 武汉工程大学 | 一种基于集群环境的空气质量监测大数据分区存储方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10262033B2 (en) * | 2016-03-18 | 2019-04-16 | International Business Machines Corporation | Method for query execution planning |
US10311053B2 (en) * | 2016-08-29 | 2019-06-04 | International Business Machines Corporation | Efficient processing of data extents |
CN110532282B (zh) * | 2019-08-09 | 2022-09-23 | 合肥工业大学 | 数据查询方法及装置 |
CN111008200B (zh) * | 2019-12-18 | 2024-01-16 | 北京数衍科技有限公司 | 数据查询方法、装置和服务器 |
-
2021
- 2021-01-15 CN CN202110051524.3A patent/CN112380275B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102395965A (zh) * | 2009-04-17 | 2012-03-28 | 弗兰霍菲尔运输应用研究公司 | 用于在数据库中搜索对象的方法 |
CN106462575A (zh) * | 2013-12-02 | 2017-02-22 | 丘贝斯有限责任公司 | 群集内存数据库的设计及实现 |
CN106557498A (zh) * | 2015-09-25 | 2017-04-05 | 北京国双科技有限公司 | 数据存储方法和装置以及数据查询方法和装置 |
CN106202209A (zh) * | 2016-06-28 | 2016-12-07 | 北京信息科技大学 | 面向商品筛选应用的分布式结构化数据存储及查询方法 |
CN110704453A (zh) * | 2019-10-15 | 2020-01-17 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种数据查询方法、装置、存储介质及电子设备 |
CN110825744A (zh) * | 2019-10-31 | 2020-02-21 | 武汉工程大学 | 一种基于集群环境的空气质量监测大数据分区存储方法 |
Non-Patent Citations (1)
Title |
---|
大数据存储的秘密之分区;luoxn29;《博客园-https://www.cnblogs.com/luoxn28/p/12129370.html》;20200101;第1-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112380275A (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112380275B (zh) | 数据查询方法、装置及电子设备 | |
US8364689B2 (en) | Methods and apparatus for providing a location based search | |
KR20130101349A (ko) | 데이터베이스 미들웨어를 이용한 데이터 관리 시스템 및 방법 | |
US8880511B2 (en) | Database query optimization and cost estimation | |
US20100138456A1 (en) | System, method, and computer-readable medium for a locality-sensitive non-unique secondary index | |
US7162478B2 (en) | System and method for correlated fragmentations in databases | |
CN103902544A (zh) | 一种数据处理方法及系统 | |
Yu et al. | Efficient filtering algorithms for location-aware publish/subscribe | |
US11036709B2 (en) | Single-level, multi-dimension, hash-based table partitioning | |
US10509803B2 (en) | System and method of using replication for additional semantically defined partitioning | |
CN102737123A (zh) | 一种多维数据分布方法 | |
CN110069500A (zh) | 一种非关系型数据库动态混合索引方法 | |
CN107562762B (zh) | 数据索引构建方法及装置 | |
Sadineni | Comparative study on skyline query processing techniques on big data | |
CN111858607A (zh) | 数据处理方法、装置、电子设备和计算机可读介质 | |
CN113779084A (zh) | 基于分布式的时序数据查询方法、设备、介质及产品 | |
CN107391749B (zh) | 一种查询分表数据实现瀑布流的方法 | |
WO2023000994A1 (zh) | 层次查询方法及装置 | |
Hua et al. | Br-tree: A scalable prototype for supporting multiple queries of multidimensional data | |
CN110597805A (zh) | 一种高效的新型内存索引结构处理方法 | |
CN114064706A (zh) | 数据存储方法、装置及服务器 | |
Mahmood et al. | FAST: frequency-aware spatio-textual indexing for in-memory continuous filter query processing | |
Li et al. | A parametric approximation algorithm for spatial group keyword queries | |
CN104112025A (zh) | 处理节点计算能力感知的虚拟资产数据划分方法 | |
CN111159175B (zh) | 基于索引的非完整数据库Skyline查询方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |