CN115809248B - 数据查询方法和装置以及存储介质 - Google Patents
数据查询方法和装置以及存储介质 Download PDFInfo
- Publication number
- CN115809248B CN115809248B CN202211722030.4A CN202211722030A CN115809248B CN 115809248 B CN115809248 B CN 115809248B CN 202211722030 A CN202211722030 A CN 202211722030A CN 115809248 B CN115809248 B CN 115809248B
- Authority
- CN
- China
- Prior art keywords
- data
- query condition
- index
- query
- sparse index
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010845 search algorithm Methods 0.000 claims description 3
- 241000233805 Phoenix Species 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种数据查询方法和装置及存储介质,该方法应用于数据库,数据库存储的数据被配置为连续的多行数据构成一个逻辑数据块,且每个逻辑数据块被配置为将当前逻辑数据块中首行数据的索引作为当前逻辑数据块的稀疏索引,方法包括:获取用户输入的查询条件;基于用户输入的查询条件,若查询条件中包含稀疏索引项,则使用相应的稀疏索引进行数据检索,确定与查询条件相匹配的区间,可以使用多查询条件字段组合成稀疏索引,解决在海量数据下筛选多列字段作为查询条件时查询性能较低的问题,并在海量数据列式存储下通过构建逻辑块稀疏索引的方式实现快速在大数据量中检索出要查询的数据内容。
Description
技术领域
本申请涉及数据查询技术领域,尤其涉及一种数据查询方法和装置以及存储介质。
背景技术
随着5G技术的蓬勃发展,其高速、广连接和低时延的特性与车联网的众多场景高度契合。与此同时基于车辆产生的行为数据也呈现出爆炸性的增长,其中车辆访问互联网的日志数据更是达到每天百亿增量的数据量级,等到数据存储周期达到一定程度,如半年或者更久的时间,则需要在短时间内从海量存储的数据中查询到要查找的数据。
在一些数据查询的方案中,分布式列式存储数据库hbase通过rowkey做为索引来提高查询效率,然后通过Phonenix实现多列的条件的查询,然而hbase只能通过rowkey来进行查询,如果想通过其他列做为条件来进行查询虽然可以使用Phoenix,但其查询语句是点查找和小范围扫描时,Phoenix可以比较好地满足,而它大量scan类型的OLAP查询,或查询的模式较为灵活的场景不太适合。
发明内容
本申请实施例提供一种数据查询方法和装置及存储介质,通过该方法可以使用多查询条件字段组合成稀疏索引,解决在海量数据下筛选多列字段作为查询条件时查询性能较低的问题,并在海量数据列式存储下通过构建逻辑块稀疏索引的方式实现快速在大数据量中检索出要查询的数据内容。
第一方面,本申请实施例提供一种数据查询方法,应用于数据库,所述数据库存储的数据被配置为连续的多行数据构成一个逻辑数据块,且每个所述逻辑数据块被配置为将当前逻辑数据块中首行数据的索引作为当前逻辑数据块的稀疏索引,所述方法包括:获取用户输入的查询条件;基于用户输入的所述查询条件,若所述查询条件中包含稀疏索引项,则使用相应的稀疏索引进行数据检索,确定与查询条件相匹配的区间,其中,所述与查询条件相匹配的区间中包含的数据为目标数据。
进一步地,所述连续的多行数据构成一个逻辑数据块包括连续的1024行数据构成一个逻辑数据块。
进一步地,所述查询条件为多列查询条件,该多列查询条件包含多种属性的组合。
进一步地,所述确定与查询条件相匹配的区间包括:确定所述查询条件所组成的索引主键对应逻辑数据块范围的开始行号;确定所述查询条件所组成的索引主键对应逻辑数据块范围的结束行号;基于所述开始行号和所述结束行号确定与查询条件相匹配的区间。
进一步地,所述确定所述查询条件所组成的索引主键对应逻辑数据块范围的开始行号包括:确定是否查找到满足所述查询条件的稀疏索引主键,若未查找到,则设置最后一个所述逻辑数据块的稀疏索引相对应的行号为开始行号,若查找到,则确定查找到的满足所述查询条件的稀疏索引主键是否与查询条件组成的索引主键相同,若是,设置第一条满足所述查询条件的稀疏索引主键的行号为开始行号,若否,则设置满足当前条件的稀疏索引主键的前一条稀疏索引对应的行号为开始行号。
进一步地,确定所述查询条件所组成的索引主键对应逻辑数据块范围的结束行号包括:查找第一条大于满足所述查询条件的稀疏索引主键的行号;确定是否查找到第一条大于满足所述查询条件的稀疏索引主键,若未查找到,则将最后一个逻辑数据块中最后一行数据的行号作为结束行号,若查找到,则设置当前满足所述查询条件的稀疏索引主键行号作为结束行号。
进一步地,基于所述开始行号和所述结束行号确定与查询条件相匹配的区间包括:使用二分查找算法在列式索引中确认上界行号和下界行号。
第二方面,本申请实施例还提供一种数据查询装置,该装置包括:处理器和存储器,所述存储器用于存储至少一条指令,所述指令由所述处理器加载并执行时实现第一方面提供的数据查询方法。
第三方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面提供的数据查询方法。
第四方面,本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现第一方面提供的数据查询方法。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一个实施例提供的索引架构示意图;
图2为本申请一个实施例提供的一种数据查询方法的流程示意图;
图3为本申请一个实施例提供的数据查询装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
当前一些数据查询的方案中,一般通过以下方式进行数据查询:
第一方案:分布式列式存储数据库hbase通过rowkey做为索引来提高查询效率,然后通过Phonenix实现多列的条件的查询。
第二方案:时序数据库InfluxDB通过倒排索引的方式来实现海量数据的多维快速查询。
然而上述方案存在一些缺陷,具体如下:
第一方案缺陷:hbase只能通过rowkey来进行查询,如果想通过其他列做为条件来进行查询虽然可以使用Phoenix,但其查询语句是点查找和小范围扫描时,Phoenix可以比较好地满足,而它大量scan类型的OLAP查询,或查询的模式较为灵活的场景不太适合。
第二方案缺陷:虽然时序数据库可以通过倒排索引等方式来实现对海量数据的多维查询,但是对数据的属性要求严格,即数据中必须带有时间属性。
为克服上述技术问题,本申请实施例提供一种数据查询方法,以下结合附图对本申请实施例提供的数据查询方法进行详细说明。
图1为本申请一个实施例提供的索引架构示意图。
参照图1所示,在构建数据库的过程中,可以将多行数据构成一个逻辑数据块,进而根据待处理的数据构建出多个逻辑数据块。示例性的,每1024行数据构成一个逻辑数据块,待处理的数据包括第0行数据至第n行数据,其中,第0行数据至第1023行数据(共1024行数据)构成一个逻辑数据块,第1024行至第2047行再构成一个逻辑数据块,以此类推直至最后一行数据,其中,需要说明的是,最后一行所在的逻辑数据块中所包含的多行数据小于或者等于1024行数据。
参照图1所示,在构建上述多个逻辑数据块的基础上,可以为每个逻辑数据块配置一个稀疏索引key(稀疏索引的主键),即每个逻辑数据块都会存储一个对应的稀疏索引key,其中,该稀疏索引项由做为过滤条件的多列拼接组合排序而成,即根据要查询的条件来构建成稀疏索引键,然后对这个构建的稀疏索引键进行排序。在一种实施方式中,可以将每个逻辑数据块中首行数据的索引作为相应逻辑数据块的稀疏索引key。示例性的,第0行数据至第1023行数据构成的逻辑数据块,可以将第0行数据的索引作为其所在逻辑数据块的稀疏索引key,即图1所示的key1。第1024行至第2047行构成的逻辑数据块,可以将第1024行数据的索引作为其所在逻辑数据块的稀疏索引key,即图1所示的key2。以此类推,将每个逻辑数据块中首行数据的索引作为相应逻辑数据块的稀疏索引key。
在一种实施方式中,在每个逻辑数据快配置有相对应的稀疏索引key的情况下,还可以为每行数据配置列级索引。在一种实施方式中,列级索引由存储数据的行号做为索引,每个行号对应的本行数据块的物理存储地址,每个行号索引项由对应数据块的起始行号、位置和长度信息构成。进而用某行数据的行号查找行号索引表,可以获取包含该行号对应的数据块所在的位置,读取目标数据块后,可以进一步查找数据。
在一种实施方式中,列数据块每列数据都按相同的大小进行分块存储然后整体写到存储设备或者从存储设备读出。
在基于上述方式构建数据库后,可以通过本申请实施例提供的数据查询方法从该数据库存储的海量数据中进行数据查询。
图2为本申请一个实施例提供的一种数据查询方法的流程示意图。
参照图2所示,该数据查询方法可以包括以下步骤:
步骤10:获取用户输入的查询条件。
在用户想要从数据库存储的海量数据中查询目标数据时可以输入查询条件进行数据检索,示例性的,该查询条件可以为数据的相应关键词key,并获取用户输入的关键词key。在一种实施方式中,该关键词key可以包含稀疏索引项。
步骤20:基于用户输入的查询条件,若该查询条件中包含稀疏索引项,则使用稀疏索引进行数据检索,确定与查询条件相匹配的区间。
在一种实施方式中,基于用户输入的查询条件,若该查询条件中包含稀疏索引项,则使用稀疏索引进行数据检索包括:根据多列查询条件从稀疏索引中查找第一个稀疏索引key。
在一种实施方式中,用户输入的查询条件可以为多列查询条件,该多列查询条件为多属性的组合。
表一
IP信息 | 日期信息 | 域名信息 | 上行流量 | 下行流量 |
10.26.72.231 | 20221119 | 2.android.pool.ntp.org | 32917 | 45678 |
10.26.72.231 | 20221119 | 3.android.pool.ntp.org | 3291 | 4548 |
10.26.72.231 | 20221119 | 4.android.pool.ntp.org | 1145 | 3267 |
...... | ||||
10.26.72.232 | 20221120 | 2.android.pool.ntp.org | 3213 | 45278 |
...... | ...... | ...... | ...... | ...... |
示例性的,参照表一所示,多属性组合的多列查询条件可以为IP信息与日期信息的组合,即,将IP信息与日期信息拼接作为稀疏索引的key。其中,需要说明的是,表一所示的具有相同属性的多行数据(即,IP信息为(10.26.72.231)且日期信息为(20221119)的多行数据)可以构建一个或多个逻辑数据块,且该多个逻辑数据块中的最后一个逻辑数据块中行数小于或者等于1024。
在一种实施方式中,根据多列查询条件从稀疏索引中查找第一个稀疏索引key可以为:从稀疏索引表(包含所有的稀疏索引)中查找满足多列查询条件的第一个稀疏索引key。示例性的,参照表一所示,若多列查询条件为“(10.26.72.231)+(20221119)”,并从稀疏索引表中查找第一个满足该多列查询条件的稀疏索引key,其中,需要说明的是,若多个连续的逻辑数据块的稀疏索引key均相同,则需要确定稀疏索引表中查找第一个满足该多列查询条件的稀疏索引key,其中,满足该多列查询条件的稀疏索引key具体为根据查询条件组成的key(即上述多属性组合的多列查询条件)在稀疏索引从逻辑数据块中寻找第一个等于或大于稀疏索引key编码的稀疏索引项。
在一种实施方式中,步骤20中“确定与查询条件相匹配的区间”具体可以通过以下步骤实现:
步骤201:确定查询条件所组成的key(索引主键)对应逻辑数据块范围的开始行号。
步骤202:确定查询条件所组成的key对应逻辑数据块范围的结束行号。
步骤203,基于开始行号和结束行号确定与查询条件相匹配的区间。
在一种实施方式中,步骤201具体可以通过以下步骤实现:
步骤201a:确定是否从稀疏索引表中查找到稀疏索引key,若未查找到,则执行步骤201b,若查找到,则执行步骤201c。
步骤201b:设置最后一个稀疏索引key相对应的行号为开始行号。
其中,由于通过步骤20中“使用稀疏索引进行数据检索”遍历每个逻辑数据块的稀疏索引,并通过步骤201a确定遍历了所有的逻辑块的稀疏索引都没有找到与查询条件组成的key相同或者大于稀疏索引key编码的稀疏索引项。进而存在以下两种情况,第一种情况,则为整个数据库中并不存在与查询条件组成的key相匹配的索引;第二种情况,则为与查询条件组成的key相匹配的索引为最后一个逻辑数据块中某一行数据的索引。示例性的,查询条件组成的key为key(x),数据库中最后一个逻辑数据块的稀疏索引key为(10.29.83.760)+(20221201),即最后一个逻辑数据块的首行数据的索引为(10.29.83.760)+(20221201),而最后一个逻辑数据块中可能还存在排列在首行数据之后的其他多行数据,在其他多行数据中,部分数据的索引可能等于首行数据的索引,部分数据的索引可能大于首行数据的索引,因此在稀疏索引过程中,并不能确定最后一个逻辑数据块中除首行数据外的其他数据的索引是否与查询条件组成的key相匹配,因此,可以在稀疏索引过程中为查找到与查询条件组成的key相匹配的稀疏索引key的情况下,可以对最后一个逻辑数据块进行二级检索,其中,可以设置最后一个稀疏索引key相对应的行号为开始行号。其中,需要说明的是,若最后一个稀疏索引key相对应的行数据为多行数据,则可以将其中最后一行数据的行号最为开始行号。示例性的,最后一个逻辑数据块的首行数据的索引为(10.29.83.760)+(20221201),并且后续还有14行数据的索引与首行数据的索引相同,即,最后一个逻辑数据块的前15行的索引相同,在此情况下,可以将第15行数据的行号作为开始行号。
步骤201c:查找到的稀疏索引key是否与查询条件组成的key相同,若是,则执行步骤201d,若不是,则执行步骤201e。
步骤201d:设置第一条稀疏索引key对应的行号为开始行号。
步骤201e:设置满足当前条件的稀疏索引key的前一条稀疏索引对应的行号为开始行号。
其中,根据查询条件组成的key在稀疏索引从逻辑块中寻找第一个等于或大于稀疏索引key编码的稀疏索引项。如果找到满足条件的索引项,并且该稀疏索引项不是第一条稀疏索引项,则将该稀疏索引项的前一条稀疏索引项对应的行号为开始行号;如果找到满足条件的索引项,并且该索引项是第一条稀疏索引项,则将该稀疏索引项对应的行号做为开始行号。
在一种实施方式中,步骤202具体可以通过以下步骤实现:
步骤202a:查找第一大于稀疏索引key的行号。
步骤202b:确定是否从稀疏索引表中查找到第一大于稀疏索引key,若未查找到,则执行步骤202c,若查找到,则执行步骤202d。
步骤202c:将最后一个逻辑数据块中最后一行数据的行号作为结束行号。
与上述步骤201b原理相同,在此不再赘述。
步骤202d:设置当前满足稀疏索引key对应的行号作为结束行号。
其中,根据key寻找稀疏索引中第一个大于稀疏索引key的稀疏索引项。如果找到满足条件的稀疏索引项,则记录该索引项对应的行号为结束行号;如果没有找到一条稀疏索引项大于key的编码,则将稀疏索引随后一个key对应的行号做为结束行号。
在一种实施方式中,步骤203的具体实现方式包括:
步骤203a:使用二分查找算法在列式索引中确认上界行号和下界行号。
其中,在开始行号与结束行号在列式索引行范围内通过二分法寻找第一个大于key编码的行,行号记为上界行号。然后同理在开始行号与上界行号中找到对应的下界行号,这样就可以将查询条件组成的key随对应的所有数据行的范围确定,快速检索出匹配的数据内容。
示例性的,参照表1所示,当根据查询条件组成的key来进行查询的时候,首先在稀疏索引中查找等于或大于的稀疏索引项key,例如查询IP信息是10.26.72.231,日期信息是20221119的数据则会将src_ip+date_id进行拼接形成10.26.72.23120221119,这个在稀疏索引中查找等于或第一个大于10.26.72.23120221119这个key的稀疏索引项,等于说明该索引项key是这个逻辑块的第一行稀疏索引的key就可以做为开始行号,大于则说明没有匹配到一致的稀疏索引项key,其对应的key是在前一个逻辑块中。所以将前一个稀疏索引项key对应的行号做为开始行号,另外一种情况则是没有匹配到一条稀疏索引项等于或大于key的,则记录最后一条稀疏索引项key对应的行号为开始行号。同理,根据查询条件组成的key寻找稀疏索引中第一个大于稀疏索引key的稀疏索引项对应的编码取为结束行号,如果没有找到一条稀疏索引项大于key的编码,则将稀疏索引最后一个key对应的行号做为结束行号。
由上得到的开始行号和结束行号做为列级索引的行范围区间通过二分法寻找第一个大于key编码的行,行号记为上界行号。然后同理在开始行号与上界行号中找到第一个等于key编码的行做为下界行号,这样就可以将查询条件组成的key的取值范围确定,快速检索出匹配的数据内容。
通过本申请实施例提供的数据查询方法可以在海量数据列式存储下通过构建逻辑块稀疏索引的方式实现快速在大数据量中检索出要查询的数据内容,可以实现降低数据检索的时间,并且在检索过程中减少检索到的数据量大小,降低设备功耗。
图3为本申请一个实施例提供的数据查询装置的结构示意图。
参照图3所示,数据查询装置可以包括处理器301和存储器302,存储器302用于存储至少一条指令,该指令由所述处理器301加载并执行时实现本申请任一实施例提供的数据查询方法。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任一实施例提供的数据查询方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本申请任一实施例提供的数据查询方法。
需要说明的是,本申请实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer,PC)、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
可以理解的是,所述应用可以是安装在终端上的应用程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本申请实施例对此不进行限定。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (6)
1.一种数据查询方法,其特征在于,应用于数据库,所述数据库存储的数据被配置为连续的多行数据构成一个逻辑数据块,且每个所述逻辑数据块被配置为将当前逻辑数据块中首行数据的索引作为当前逻辑数据块的稀疏索引,所述稀疏索引包括多列字段组成的查询条件,所述方法包括:
获取用户输入的查询条件;
基于用户输入的所述查询条件,若所述查询条件中包含稀疏索引项,则使用相应的稀疏索引进行数据检索,确定与查询条件相匹配的区间,其中,所述与查询条件相匹配的区间中包含的数据为目标数据;
所述确定与查询条件相匹配的区间包括:
确定所述查询条件所组成的索引主键对应逻辑数据块范围的开始行号;
确定所述查询条件所组成的索引主键对应逻辑数据块范围的结束行号;
基于所述开始行号和所述结束行号确定与查询条件相匹配的区间;
其中,所述确定所述查询条件所组成的索引主键对应逻辑数据块范围的开始行号包括:
确定是否查找到满足所述查询条件的稀疏索引主键,若未查找到,则设置最后一个所述逻辑数据块的稀疏索引相对应的行号为开始行号,若查找到,则确定查找到的满足所述查询条件的稀疏索引主键是否与查询条件组成的索引主键相同,若是,设置第一条满足所述查询条件的稀疏索引主键的行号为开始行号,若否,则设置满足当前条件的稀疏索引主键的前一条稀疏索引对应的行号为开始行号;
确定所述查询条件所组成的索引主键对应逻辑数据块范围的结束行号包括:
查找第一条大于满足所述查询条件的稀疏索引主键的行号;
确定是否查找到第一条大于满足所述查询条件的稀疏索引主键,若未查找到,则将最后一个逻辑数据块中最后一行数据的行号作为结束行号,若查找到,则设置当前满足所述查询条件的稀疏索引主键行号作为结束行号。
2.根据权利要求1所述的方法,其特征在于,所述连续的多行数据构成一个逻辑数据块包括连续的1024行数据构成一个逻辑数据块。
3.根据权利要求1所述的方法,其特征在于,所述查询条件为多列查询条件,该多列查询条件包含多种属性的组合。
4.根据权利要求1-3任一项所述的方法,其特征在于,基于所述开始行号和所述结束行号确定与查询条件相匹配的区间包括:
使用二分查找算法在列式索引中确认上界行号和下界行号。
5.一种数据查询装置,其特征在于,所述装置包括:
处理器和存储器,所述存储器用于存储至少一条指令,所述指令由所述处理器加载并执行时实现如权利要求1-4中任意一项所述的方法。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211722030.4A CN115809248B (zh) | 2022-12-30 | 2022-12-30 | 数据查询方法和装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211722030.4A CN115809248B (zh) | 2022-12-30 | 2022-12-30 | 数据查询方法和装置以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115809248A CN115809248A (zh) | 2023-03-17 |
CN115809248B true CN115809248B (zh) | 2024-03-22 |
Family
ID=85487122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211722030.4A Active CN115809248B (zh) | 2022-12-30 | 2022-12-30 | 数据查询方法和装置以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115809248B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118733606A (zh) * | 2023-03-29 | 2024-10-01 | 华为技术有限公司 | 数据查询方法及相关装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758145A (en) * | 1995-02-24 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for generating dynamic and hybrid sparse indices for workfiles used in SQL queries |
WO2017096892A1 (zh) * | 2015-12-07 | 2017-06-15 | 百度在线网络技术(北京)有限公司 | 索引构建方法、查询方法及对应装置、设备、计算机存储介质 |
CN107515882A (zh) * | 2016-06-17 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 数据查询方法及装置 |
CN110019218A (zh) * | 2017-12-08 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 数据存储与查询方法及设备 |
CN111611250A (zh) * | 2020-07-03 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 数据存储设备、数据查询方法、装置、服务器及存储介质 |
WO2021017422A1 (zh) * | 2019-07-29 | 2021-02-04 | 创新先进技术有限公司 | 一种块链式账本中的索引创建方法、装置及设备 |
CN113961580A (zh) * | 2021-12-22 | 2022-01-21 | 联通智网科技股份有限公司 | 数据查询方法、业务系统以及电子设备 |
CN115328950A (zh) * | 2022-07-08 | 2022-11-11 | 厦门服云信息科技有限公司 | 一种基于二级索引的hbase查询方法、终端设备及存储介质 |
US11514236B1 (en) * | 2020-09-30 | 2022-11-29 | Amazon Technologies, Inc. | Indexing in a spreadsheet based data store using hybrid datatypes |
CN115408384A (zh) * | 2022-08-04 | 2022-11-29 | 阿里云计算有限公司 | 数据库访问方法、设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8566333B2 (en) * | 2011-01-12 | 2013-10-22 | International Business Machines Corporation | Multiple sparse index intelligent table organization |
US9390115B2 (en) * | 2013-10-11 | 2016-07-12 | Oracle International Corporation | Tables with unlimited number of sparse columns and techniques for an efficient implementation |
US10776336B2 (en) * | 2016-11-04 | 2020-09-15 | Salesforce.Com, Inc. | Dynamic creation and maintenance of multi-column custom indexes for efficient data management in an on-demand services environment |
EP3767832A1 (en) * | 2019-07-15 | 2021-01-20 | Use-256 B.V. | Permutation-based coding for data storage and data transmission |
-
2022
- 2022-12-30 CN CN202211722030.4A patent/CN115809248B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758145A (en) * | 1995-02-24 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for generating dynamic and hybrid sparse indices for workfiles used in SQL queries |
WO2017096892A1 (zh) * | 2015-12-07 | 2017-06-15 | 百度在线网络技术(北京)有限公司 | 索引构建方法、查询方法及对应装置、设备、计算机存储介质 |
CN107515882A (zh) * | 2016-06-17 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 数据查询方法及装置 |
CN110019218A (zh) * | 2017-12-08 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 数据存储与查询方法及设备 |
WO2021017422A1 (zh) * | 2019-07-29 | 2021-02-04 | 创新先进技术有限公司 | 一种块链式账本中的索引创建方法、装置及设备 |
CN111611250A (zh) * | 2020-07-03 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 数据存储设备、数据查询方法、装置、服务器及存储介质 |
US11514236B1 (en) * | 2020-09-30 | 2022-11-29 | Amazon Technologies, Inc. | Indexing in a spreadsheet based data store using hybrid datatypes |
CN113961580A (zh) * | 2021-12-22 | 2022-01-21 | 联通智网科技股份有限公司 | 数据查询方法、业务系统以及电子设备 |
CN115328950A (zh) * | 2022-07-08 | 2022-11-11 | 厦门服云信息科技有限公司 | 一种基于二级索引的hbase查询方法、终端设备及存储介质 |
CN115408384A (zh) * | 2022-08-04 | 2022-11-29 | 阿里云计算有限公司 | 数据库访问方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115809248A (zh) | 2023-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8301437B2 (en) | Tokenization platform | |
CN107818115B (zh) | 一种处理数据表的方法及装置 | |
US8171029B2 (en) | Automatic generation of ontologies using word affinities | |
KR100285265B1 (ko) | 데이터 베이스 관리 시스템과 정보 검색의 밀결합을 위하여 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조 | |
CN100458779C (zh) | 扩展索引的方法 | |
US20080114733A1 (en) | User-structured data table indexing | |
CN102542052A (zh) | 优先散列索引 | |
US20080010238A1 (en) | Index having short-term portion and long-term portion | |
US9218394B2 (en) | Reading rows from memory prior to reading rows from secondary storage | |
CN111506569B (zh) | 数据存储方法、装置、电子装置 | |
US11868328B2 (en) | Multi-record index structure for key-value stores | |
RU2568276C2 (ru) | Способ извлечения полезного контента из установочных файлов мобильных приложений для дальнейшей машинной обработки данных, в частности поиска | |
CN115809248B (zh) | 数据查询方法和装置以及存储介质 | |
CN101963993B (zh) | 一种数据库单表记录快速查找的方法 | |
WO2023083237A1 (zh) | 图数据的管理 | |
CN110413724B (zh) | 一种数据检索方法和装置 | |
CN112199463A (zh) | 数据查询方法、装置及设备 | |
Li et al. | Answering why-not questions on top-k augmented spatial keyword queries | |
CN116521733A (zh) | 一种数据查询方法及装置 | |
CN110347804B (zh) | 一种线性时间复杂度的敏感信息检测方法 | |
CN115794861A (zh) | 基于特征摘要的离线数据查询复用方法及其应用 | |
CN117785889B (zh) | 一种针对图数据库的索引管理方法及相关设备 | |
CN112632087B (zh) | 基于范围简图的有序链表快速查询方法和装置 | |
CN105589871B (zh) | 资讯处理方法和装置 | |
US20120215807A1 (en) | Method and device for representing digital documents for search applications |
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 |