WO2022127418A1 - 数据检索方法、装置、电子设备及存储介质 - Google Patents

数据检索方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
WO2022127418A1
WO2022127418A1 PCT/CN2021/128414 CN2021128414W WO2022127418A1 WO 2022127418 A1 WO2022127418 A1 WO 2022127418A1 CN 2021128414 W CN2021128414 W CN 2021128414W WO 2022127418 A1 WO2022127418 A1 WO 2022127418A1
Authority
WO
WIPO (PCT)
Prior art keywords
retrieval
field
level
partition
implicit
Prior art date
Application number
PCT/CN2021/128414
Other languages
English (en)
French (fr)
Inventor
随建
卢勤元
景雯雯
吉祥
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2022127418A1 publication Critical patent/WO2022127418A1/zh

Links

Images

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • 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
    • 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/2282Tablespace storage structures; Management thereof
    • 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/242Query formulation
    • 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/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2445Data retrieval commands; View definitions
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Definitions

  • Embodiments of the present application provide a data retrieval method, apparatus, electronic device, and storage medium.
  • FIG. 3 is a flowchart of a data retrieval method provided by another embodiment of the present application.
  • FIG. 4 is a schematic diagram of a system architecture for executing a data retrieval method provided by another embodiment of the present application.
  • FIG. 7 is a flowchart of a data retrieval method provided by another embodiment of the present application.
  • references to "one embodiment” or “some embodiments” and the like described in the description of the embodiments of the present application mean that specific features described in conjunction with the embodiments are included in one or more of the embodiments of the present application , structure or characteristics.
  • appearances of the phrases “in one embodiment,” “in some embodiments,” “in other embodiments,” “in other embodiments,” etc. in various places in this specification are not necessarily All refer to the same embodiment, but mean “one or more but not all embodiments” unless specifically emphasized otherwise.
  • the terms “including”, “including”, “having” and their variants mean “including but not limited to” unless specifically emphasized otherwise.
  • the storage node 200 may include one or more primary storage areas, and the corresponding distribution key is the retrieval condition field.
  • the input terminal of the storage node 200 is connected to the output terminal of the computing node 100 .
  • the storage node is used to store data, and according to the operation instruction from the computing node 100, perform corresponding operations on the data in the storage area, such as retrieval, selection, update, deletion, data redistribution, data export, and the like.
  • the database can include one storage node as a first-level storage area; it can also include multiple storage nodes, corresponding to multiple first-level storage areas (such as distributed storage), multiple storage nodes can be connected to a computing node, or is connected to the secondary computing node.
  • Each storage node 200 is created with N partitions, the partitions are used as secondary storage areas, and N is a positive integer greater than or equal to 1.
  • the partition key corresponding to the partition is an implicit partition field.
  • FIG. 1 does not constitute a limitation on the embodiments of the present application, and may include more or less components than those shown in the figure, or combine some components, or different components layout.
  • the core idea of the embodiment of the present application is that the computing node of the database automatically performs secondary partition partitioning on the retrieval condition field, that is, one-key dual-purpose, or a deeper one-key multi-purpose, and the retrieval condition field is further used as a table partition implicitly Partition field, even if the original retrieval condition field type is varchar or other non-numeric type, it can be implicitly mapped to a partition implicit partition field.
  • the implicit partition field is automatically added, and the implicitly added partition field is invisible to the business. While improving SQL retrieval performance, there is no burden on business usage scenarios.
  • Step S1300 delivering the retrieval condition field and the implicit partition field to the storage node, so that the storage node determines the corresponding first-level retrieval area according to the retrieval condition field, and determines the corresponding first-level retrieval area in the first-level retrieval area according to the implicit partition field.
  • a second-level search area wherein, the first-level search area includes N second-level search areas, and N is a positive integer greater than or equal to 1.
  • the distribution key of the table is simultaneously used as the partition partition key of the table, that is, one-key dual-purpose, or a deeper level one-key multi-purpose.
  • the key value (the value of the retrieval condition field) is varchar or other non-numeric type
  • the underlying DB Mysql DB
  • Steps S1211 and S1212 map the varchar type key value or other non-numeric type key value into a numeric type, such as int type key value, and then use a numeric type field, such as a mapping field of int type, as the partition partition key (implicitly) type partition field).
  • the distributed computing node can also perform steps S1221 and S1222 to convert the varchar type key value or other non-numeric type.
  • the key value of the numeric type is mapped to the key value of the numeric type, such as the key value of the int type, and then the implicit partition field is obtained according to the numeric type field and the first mapping formula.
  • the core idea of the method in the embodiment of the present application is to automatically convert the distribution key of a large distributed table into an implicit partition partition key.
  • This implementation can precisely define the retrieval range to "a specific partition of a specific storage node" and improve the retrieval speed.
  • the generated partition key is transparent to the business and has no impact on business SQL.
  • the retrieval field is of varchar type or common index, the retrieval performance is significantly improved, and unnecessary auxiliary retrieval fields are reduced on the business side.
  • an implicit partition field is generated according to the retrieval condition field and a preset mapping relationship, including:
  • Step S1221 according to the retrieval condition field, map to a numeric type field
  • the first mapping formula includes a modulo operation formula.
  • an implicit partition field is obtained according to the numeric type field and the first mapping formula, including:
  • Step S1222-A modulo N to obtain a modulo value P
  • Step S1222-B take P as an implicit partition field.
  • a field col_pt, col_pt is the partition key (implicit partition field) mapped by the distribution key, the stored value of the field col_pt is P, and P is the value of the t1 table distribution key (retrieval condition field) converted into an int value modulo N .
  • the modulo value P can be obtained, so that the retrieval range can be accurate to "on a specific partition of a specific storage node".
  • the first mapping formula can be a modulo operation formula or a remainder operation formula, the number of possible results of the modulo operation is exactly equal to the number of partitions, and the operation is convenient.
  • the database is a distributed database, and the distributed database includes at least two storage nodes.
  • a distributed database includes four storage nodes, namely DB1, DB2, DB3 and DB4, each storage node corresponds to a first-level retrieval area, and the four storage nodes are all connected to the computing node.
  • the retrieval condition field delivered by the computing node determines the first-level retrieval area to be retrieved. For example, according to the retrieval condition field delivered by the computing node, it is determined that the first-level retrieval area to be retrieved is DB1.
  • Each storage node creates 4 partitions, namely P1, P2, P3 and P4. Each partition corresponds to a second-level retrieval area.
  • the second-level retrieval that needs to be retrieved is determined according to the implicit partition field issued by the computing node. For example, according to the implicit partition field issued by the computing node, it is determined that the second-level retrieval area to be retrieved is P1. Therefore, the implementation can precisely target the retrieval range to "a specific partition of a specific storage node" to improve the retrieval speed.
  • the embodiments of the present application may also be applied to scenarios of multi-level computing nodes, and the data retrieval method provided by the embodiments of the present application may be the lowest-level computing nodes (computing nodes connected to storage nodes), or It can be a middle-level computing node or a top-level computing node. The following three scenarios are described separately.
  • the first-level computing node obtains the retrieval condition field from the business SQL by executing step S1100; by executing step S1200, an implicit partition field is generated according to the retrieval condition field and the preset mapping relationship; the first-level computing node executes the step S1200.
  • S1320 Deliver the retrieval condition field and the implicit partition field to the storage node through the lower-level computing node, that is, the first-level computing node distributes the retrieval condition field to the corresponding second-level retrieval node according to the retrieval condition field, and passes the corresponding second-level
  • the computing node sends the retrieval condition field and the implicit partition field to the storage node, so that the retrieval range can be accurate to "the specific partition of the specific storage node", which improves the retrieval speed.
  • the specific process is as above, and will not be repeated here.
  • the distributed database includes two levels of computing nodes, that is, a first-level computing node and a plurality of second-level computing nodes, the first-level computing nodes are connected to each second-level computing node, and each second-level computing node is connected to each second-level computing node.
  • a computing node is connected to multiple storage nodes (eg, 4 storage nodes), and each storage node creates multiple partitions (eg, 4 partitions).
  • the data retrieval method provided by the embodiment of the present application may be executed by the computing node of the uppermost level (ie, the computing node of the first level) and the computing node of the lowermost level (ie, the computing node of the second level).
  • the computing node maps the distribution key to a partition key again, and automatically creates a field col_pt for the distributed large table t1.
  • Col_pt is the partition key mapped by the distribution key.
  • the storage value of the partition key col_pt is p, and p is the distribution of the t1 table.
  • the key is converted to an int value modulo N.
  • the computing node automatically adds the partition key col_pt field to the original where condition, so that the business SQL can directly reach the specified partition of the specified storage node for retrieval, and the retrieval range is reduced by N times.
  • the value of the col_pt field in the where condition is calculated when the distribution key points to the storage node, which is N times smaller than the retrieval range, and the increased delay is negligible.
  • the where condition on the service side of the new retrieval strategy only needs to contain a distribution key (a retrieval condition field, such as a serial number or a license plate), a partition key (implicit partition field)
  • a distribution key a retrieval condition field, such as a serial number or a license plate
  • a partition key implicit partition field
  • an embodiment of the embodiments of the present application further provides a computer-readable storage medium, where the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are executed by a processor or a controller, for example, Executed by a processor in the above-mentioned computing node embodiment, the above-mentioned processor can execute the data retrieval method in the above-mentioned embodiment, for example, perform the above-described method steps S1100 to S1300 in FIG. 2 .
  • Embodiments of the present application provide a data retrieval method, apparatus, electronic device, and storage medium.
  • the data retrieval method applied to the computing node of the database compared with some technical solutions, by automatically converting the retrieval condition field into an implicit partition field, this implementation can make the retrieval range accurate to the second-level retrieval area, thereby improving the The retrieval speed is improved, and the auxiliary retrieval fields on the service side are reduced, thereby simplifying the service retrieval fields.

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)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种数据检索方法、装置、电子设备及存储介质。其中,应用于数据库的计算节点的数据检索方法,包括:获取检索条件字段(S1100);根据检索条件字段和预设的映射关系,生成隐式分区字段(S1200);下发所述检索条件字段和所述隐式分区字段到存储节点,以使存储节点根据所述检索条件字段确定对应的第一级检索区域,根据所述隐式分区字段在第一级检索区域中确定对应的第二级检索区域(S1300)。

Description

数据检索方法、装置、电子设备及存储介质
相关申请的交叉引用
本申请基于申请号为202011466841.3、申请日为2020年12月14日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本申请实施例涉及功率放大技术领域,尤其涉及一种数据检索方法、装置、电子设备及存储介质。
背景技术
在现今数据库应用中,表的数据量级逐年递增。虽然现在有了分布式数据库的应用,一张大表均匀的存储在分布式数据库中的多个存储节点上,但是每个节点存储的数据量可能还是很大,给数据的检索带来不便。
为了提高检索效率,目前有添加索引的方案或者选增加检索条件字段做partition分区的方案。若选择给表添加索引的方案,当数据量比较庞大时,检索还是比较慢;若选择增加检索条件字段的方案,业务检索条件字段较多,从而使得业务使用显得累赘。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供一种数据检索方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供一种数据检索方法,应用于数据库的计算节点,包括:获取检索条件字段;根据检索条件字段和预设的映射关系,生成隐式分区字段;下发所述检索条件字段和所述隐式分区字段到存储节点,以使存储节点根据所述检索条件字段确定对应的第一级检索区域,根据所述隐式分区字段在第一级检索区域中确定对应的第二级检索区域;其中,所述第一级检索区域包括N个所述第二级检索区域,N为大于或等于1的正整数。
第二方面,本申请实施例提供一种数据检索方法,应用于数据库的存储节点,包括:接收来自计算节点的检索条件字段和隐式分区字段;根据所述检索条件字段确定对应的第一级检索区域;根据所述隐式分区字段在第一级检索区域中确定对应的第二级检索区域。
第三方面,本申请实施例提供一种数据检索装置,包括:获取模块,被设置成获取检索条件字段;映射模块,被设置成根据检索条件字段和预设的映射关系,生成隐式分区字段;下发模块,被设置成下发所述检索条件字段和所述隐式分区字段到存储节点,以使存储节点根据所述检索条件字段确定对应的第一级检索区域,根据所述隐式分区字段在第一级检索区域中确定对应的第二级检索区域;其中,所述第一级检索区域包括N个所述第二级检索区域,N为大于或等于1的正整数。
第四方面,本申请实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现:如权利要求第一方面所述的数据检索方法;和/或,如第二方面所述的数据检索方法。
第五方面,本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行:如第一方面所述的数据检索方法;和/或,如第二方面所述的数据检索方法。
可以理解的是,上述第二方面至第五方面与相关的技术方案相比存在的有益效果与上述第一方面与相关的技术方案相比存在的有益效果相同,可以参见上述第一方面中的相关描述, 在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的用于执行数据检索方法的系统架构的示意图;
图2是本申请一个实施例提供的数据检索方法流程图;
图3是本申请另一个实施例提供的数据检索方法流程图;
图4是本申请另一个实施例提供用于执行数据检索方法的系统架构的示意图;
图5是本申请另一个实施例提供的数据检索方法流程图;
图6是本申请相关的技术方案中检索方法的系统架构的示意图;
图7是本申请另一个实施例提供的数据检索方法流程图;
图8是本申请另一个实施例提供的数据检索方法流程图图;
图9是本申请一个实施例提供的数据检索装置的架构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请实施例。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请实施例的描述。
需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
还应当理解,在本申请实施例说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请实施例的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供一种数据检索方法、装置、电子设备及存储介质。通过将检索条件字段自动转化为隐式分区字段,这个实现可以将检索范围精确到第二级检索区域上,从而提升检索速度,且由于产生的隐式分区字段对业务透明,在实现有效提升检索性能的同时,减少了业务侧的辅助检索字段。本申请实施例由计算节点自动对检索条件字段做二次partition分区,即一键两用,或更深层次的一键多用,将检索条件字段进一步作为表的partition隐式分区字段,即使原检索条件字段类型为varchar或其他非数字类型,也可以实现隐式映射出一个partition隐式分区字段。当业务SQL(Structured Query Language,结构化查询语言)经过计算节点时,自动增加隐式分区字段,隐式添加的分区字段对业务不可见。做到了提升SQL检索性能的同时,对业务使用场景没有任何负担。
下面结合附图,对本申请实施例作进一步阐述。
如图1所示,图1是本申请一个实施例提供的用于执行数据检索方法的系统架构的示意图。在图1的示例中,该系统架构包括计算节点100和存储节点200(一级存储区域)。在一些实施例中,计算节点可以是一级计算节点,也可以是多级计算节点;存储节点可以是一个存储节点,也可以是多个存储节点(如分布式存储),本申请实施例对此不做限定。计算节点100和存储节点可以设在同一个硬件平台设备中,也可以是设置在不同的硬件平台设备 中,本申请实施例对此不做限定。
其中,计算节点100的输出端与存储节点200的输入端连接。用于接收业务SQL,并根据业务SQL进行相应的计算和分发,以使数据库执行相应的操作,如检索、选择、更新、删除、数据重分布、数据导出等。如图1所示,计算节点可以是一级计算节点,则计算节点直接将操作指令下发给存储节点执行相应操作;如图4所示,计算节点可以是多级计算节点,则上级计算节点可以通过下级计算节点将操作指令下发给存储节点执行相应操作,或者,下级计算节点可以接收来自上级计算节点的操作指令,将操作指令下发给存储节点执行相应操作。
存储节点200可以包括一个或多个一级存储区域,对应的分发键为检索条件字段。存储节点200的输入端与计算节点100的输出端连接。存储节点用于存储数据,并根据来自计算节点100的操作指令,对存储区域中的数据执行相应操作,如检索、选择、更新、删除、数据重分布、数据导出等。数据库可以包括一个存储节点,作为一个一级存储区域;也可以包括多个存储节点,对应作为多个一级存储区域(如分布式存储),多个存储节点可以连接到一个计算节点,也可以是连接到次级计算节点。每个存储节点200创建有N个分区,分区作为二级存储区域,N为大于或等于1的正整数。分区对应的分区键为隐式分区字段。
本申请实施例描述的系统架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1中示出的系统架构并不构成对本申请实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在图1所示的系统架构中,计算节点或存储节点可以调用其储存的数据检索程序,以执行数据检索方法。
基于上述系统架构,提出本申请实施例的数据检索方法的各个实施例。
参照图2,一种数据检索方法,应用于数据库的计算节点,包括:
步骤S1100,获取检索条件字段;
步骤S1200,根据检索条件字段和预设的映射关系,生成隐式分区字段;
步骤S1300,下发检索条件字段和隐式分区字段到存储节点,以使存储节点根据检索条件字段确定对应的第一级检索区域,根据隐式分区字段在第一级检索区域中确定对应的第二级检索区域;其中,第一级检索区域包括N个第二级检索区域,N为大于或等于1的正整数。
在关系型数据库应用中,表的数据量级逐年递增,虽然现在有了分布式数据库的应用,一张大表均匀的存储在分布式数据库中的多个存储节点上,但是每个节点存储的数据量可能还是很大。当检索的字段为非数字类型,如varchar类型(变长字符串类型)时,在一些技术方案中的做法是给表添加索引或者选择另外一个字段做partition分区。给表添加索引,会起到一定加快检索速度的效果,但当数据量比较庞大时,还是会比较慢;选择另外一个字段做partition分区(显式分区),需要给业务(SQL操作语句)新增一个不必要的检索条件字段,业务使用显得累赘。
例如,想查询一张真币的流通记录,冠字号是真币的唯一标识,在钱币流通记录表(一般是采用分布式数据库,存储在多个存储节点中)中检索,一些技术方案的方法是选择日期时间戳字段对存储节点做partition分区,当查询一张钱币的流通记录时,业务(SQL操作语句)的where条件中必须出现“冠字号”+“日期范围”这两个条件字段,才能缩减检索时间。如果想要查询该真币的流通历史时,往往要通过多次变换日期范围才能检索完结果集,或者全表扫描,查询耗时非常长,给检索带来很大不便。通过本申请实施例的技术方案,这个问题就能得到很好的解决,检索时,where条件中只需要出现“冠字号”就能精确到“具体的存储节点的具体分区上”查询出所有历史流通记录,检索范围直接缩小了N倍,有效提升检索速度。
本申请实施例的目的是将分发键(检索条件字段)同时映射出一个隐式分区键,减小检索范围,在不改写业务SQL语句的情况下,提升分布式SQL检索性能。
本申请实施例的核心思想是,由数据库的计算节点自动对检索条件字段做二次partition分区,即一键两用,或更深层次的一键多用,将检索条件字段进一步作为表的partition隐式分区字段,即使原检索条件字段类型为varchar或其他非数字类型,也可以实现隐式映射出一个partition隐式分区字段。当业务SQL经过计算节点时,自动增加隐式分区字段,隐式添加的分区字段对业务不可见。做到了提升SQL检索性能的同时,对业务使用场景没有任何负担。
在一些实施例中,步骤S1100中,检索条件字段可以是数字型字段,如int型(整数型)字段;也可以是非数字型字段,如varchar类型字段;检索条件字段可以是检索主键字段,如name字段、时间字段等,也可以是索引字段。
在一些实施例中,步骤S1200中,可根据检索条件字段和预设的映射关系,生成隐式分区字段。在一些实施例中,计算节点自动根据检索条件字段和预设的映射关系,计算得到隐式分区字段。隐式分区字段对业务不可见,即原SQL操作语句仍然只带有检索条件字段。增加的隐式分区字段同时又可以定位到存储节点的对应的partition分区。从而实现减少检索条件字段,同时精准定位检索分区,提高检索速度。
步骤S1300,下发检索条件字段和隐式分区字段到存储节点,以使存储节点根据检索条件字段确定对应的第一级检索区域,根据隐式分区字段在第一级检索区域中确定对应的第二级检索区域;其中,第一级检索区域包括N个第二级检索区域,N为大于或等于1的正整数。
在一些实施例中,原SQL操作语句带有检索条件字段,经过计算节点后,下发给你存储节点的条件变更为“检索条件字段+隐式分区字段”。以使存储节点根据检索条件字段确定对应的第一级检索区域,根据隐式分区字段在第一级检索区域中确定对应的第二级检索区域。例如,在一些实施例中,想查询一张真币的流通记录,冠字号是真币的唯一标识,检索策略业务侧where条件中只需要含有分发键(检索条件字段),隐式分区键是业务无感知的,即对于业务SQL语句中的“where冠字号=XXXXXX”,在计算节点(DB proxy,数据库代理计算节点)会对原检索语句自动改写,添加上隐藏的隐式分区键,计算节点下发给存储节点(DB,data base)的where条件会变更为“where冠字号=XXXXXX and隐式分区键=YYY”。存储节点接收到查询指令“where冠字号=XXXXXX and隐式分区键=YYY”后,根据检索条件字段“冠字号=XXXXXX”确定对应的第一级检索区域,根据隐式分区字段“隐式分区键=YYY”,在第一级检索区域中确定对应的第二级检索区域。
在一些实施例中,对于原本需要依赖增加检索条件字段(如缩短时间范围)来提升检索速度的,采用本申请实施例的技术方案,也可不必增加检索条件字段(如缩短时间范围),用户可以仅输入想要检索的检索条件字段,不必选择分区字段,操作更加方便快捷。本申请实施例通过将分发键自动映射出一个隐式的分区键,不需要添加额外的分区键,就能做到增加分区、减小检索范围的效果,提升分布式SQL检索性能。可以在创建表时,计算节点对表自动添加一个隐藏的隐式分区字段。然后在SQL检索时,计算节点根据分发键(检索条件字段)计算出分区键值(隐式分区字段),计算节点自动带上分区键下发到存储节点,实现下发准确到具体分区,减小检索范围,从而提升检索性能。
本申请实施例通过将检索条件字段自动转化为隐式分区字段,这个实现可以将检索范围精确到第二级检索区域上,从而提升检索速度,同时减少了业务侧的辅助检索字段,进而实现简化业务检索字段。
在一些实施例中,检索条件字段为非数字类型字段;
对应的,根据检索条件字段和预设的映射关系,生成隐式分区字段,包括:
步骤S1211,根据检索条件字段,映射成数字类型字段;
步骤S1212,将数字类型字段作为隐式分区字段;
或者,
步骤S1221,根据检索条件字段,映射成数字类型字段;
步骤S1222,根据数字类型字段和第一映射公式,获得隐式分区字段。
在一些实施例中,在分布式数据库的计算节点,实现将表的分发键同时当作表的partition分区键,即一键两用,或更深层次的一键多用。在一些实施例中,当键值(检索条件字段的值)为varchar或其他非数字类型时,底层DB(Mysql DB)是不支持作为partion分区键的,这时可以通过在分布式计算节点执行步骤S1211和步骤S1212,将varchar类型的键值或其他非数字类型的键值映射成数字类型,如int类型的键值,然后使用数字类型字段,如int类型的映射字段作为partition分区键(隐式分区字段)。在另一些实施例中,当键值(检索条件字段的值)为varchar或其他非数字类型时,也可以通过在分布式计算节点执行步骤S1221和步骤S1222,将varchar类型的键值或其他非数字类型的键值映射成数字类型,如int类型的键值,然后根据数字类型字段和第一映射公式,获得隐式分区字段。
本申请实施例方法的核心思想就是将分布式大表的分发键,同时自动转化为隐式的partition分区键,这个实现可以将检索范围精确到“具体存储节点的具体分区上”,提升检索速度,且产生的分区键对业务透明,对业务SQL没有任何影响。对于检索字段为varchar类型或普通索引的场景,检索性能提升明显,且业务侧减少了不必要的辅助检索字段。
本申请实施例由计算节点自动对检索条件字段做二次partition分区,即一键两用,或更深层次的一键多用,将检索条件字段进一步作为表的partition隐式分区字段,即使原检索条件字段类型为varchar或其他非数字类型,也可以实现隐式映射出一个partition隐式分区字段。当业务SQL经过计算节点时,自动增加隐式分区字段,隐式添加的分区字段对业务不可见。做到了提升SQL检索性能的同时,对业务使用场景没有任何负担。当只想对varchar或其他非数字类型的字段进行检索时,不需要添加额外的分区键,就能做到隐式分区的效果,减小检索范围,提升SQL检索性能。
在一些实施例中,当根据检索条件字段和预设的映射关系,生成隐式分区字段,包括:
步骤S1221,根据检索条件字段,映射成数字类型字段;
步骤S1222,根据数字类型字段和第一映射公式,获得隐式分区字段;
第一映射公式包括取模运算公式,对应的,根据数字类型字段和第一映射公式,获得隐式分区字段,包括:
步骤S1222-A,将数字类型字段对N取模,得到取模后的值P;
步骤S1222-B,将P作为隐式分区字段。
在一些实施例中,第一映射公式可以是取模运算公式、取余运算公式、哈希运算公式等等,本申请实施例对此不作限定。下列仅以第一映射公式为取模运算公式为例进行说明。例如,每个第一级存储区域创建有N个第二级存储区域,计算节点将分发键(检索条件字段)再次映射出一个分区键(隐式分区字段),对分布式大表t1自动创建一个字段col_pt,col_pt即为分发键映射出的分区键(隐式分区字段),字段col_pt存储值为P,P为t1表分发键(检索条件字段)换算成int值对N取模后的值。可以通过执行步骤S1221、步骤S1222-A和步骤S1222-B,得到取模后的值P,实现将检索范围精确到“具体存储节点的具体分区上”。当第一映射公式可以是取模运算公式、取余运算公式时,取模的可能结果的数量和分区的数量刚好相等,操作方便。
参照图3,在一些实施例中,还包括:
步骤S1400,发送分区创建指令到存储节点,以使存储节点根据分区创建指令在第一级检索区域中创建N个第二级检索区域,第二级检索区域的分区键为隐式分区字段。
例如,对于一张分布式大表t1,计算节点发送分区创建指令到存储节点,为t1表在每个存储节点(第一级检索区域)都创建N个partition分区(第二级检索区域),表分区键为字段col_pt(隐式分区字段),字段col_pt存储值为P,P为对应t1表的隐式分区字段的值。如图1所示,分区的存储值分别为P1、P2、P3和P4。例如,在一个真币追踪系统数据库中,同一个冠字号的真币数据可存储在同一个存储节点,即存储在同一个第一级检索区域,对应检索条件字段(即该真币的冠字号);同时,该存储节点中还存储有其他真币的数据,则可 以通过创建N个partition分区(第二级检索区域),把不同冠字号的真币数据存储在不同分区字段对应的分区中,例如,可以把该冠字号的纸币数据存储值为P(对应隐式分区字段)的分区中,通过检索条件字段“冠字号”+隐式分区字段(P),则可确定具体检索的分区。
在一些实施例中,数据库为分布式数据库,分布式数据库包括至少两个存储节点。参照图1,例如,分布式数据库包括有四个存储节点,分别为DB1、DB2、DB3和DB4,每个存储节点对应为一个第一级检索区域,四个存储节点均与计算节点连接,根据计算节点下发的检索条件字段确定需要检索的第一级检索区域,例如,根据计算节点下发的检索条件字段,确定需要检索的第一级检索区域为DB1。每个存储节点创建有4个分区,分别为P1、P2、P3和P4,每个分区对应为一个第二级检索区域,根据计算节点下发的隐式分区字段确定需要检索的第二级检索区域,例如,根据计算节点下发的隐式分区字段,确定需要检索的第二级检索区域为P1。因此,实现可以将检索范围精确到“具体存储节点的具体分区上”,提升检索速度。
在一些实施例中,本申请实施例还可以应用于多级计算节点的场景,使用本申请实施例提供的数据检索方法的可以是最下层级的计算节点(连接存储节点的计算节点),也可以是中间层级的计算节点,也可以是最上层级的计算节点。下列分三种场景分别进行说明。
参照图4,在一些实施例中,数据库为分布式数据库,分布式数据库包括至少两个存储节点和至少两级计算节点。
在一些实施例中,使用本申请实施例提供的数据检索方法的可以是最下层级的计算节点(连接存储节点的计算节点)。则获取检索条件字段,包括:
步骤S1110,获取来自上级计算节点的检索条件字段。
参照图4,分布式数据库包括两级计算节点,即一个第一级计算节点和多个第二级计算节点,第一级计算节点和各个第二级计算节点连接,每个第二级计算节点连接有多个存储节点(如4个存储节点),每个存储节点创建有多个分区(如4个分区)。执行本申请实施例提供的数据检索方法的可以是最下层级的计算节点(即第二级计算节点)。第一级计算节点获取来自业务SQL中的检索条件字段,并根据检索条件字段将检索条件字段分发给对应的第二级检索节点,对应的第二级计算节点通过执行步骤S1110,获取来自上级计算节点(即第一级计算节点)的检索条件字段,并通过执行步骤S1200和步骤S1300,实现可以将检索范围精确到“具体存储节点的具体分区上”,提升检索速度。具体过程如上,在此不做赘述。
在另一些实施例中,使用本申请实施例提供的数据检索方法的可以是中间层级的计算节点。则获取检索条件字段,包括:
步骤S1120,获取来自上级计算节点的检索条件字段;
下发检索条件字段和隐式分区字段到存储节点,包括:
步骤S1310,通过下级计算节点下发检索条件字段和隐式分区字段到存储节点;
分布式数据库包括三级计算节点,即一个第一级计算节点、多个第二级计算节点和多个第三级计算节点,第一级计算节点和各个第二级计算节点连接,每个第二级计算节点连接有多个第三级计算节点,每个第三级计算节点连接有存储节点(如4个存储节点),每个存储节点创建有多个分区(如4个分区)。执行本申请实施例提供的数据检索方法的可以是中间层级的计算节点(即第二级计算节点)。第一级计算节点获取来自业务SQL中的检索条件字段,并根据检索条件字段将检索条件字段分发给对应的第二级检索节点。对应的第二级计算节点通过执行步骤S1110,获取来自上级计算节点(即第一级计算节点)的检索条件字段,并通过执行步骤S1200,根据检索条件字段和预设的映射关系,生成隐式分区字段;对应的第二级计算节点通过执行步骤S1310,通过下级计算节点(即第三级计算节点)下发检索条件字段和隐式分区字段到存储节点,实现可以将检索范围精确到“具体存储节点的具体分区上”,提升检索速度。具体过程如上,在此不做赘述。
在另一些实施例中,使用本申请实施例提供的数据检索方法的可以是最上层级的计算节点。则下发检索条件字段和隐式分区字段到存储节点,包括:
步骤S1320,通过下级计算节点下发检索条件字段和隐式分区字段到存储节点。
参照图4,分布式数据库包括两级计算节点,即一个第一级计算节点和多个第二级计算节点,第一级计算节点和各个第二级计算节点连接,每个第二级计算节点连接有多个存储节点(如4个存储节点),每个存储节点创建有多个分区(如4个分区)。执行本申请实施例提供的数据检索方法的可以是最上层级的计算节点。第一级计算节点通过执行步骤S1100,获取来自业务SQL中的检索条件字段;通过执行步骤S1200,根据检索条件字段和预设的映射关系,生成隐式分区字段;第一级计算节点通过执行步骤S1320,通过下级计算节点下发检索条件字段和隐式分区字段到存储节点,即第一级计算节点根据检索条件字段将检索条件字段分发给对应的第二级检索节点,通过对应的第二级计算节点下发检索条件字段和隐式分区字段到存储节点,实现可以将检索范围精确到“具体存储节点的具体分区上”,提升检索速度。具体过程如上,在此不做赘述。
在另一些实施例中,分布式数据库包括至少两个存储节点和至少两级计算节点。使用本申请实施例提供的数据检索方法的可以是多个层级的计算节点。即是说,在多层计算节点架构下,分发键(检索条件字段)可以经过多次映射,最后映射精确到分区键(隐式分区字段),业务SQL语句的where条件中还是只需要含有分发键即可。例如,参照图4,分布式数据库包括两级计算节点,即一个第一级计算节点和多个第二级计算节点,第一级计算节点和各个第二级计算节点连接,每个第二级计算节点连接有多个存储节点(如4个存储节点),每个存储节点创建有多个分区(如4个分区)。执行本申请实施例提供的数据检索方法的可以是最上层级的计算节点(即第一级计算节点)和最下层级的计算节点(即第二级计算节点)。第一级计算节点通过执行步骤S1100,获取来自业务SQL中的检索条件字段;通过执行步骤S1200,根据检索条件字段和预设的第一映射关系,生成第一级隐式分区字段;第一级计算节点将“检索条件字段+第一级隐式分区字段”下发给对应的第二级计算节点;对应的第二级计算节点接收到来自第一级计算节点的“检索条件字段+第一级隐式分区字段”进一步根据预设的第二映射关系,生成第二级隐式分区字段,并将“检索条件字段+第一级隐式分区字段+第二级隐式分区字段”下发到存储节点。第一映射关系和第二级映射关系可以是相同的映射关系,也可以是不同的映射关系,本申请对此不作限定。通过多次映射,得到的下一层级隐式分区字段更加简单和短小,从而使得检索更加方便快捷,进而可更进一步提升检索速度。
在一些实施例中,数据库为单机数据库。本申请实施例的数据检索方法也适用于单机数据库,例如,单机数据库时,也可以对业务SQL语句where条件中的检索主键或索引字段进行隐式映射出一个分区字段。
在一些实施例中,单机数据库使用本申请方法隐式分区键策略包括:
1、单机数据库在创建表时,根据规则选择是否添加隐式分区字段,及创建对应的partition分区;
2、含有隐式分区字段的表,在insert插入数据时,自动根据主键或索引或非索引字段(检索条件字段)与隐式分区键(隐式分区字段)的映射关系,自动补充插入分区键(隐式分区字段)的值;
3、含有隐式分区字段的表,在检索where条件中含检索条件字段时,根据预设的映射关系,自动对where条件进行补充添加隐式分区字段,将检索语句下发到具体对应的分区上进行检索,从而达到,业务侧只根据主键或索引字段(检索条件字段),就能下发到partition分区上进行缩小范围检索。
本申请实施例通过将检索条件字段自动转化为隐式分区字段,这个实现可以将检索范围精确到第二级检索区域上,从而提升检索速度,同时减少了业务侧的辅助检索字段,进而实现简化业务检索字段。
参照图5,在一些实施例中,在所述步骤S1300之后,还包括:
步骤S1500,在第二级检索区域进行检索;
步骤S1600,根据检索结果进行以下的至少一种操作:
选择、更新、删除、数据重分布、数据导出等。
在一些实施例中,本申请实施例的数据检索方法可以应用于数据库的多种操作中,例如选择、更新、删除、数据重分布、数据导出等操作。例如,分布式事务对大表进行select、update、delete等操作,当操作语句where添加中带有分发键(检索条件字段)时,计算节点即可在where条件中自动添加隐式分区字段col_pt条件,将语句直接下发到指定存储节点的指定分区上,这样可以有效的提升原业务SQL操作的执行效率。
在一些实施例中,本申请实施例的数据检索方法包括如下步骤:
1.计算节点将分发键再次映射出一个分区键,对分布式大表t1自动创建一个字段col_pt,col_pt即为分发键映射出的分区键,分区键col_pt存储值为p,p为t1表分发键换算成int值对N取模后的值。
2.计算节点为t1表在每个存储节点都创建N个partition分区,表分区键为字段col_pt。
3.在业务SQL的where条件中含有分发键字段时,计算节点自动在原where条件中添加分区键col_pt字段,这样业务SQL就可以直接到达指定存储节点的指定分区去检索,检索范围缩小N倍。where条件中col_pt字段值是在计算分发键指向存储节点时就计算出来了,相对与检索范围缩小了N倍,增加的延迟可忽略不计。
下列以具体的场景示例说明本申请实施例。
如图6所示,在冠字号追踪系统(真币追踪系统)或车辆行驶追踪系统中,从一张大数据量的记录表中查询冠字号流通信息或车辆行驶信息,一些技术方案的检索策略可能是where条件中需要含有分发键(检索条件字段,如冠字号或车牌)和分区键(显式分区字段,如时间范围)两个字段,即业务SQL语句包括“where冠字号或车牌=XXXX and时间=“时间范围”。
示例一
如图1所示,在本申请实施例涉及的方法中,新的检索策略业务侧where条件中只需要含有分发键(检索条件字段,如冠字号或车牌),分区键(隐式分区字段)是业务无感知的,即业务SQL语句包括“where冠字号或车牌=XXXX”,在计算节点会对原检索语句自动改写,添加上隐藏的隐式分区键,计算节点下发给存储节点的where条件会变更为“where冠字号或车牌=XXXX and隐式分区键=YYY”。例如,在一个真币追踪系统数据库中,同一个冠字号的真币数据可存储在同一个存储节点,即存储在同一个第一级检索区域,对应检索条件字段(即该真币的冠字号);同时,该存储节点中还存储有其他真币的数据,则可以通过创建N个partition分区(第二级检索区域),把不同冠字号的真币数据存储在不同分区字段对应的分区中,例如,可以把该冠字号的纸币数据存储值为P(对应隐式分区字段)的分区中,通过检索条件字段“冠字号”+隐式分区字段(P),则可确定具体检索的分区。
本申请实施例通过将检索条件字段自动转化为隐式分区字段,这个实现可以将检索范围精确到第二级检索区域上,从而提升检索速度,同时减少了业务侧的辅助检索字段,进而实现简化业务检索字段。
另外,参照图7,本申请还提供一种数据检索方法,应用于数据库的存储节点,包括:
步骤S2100,接收来自计算节点的检索条件字段和隐式分区字段;
步骤S2200,根据检索条件字段确定对应的第一级检索区域;
步骤S2300,根据隐式分区字段在第一级检索区域中确定对应的第二级检索区域。
在一些实施例中,应用于数据库的存储节点通过执行步骤S2100,接收数据库的计算节点执行上述步骤S1100、步骤S1200和步骤S1300后下发的检索条件字段和隐式分区字段;再通过执行步骤S2200,根据检索条件字段确定对应的第一级检索区域;在通过执行步骤S2300,根据隐式分区字段在第一级检索区域中确定对应的第二级检索区域。本申请实施例通过将检索条件字段自动转化为隐式分区字段,这个实现可以将检索范围精确到第二级检索区域上,从而提升检索速度,同时减少了业务侧的辅助检索字段,进而实现简化业务检索字段。
参照图8,在一些实施例中,还包括:
步骤S2400,接收来自计算节点的分区创建指令;
步骤S2500,根据分区创建指令在第一级检索区域中创建N个第二级检索区域,第二级检索区域的分区键为隐式分区字段。
在一些实施例中,应用于数据库的存储节点通过执行步骤S2400,接收计算节点通过执行上述步骤S1400下发的分区创建指令;通过执行步骤S2500,根据分区创建指令在第一级检索区域中创建N个第二级检索区域,第二级检索区域的分区键为隐式分区字段。
另外,参照图9,本申请实施例还提供数据检索装置,包括:
获取模块310,被设置成获取检索条件字段;
映射模块320,被设置成根据检索条件字段和预设的映射关系,生成隐式分区字段;
下发模块330,被设置成下发检索条件字段和隐式分区字段到存储节点,以使存储节点根据检索条件字段确定对应的第一级检索区域,根据隐式分区字段在第一级检索区域中确定对应的第二级检索区域;其中,第一级检索区域包括N个第二级检索区域,N为大于或等于1的正整数。
需要说明的是,本实施例中的数据检索装置300,可以应用为如图1所示实施例的系统架构中的数据检索装置;另外,本实施例中的数据检索装置300,可以执行如图2所示实施例中的数据检索方法。即,本实施例中的数据检索装置300和如图1所示实施例的系统架构中的数据检索装置,以及如图2所示实施例中的数据检索方法,均属于相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,本申请还提供电子设备,包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,在一些实施例中,处理器执行计算机程序时实现:
如上述的数据检索方法。
处理器和存储器可以通过总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
需要说明的是,本实施例中的数据检索装置,可以应用为如图1所示实施例的系统架构中的数据检索装置,本实施例中的数据检索装置和如图1所示实施例的系统架构中的数据检索装置具有相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
实现上述实施例的数据检索方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的数据检索方法,例如,执行以上描述的图2中的方法步骤S1100至步骤S1300、图7中的方法步骤S2100至步骤S2300。
另外,本申请还提供计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行:
如上述的数据检索方法。
此外,本申请实施例的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述计算节点实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的数据检索方法,例如,执行以上描述的图2中的方法步骤S1100至步骤S1300。又如,被上述存储节点实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的数据检索方法,例 如,执行以上描述的图7中的方法步骤S2100至步骤S2300。
本申请实施例提供一种数据检索方法、装置、电子设备及存储介质。其中,应用于数据库的计算节点的数据检索方法,相较于一些技术方案,通过将检索条件字段自动转化为隐式分区字段,这个实现可以将检索范围精确到第二级检索区域上,从而提升检索速度,同时减少了业务侧的辅助检索字段,进而实现简化业务检索字段。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请实施例的一些实施进行了具体说明,但本申请实施例并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请实施例范围的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请实施例权利要求所限定的范围内。

Claims (13)

  1. 一种数据检索方法,应用于数据库的计算节点,包括:
    获取检索条件字段;
    根据检索条件字段和预设的映射关系,生成隐式分区字段;
    下发所述检索条件字段和所述隐式分区字段到存储节点,以使存储节点根据所述检索条件字段确定对应的第一级检索区域,根据所述隐式分区字段在第一级检索区域中确定对应的第二级检索区域;其中,所述第一级检索区域包括N个所述第二级检索区域,N为大于或等于1的正整数。
  2. 根据权利要求1所述的方法,其中,所述检索条件字段为非数字类型字段;
    对应的,所述根据检索条件字段和预设的映射关系,生成隐式分区字段,包括:
    根据检索条件字段,映射成数字类型字段;
    将所述数字类型字段作为所述隐式分区字段;
    或者,
    根据检索条件字段,映射成数字类型字段;
    根据所述数字类型字段和第一映射公式,获得所述隐式分区字段。
  3. 根据权利要求2所述的方法,其中,
    当所述根据检索条件字段和预设的映射关系,生成隐式分区字段,包括:
    根据检索条件字段,映射成数字类型字段;
    根据所述数字类型字段和第一映射公式,获得所述隐式分区字段;
    所述第一映射公式包括取模运算公式,对应的,所述根据所述数字类型字段和第一映射公式,获得所述隐式分区字段,包括:
    将所述数字类型字段对N取模,得到取模后的值P;
    将P作为所述隐式分区字段。
  4. 根据权利要求1至3任一项所述的方法,其中,还包括:
    发送分区创建指令到存储节点,以使存储节点根据所述分区创建指令在所述第一级检索区域中创建N个所述第二级检索区域,所述第二级检索区域的分区键为所述隐式分区字段。
  5. 根据权利要求1至3任一项所述的方法,其中,所述数据库为分布式数据库,所述分布式数据库包括至少两个存储节点。
  6. 根据权利要求1至3任一项所述的方法,其中,所述数据库为分布式数据库,所述分布式数据库包括至少两个存储节点和至少两级计算节点;
    所述获取检索条件字段,包括:
    获取来自上级计算节点的检索条件字段;
    或者,
    所述获取检索条件字段,包括:
    获取来自上级计算节点的检索条件字段;
    所述下发所述检索条件字段和所述隐式分区字段到存储节点,包括:
    通过下级计算节点下发所述检索条件字段和所述隐式分区字段到存储节点;
    或者,
    所述下发所述检索条件字段和所述隐式分区字段到存储节点,包括:
    通过下级计算节点下发所述检索条件字段和所述隐式分区字段到存储节点。
  7. 根据权利要求1至3任一项所述的方法,其中,所述数据库为单机数据库。
  8. 根据权利要求1至3任一项所述的方法,其中,所述下发所述检索条件字段和所述隐式分区字段到存储节点之后,还包括:
    在所述第二级检索区域进行检索;
    根据检索结果进行以下的至少一种操作:
    选择、更新、删除、数据重分布、数据导出。
  9. 一种数据检索方法,应用于数据库的存储节点,包括:
    接收来自计算节点的检索条件字段和隐式分区字段;
    根据所述检索条件字段确定对应的第一级检索区域;
    根据所述隐式分区字段在第一级检索区域中确定对应的第二级检索区域。
  10. 根据权利要求9所述的方法,其特征在于,还包括:
    接收来自计算节点的分区创建指令;
    根据所述分区创建指令在所述第一级检索区域中创建N个所述第二级检索区域,所述第二级检索区域的分区键为所述隐式分区字段。
  11. 一种数据检索装置,包括:
    获取模块,被设置成获取检索条件字段;
    映射模块,被设置成根据检索条件字段和预设的映射关系,生成隐式分区字段;
    下发模块,被设置成下发所述检索条件字段和所述隐式分区字段到存储节点,以使存储节点根据所述检索条件字段确定对应的第一级检索区域,根据所述隐式分区字段在第一级检索区域中确定对应的第二级检索区域;其中,所述第一级检索区域包括N个所述第二级检索区域,N为大于或等于1的正整数。
  12. 一种电子设备,包括:
    存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现:
    如权利要求1至8任意一项所述的数据检索方法;
    和/或,
    如权利要求9或10所述的数据检索方法。
  13. 一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行:
    如权利要求1至8任意一项所述的数据检索方法;
    和/或,
    如权利要求9或10所述的数据检索方法。
PCT/CN2021/128414 2020-12-14 2021-11-03 数据检索方法、装置、电子设备及存储介质 WO2022127418A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011466841.3 2020-12-14
CN202011466841.3A CN114625798B (zh) 2020-12-14 2020-12-14 数据检索方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
WO2022127418A1 true WO2022127418A1 (zh) 2022-06-23

Family

ID=81896597

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/128414 WO2022127418A1 (zh) 2020-12-14 2021-11-03 数据检索方法、装置、电子设备及存储介质

Country Status (2)

Country Link
CN (1) CN114625798B (zh)
WO (1) WO2022127418A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117453752A (zh) * 2023-12-25 2024-01-26 神州医疗科技股份有限公司 基于检索配置表数据模型的医院临床数据检索方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115438032A (zh) * 2022-08-23 2022-12-06 中国银联股份有限公司 一种基于云计算的数据检索方法、装置及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163458A1 (en) * 2000-04-20 2003-08-28 Sabine Guerry Method and apparatus for storing and retrieving data
CN101840400A (zh) * 2009-03-19 2010-09-22 北大方正集团有限公司 一种多级分类检索方法及系统
CN102467521A (zh) * 2010-11-08 2012-05-23 北大方正集团有限公司 一种易扩展的多级分类检索方法及系统
US20160048584A1 (en) * 2014-08-13 2016-02-18 Marco Valentin On-the-fly determination of search areas and queries for database searches
WO2016070751A1 (zh) * 2014-11-06 2016-05-12 阿里巴巴集团控股有限公司 一种分布式缓存范围查询方法、装置及系统
WO2017088358A1 (zh) * 2015-11-26 2017-06-01 华为技术有限公司 一种分布式数据库处理的方法和设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354151B (zh) * 2014-08-19 2020-09-11 阿里巴巴集团控股有限公司 一种缓存管理方法与设备
CN106777343A (zh) * 2017-01-16 2017-05-31 百融(北京)金融信息服务股份有限公司 增量分布式索引系统和方法
CN109918369B (zh) * 2017-12-13 2024-01-23 金篆信科有限责任公司 数据存储方法及装置
CN110874383B (zh) * 2018-08-30 2023-05-05 阿里云计算有限公司 数据处理方法、装置及电子设备
CN111382313A (zh) * 2018-12-29 2020-07-07 浙江大华技术股份有限公司 一种动检数据检索方法、设备及装置
CN109902101B (zh) * 2019-02-18 2021-04-02 国家计算机网络与信息安全管理中心 基于SparkSQL的透明分区方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163458A1 (en) * 2000-04-20 2003-08-28 Sabine Guerry Method and apparatus for storing and retrieving data
CN101840400A (zh) * 2009-03-19 2010-09-22 北大方正集团有限公司 一种多级分类检索方法及系统
CN102467521A (zh) * 2010-11-08 2012-05-23 北大方正集团有限公司 一种易扩展的多级分类检索方法及系统
US20160048584A1 (en) * 2014-08-13 2016-02-18 Marco Valentin On-the-fly determination of search areas and queries for database searches
WO2016070751A1 (zh) * 2014-11-06 2016-05-12 阿里巴巴集团控股有限公司 一种分布式缓存范围查询方法、装置及系统
WO2017088358A1 (zh) * 2015-11-26 2017-06-01 华为技术有限公司 一种分布式数据库处理的方法和设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117453752A (zh) * 2023-12-25 2024-01-26 神州医疗科技股份有限公司 基于检索配置表数据模型的医院临床数据检索方法及装置
CN117453752B (zh) * 2023-12-25 2024-03-19 神州医疗科技股份有限公司 基于检索配置表数据模型的医院临床数据检索方法及装置

Also Published As

Publication number Publication date
CN114625798A (zh) 2022-06-14
CN114625798B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
WO2022127418A1 (zh) 数据检索方法、装置、电子设备及存储介质
US6772172B2 (en) Method, system, program, and computer readable medium for indexing object oriented objects in an object oriented database
RU2400803C2 (ru) Долговременное хранилище типов и экземпляров данных .net
CN101673307B (zh) 空间数据索引方法及系统
CN103914463B (zh) 一种图片信息的相似性检索方法和装置
US20030028545A1 (en) System and method for managing object to relational one-to-many mapping
US20030200223A1 (en) System and method for storing data
US20090299966A1 (en) Management of large dynamic tables
WO2013143278A1 (zh) 数据的索引查询方法、装置及系统
US8583655B2 (en) Using an inverted index to produce an answer to a query
US11036709B2 (en) Single-level, multi-dimension, hash-based table partitioning
CN104486777A (zh) 一种实现数据处理的方法及装置
TW569110B (en) Dynamic database management system and method
US7310719B2 (en) Memory management tile optimization
US7337295B2 (en) Memory management frame handler
CN110008289B (zh) 一种关系数据库、电网模型数据存储及检索方法
US8255388B1 (en) Providing a progress indicator in a database system
CN100543729C (zh) 动态对象存取系统及方法
US7139690B2 (en) Object-level conflict detection in an object-relational database system
Ross et al. Serving datacube tuples from main memory
CN110674524A (zh) 一种混合密文索引方法及系统
US7725455B1 (en) Computing aggregates on distinct attribute values
CN106991137B (zh) 基于Hbase散列概要森林对时序数据进行索引的方法
CN111666347B (zh) 数据处理方法、装置与设备
US9424296B2 (en) Indexing of database queries

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21905347

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 031123)