CN109033248B - Method and device for storing data record and method and device for inquiring data record - Google Patents

Method and device for storing data record and method and device for inquiring data record Download PDF

Info

Publication number
CN109033248B
CN109033248B CN201810731155.0A CN201810731155A CN109033248B CN 109033248 B CN109033248 B CN 109033248B CN 201810731155 A CN201810731155 A CN 201810731155A CN 109033248 B CN109033248 B CN 109033248B
Authority
CN
China
Prior art keywords
index
data records
nodes
node
query statement
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
Application number
CN201810731155.0A
Other languages
Chinese (zh)
Other versions
CN109033248A (en
Inventor
曹宗南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810731155.0A priority Critical patent/CN109033248B/en
Publication of CN109033248A publication Critical patent/CN109033248A/en
Application granted granted Critical
Publication of CN109033248B publication Critical patent/CN109033248B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The application provides a method for inquiring data records, which comprises the following steps: receiving a first query statement; determining a fragmentation node set matched with the index value range of the index to be queried specified by the first query statement according to a first corresponding relation between the index value range of the index and the fragmentation node set, wherein different fragmentation node sets correspond to different index value ranges of the index in the first corresponding relation; and acquiring data records belonging to the index value range of the index specified by the first query statement from the determined fragmented node set. The method can reduce resource consumption when the query statement is executed when the data record is queried.

Description

Method and device for storing data record and method and device for inquiring data record
Technical Field
The present application relates to the field of information technology, and more particularly, to a method and apparatus for storing data records, and a method and apparatus for querying data records.
Background
In a distributed database, data records are typically stored on multiple sharded nodes, which are distributed across multiple stand-alone databases.
When storing data records, a fragment node for storing the data records may be determined by a range fragmentation algorithm and a hash fragmentation algorithm, and the data records are stored onto the corresponding fragment node.
For the case that the fragmentation nodes for storing the data records are determined by a hash (hash) fragmentation algorithm, because the algorithm can make the data records distributed uniformly among a plurality of fragmentation nodes, when querying the data records, the query statement generally needs to be issued to all the fragmentation nodes in the distributed database for execution, which causes higher resource consumption when executing the query statement.
Disclosure of Invention
The application provides a method for storing data records and a method for inquiring the data records, which can reduce resource consumption when executing inquiry sentences when inquiring a database.
In a first aspect, a method of storing data records is provided, comprising: dividing the partitioned nodes in the distributed database into a plurality of partitioned node sets; generating a first corresponding relationship between the plurality of fragmented node sets and a plurality of index value ranges of an index, wherein different fragmented node sets correspond to different index value ranges of the index in the first corresponding relationship; and storing data records of different index value ranges of the index in different fragment node sets of the plurality of fragment node sets according to the first corresponding relation.
By dividing the fragment nodes in the distributed database into a plurality of fragment node sets, wherein different fragment node sets are used for storing data records of different index value ranges, when the data records are stored, the data records of different index value ranges of the indexes are stored in different fragment node sets according to the corresponding relation between the generated plurality of fragment node sets and the plurality of index value ranges of the indexes.
When the data records are queried, the fragment node set of the data records storing the index value range of the index to be queried is determined according to the corresponding relation between the plurality of fragment node sets generated when the data records are stored and the plurality of index value ranges of the index, so that when the index value range of the index of the data records to be queried is small, query statements are only issued to the fragment node sets of the data records storing the index value range of the index to be queried, query statements are prevented from being issued to each fragment node in the distributed database system, and resource consumption when the query statements are executed is further reduced.
With reference to the first aspect, in certain implementations of the first aspect, the generating a first correspondence between the plurality of sharded node sets and a plurality of index ranges of the index includes: and determining the range of the index values allocated to each of the plurality of fragmented node sets according to a hash algorithm.
With reference to the first aspect, in certain implementations of the first aspect, the storing, by different sharded node sets of the plurality of sharded node sets, data of different ranges of index values of the index includes: for each fragmented node set in the multiple fragmented node sets, generating a second correspondence between the multiple fragmented nodes in the fragmented node set and multiple index values in an index value range corresponding to the fragmented node set, where different fragmented nodes correspond to different index values in the second correspondence; and storing a plurality of data records corresponding to the plurality of index values in the plurality of fragment nodes in the fragment node set according to the second corresponding relation.
Optionally, the generating a second correspondence between the plurality of fragmented nodes in the fragmented node set and the plurality of index values in the index value range corresponding to the fragmented node set includes: and determining a plurality of index values distributed to a plurality of fragmentation nodes in the fragmentation node set according to a hash algorithm.
When the data records are stored in the fragmentation node set, the fragmentation nodes for storing the data records are determined through a Hash algorithm, so that the data records can be uniformly distributed in each fragmentation node set, and the problem of data hot spots caused by the fact that the data records are distributed in one or more fragmentation nodes in the set is avoided.
In a second aspect, a method for querying a data record is provided, including: receiving a first query statement; determining a fragment node set matched with an index value range of an index to be queried specified by the first query statement according to a first corresponding relation between the index value range and the fragment node set, wherein different fragment node sets correspond to different index value ranges of the index in the first corresponding relation; and acquiring data records belonging to the index value range of the index specified by the first query statement from the determined fragmented node set.
By dividing the fragment nodes in the distributed database into a plurality of fragment node sets, wherein different fragment node sets are used for storing data records of different index value ranges of the index, when the data records are stored, the data records of different index value ranges of the index are stored in different fragment node sets according to the corresponding relation between the generated plurality of fragment node sets and the plurality of index value ranges of the index.
When the data records are queried, the fragment node set of the data records storing the index value range of the index to be queried is determined according to the corresponding relation between the plurality of fragment node sets generated when the data records are stored and the plurality of index value ranges of the index, so that when the index value range of the index of the data records to be queried is small, query statements are only issued to the fragment node sets of the data records storing the index value range of the index to be queried, query statements are prevented from being issued to each fragment node in the distributed database system, and resource consumption when the query statements are executed is further reduced.
With reference to the second aspect, in some implementations of the second aspect, the obtaining, from the determined set of fragmented nodes, data records within an index value range belonging to an index specified by the first query statement includes: according to a second corresponding relation between the index value in the index range of the index and the fragment nodes, determining the fragment nodes matched with the index value range of the index specified by the first query statement from the determined fragment node set, wherein different fragment nodes correspond to different index values of the index in the second corresponding relation; and acquiring data records belonging to the index value range of the index specified by the first query statement from the determined fragment nodes.
When the data records are inquired, the fragment nodes of the data records in the index value range of the index to be inquired are determined from the determined fragment node set according to the corresponding relation between the plurality of fragment nodes generated when the data records are stored and the plurality of index values of the index, so that the inquiry sentences are only issued to the fragment nodes of the data records in the index value range of the index to be inquired in the fragment node set, the inquiry sentences are prevented from being issued to each fragment node in the fragment node set, and the resource consumption when the inquiry sentences are executed is further reduced.
With reference to the second aspect, in some implementations of the second aspect, the obtaining, from the determined sharded node, data records belonging to the range of index values of the index specified by the first query statement includes: if the determined fragmented node set comprises a plurality of fragmented nodes and the fragmented nodes are distributed on a single-machine database, generating a second query statement according to the first query statement, wherein the second query statement comprises: each index value in the range of index values of the index of the first query statement further includes an identification of a sharded node corresponding to each index value in the range of index values of the index of the first query statement; and indicating any one of the plurality of fragment nodes to acquire the data record belonging to the index value range specified by the second query statement according to the second query statement.
When a plurality of fragment nodes exist in a fragment node set and data records in the index value range of the index specified by the first query statement are stored in the fragment nodes, and the fragments are distributed on a single-machine database, the query sub-statements generated aiming at the fragment nodes are merged, and the merged second query statement comprises the identification of each fragment node in the fragment nodes, so that only the merged second query statement is issued aiming at each fragment node set, and the resource consumption in executing the query statement is further reduced.
In a third aspect, an apparatus for storing data records is provided, where the apparatus is configured to perform the method of the first aspect or any possible implementation manner of the first aspect. In particular, the apparatus may comprise means for performing the method of the first aspect or any possible implementation of the first aspect for storing data records.
In a fourth aspect, there is provided an apparatus for querying data records, the apparatus being configured to perform the method of the second aspect or any possible implementation manner of the second aspect. In particular, the apparatus may comprise means for performing the method of the second aspect or any possible implementation of the second aspect for querying data records.
In a fifth aspect, an apparatus for storing data records is provided that includes a memory and a processor. The memory is to store instructions; the processor executes the instructions stored by the memory to cause the apparatus to perform the method of the first aspect or any possible implementation of the first aspect to store data records.
In a sixth aspect, an apparatus for querying data records is provided that includes a memory and a processor. The memory is to store instructions; the processor executes the instructions stored by the memory to cause the apparatus to perform the method of querying data records of the second aspect or any possible implementation of the second aspect.
In a seventh aspect, a computer-readable storage medium is provided, in which instructions are stored, and when the instructions are executed on a computer, the instructions cause the computer to execute the method for storing data records in the first aspect or any possible implementation manner of the first aspect.
In an eighth aspect, a computer-readable storage medium is provided, having stored therein instructions that, when executed on a computer, cause the computer to perform the method of querying data records of the second aspect or any possible implementation manner of the second aspect.
In a ninth aspect, there is provided a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of storing data records of the first aspect or any possible implementation form of the first aspect.
A tenth aspect provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of querying data records of the second aspect or any possible implementation of the second aspect.
Drawings
FIG. 1 is a diagram of the general distribution of data records in a distributed database.
Fig. 2 is a schematic flow chart of a method for storing data records provided by an embodiment of the present application.
Fig. 3 is a schematic diagram illustrating correspondence between multiple index value ranges and multiple sharded node sets when storing data records according to an embodiment of the present application.
Fig. 4 is a schematic block diagram of a distributed database provided by an embodiment of the present application.
Fig. 5 is a schematic flow chart of a method for querying a data record provided by an embodiment of the present application.
Fig. 6 is a schematic block diagram of an apparatus for storing data records according to an embodiment of the present application.
Fig. 7 is a schematic block diagram of an apparatus for querying a data record according to an embodiment of the present application.
Fig. 8 is another schematic block diagram of an apparatus for storing data records according to an embodiment of the present application.
Fig. 9 is another schematic block diagram of an apparatus for querying data records according to an embodiment of the present application.
Detailed Description
The technical solution in the embodiments of the present invention will be described below with reference to the accompanying drawings.
First, a general method of storing data records and querying data records will be briefly described.
FIG. 1 shows a distribution diagram of data records in a distributed database in the method, when the method stores the data records to a plurality of sharded nodes (for example, sharded node 1 to sharded node K, K ≧ 2), a plurality of index values allocated to each sharded node are determined by a hash algorithm, and then the data records corresponding to the plurality of index values are stored to corresponding sharded nodes.
For example, the sharded node may be a server, and the server may implement a function of storing data records, and in addition, the server may also implement a computing function.
The method for determining the fragmentation nodes for storing the data records through the hash algorithm can ensure that the data records are distributed on a plurality of fragmentation nodes very uniformly.
When an application program queries data records in a distributed database, the data records to be queried may be uniformly distributed on a plurality of sharded nodes in the distributed database, that is, each sharded node may store a part of the data records to be queried, and therefore, the application program often needs to send a query statement to each sharded node.
For example, the information of students at a grade, including the name, gender, class, school number and grade rank of each student, is stored in the distributed database, the information of the students at the grade is uniformly distributed on a plurality of sharded nodes in the distributed database system, the application program needs to query the name and school number of the students at the grade rank of top 100 from the distributed database, and at this time, the application program needs to issue a query statement to each sharded node: the method comprises the steps of selecting name, school number from student id between x and y, wherein the name, school represents an index of a data record to be queried, namely the name and the school number of a student, student represents the name of a table to be queried, id represents an index value, namely a rank ranking, and x and y represent an index value range of the index, wherein x is 1, and y is 100.
In the method, the application program needs to send the query statement to each fragment node when querying the data record, which results in higher resource consumption when executing the query statement.
In view of the above problems, embodiments of the present invention provide a method for storing data records and a method for querying data records, in which a fragment node in a distributed database is divided into a plurality of fragment node sets, and different fragment node sets are used for storing data records of different index value ranges of an index, so that when storing data records, data records of different index value ranges of the index are stored in different fragment node sets according to a correspondence relationship between the generated plurality of fragment node sets and the plurality of index value ranges of the index.
When the data records are queried, the fragment node set of the data records storing the index value range of the index to be queried is determined according to the corresponding relation between the plurality of fragment node sets generated when the data records are stored and the plurality of index value ranges of the index, so that when the index value range of the index of the data records to be queried is small, query statements are only issued to the fragment node sets of the data records storing the index value range of the index to be queried, query statements are prevented from being issued to each fragment node in the distributed database system, and resource consumption when the query statements are executed is further reduced.
The following first describes a method for storing data records according to an embodiment of the present invention.
Fig. 2 shows a schematic flow diagram of a method 100 of storing data records, the method being performed by a distributed database of the distributed databases, comprising steps 101 to 103.
101, dividing the fragmentation nodes in the distributed database into a plurality of fragmentation node sets.
Specifically, the distributed database divides a plurality of fragment nodes for storing data records into a plurality of fragment node sets, each fragment node set at least includes two fragment nodes, for example, fragment nodes 1 to P are divided into fragment node sets 1 to S, S is an integer greater than or equal to 2, and P is an integer greater than or equal to 2S. The sharded node set 1 through sharded node set S are configured on a plurality of stand-alone databases.
It should be noted that, in the embodiment of the present invention, each standalone database may be configured with one fragmented node set; alternatively, more than one sharded node set may be deployed on each stand-alone database, and each sharded node set may be deployed on more than one stand-alone database. The embodiment of the present invention is not particularly limited thereto.
The following describes a method for storing data records and a method for querying data records according to an embodiment of the present invention, by taking an example in which each standalone database is configured with a fragmented node set.
102, generating a first corresponding relationship between the plurality of fragmented node sets and the index value ranges of the plurality of indexes, where different fragmented node sets correspond to different index value ranges of the indexes in the first corresponding relationship.
Specifically, when the distributed database stores the data records into the sharded nodes 1 to S, a corresponding relationship (e.g., a first corresponding relationship) between the sharded node sets and a plurality of index value ranges obtained by dividing the index value ranges corresponding to the data records is generated.
Tables in the distributed database record a plurality of indices, e.g., name, age, and average payroll, respectively, each index having a respective plurality of ranges of index values. For example, the plurality of index values for the average payroll range from 5001 to 5010, 5011 to 5020, 5021 to 5030, and 5031 to 5040, respectively; as another example, the plurality of index values for age range from 31 to 40, 41 to 50, and 50 to 55, respectively.
For example, the first correspondence relationship may be that the range of index values 5001 to 5010 for average wages corresponds to the fragmented node set 1, the range of index values 5011 to 5020 for average wages corresponds to the fragmented node set 3, the range of index values 5021 to 5030 for average wages corresponds to the fragmented node set 5, and the range of index values 5031 to 5040 for average wages corresponds to the fragmented node set 7;
or, the first corresponding relationship may also be that the range of index values 5001 to 5010 for average wages corresponds to the fragmented node set 2, the range of index values 5011 to 5020 for average wages corresponds to the fragmented node set 4, the range of index values 5021 to 5030 for average wages corresponds to the fragmented node set 6, and the range of index values 5031 to 5040 for average wages corresponds to the fragmented node set 8.
Optionally, the generating a first corresponding relationship between the plurality of sliced node sets and a plurality of index value ranges of the index includes: and determining the index value range of the index allocated to each of the plurality of fragmented node sets according to a hash algorithm.
Specifically, when the first correspondence relationship between the plurality of fragmented node sets and the plurality of index value ranges of the index is generated, the index value range of the index allocated to each of the fragmented node sets from the fragmented node set 1 to the fragmented node set S may be determined according to a hash algorithm.
For example, when the plurality of index value ranges of the average payroll are 5001 to 5010, 5011 to 5020, 5021 to 5030, and 5031 to 5040, respectively, it is determined according to a hash algorithm that the index value range of the average payroll 5001 to 5010 is allocated to the sharding node 1, the index value range of the average payroll 5011 to 5020 is allocated to the sharding node 5, the index value range of the average payroll 5021 to 5030 is allocated to the sharding node 6, and the index value range of the average payroll 5031 to 5040 is allocated to the sharding node 9.
It should be noted that the correspondence between the above listed fragmentation node set and the index value range of the index is only an exemplary illustration, and does not constitute any limitation to the embodiment of the present invention.
It should be further noted that, each sharded node set may store only data records within an index value range of one index, or each sharded node set may also store data records within an index value range of multiple indexes, which is not limited in this embodiment of the present invention.
103, according to the first corresponding relationship, storing data records of different index value ranges of the index in different sharded node sets of the plurality of sharded node sets.
Specifically, when the distributed database stores the data records into the fragment node set 1 to the fragment node set S, according to the first corresponding relationship generated in step 102, the data records of different index value ranges of the index are stored in different fragment node sets from the fragment node set 1 to the fragment node set S, and fig. 3 shows the corresponding relationship between a plurality of index value ranges of the index and a plurality of fragment node sets when the data records are stored.
For example, the distributed database stores data records of index value ranges 5001 to 5010 of average wages in the sharded node set 1, data records of index value ranges 5011 to 5020 of average wages in the sharded node set 5, data records of index value ranges 5021 to 5030 of average wages in the sharded node set 6, and data records of index value ranges 5031 to 5040 of average wages in the sharded node set 9 according to the first corresponding relationship.
Optionally, storing data of different ranges of index values of the index in different sharded node sets of the plurality of sharded node sets includes: for each fragment node set in the plurality of fragment node sets, generating a second corresponding relationship between the plurality of fragment nodes in the fragment node set and a plurality of index values in an index value range of an index corresponding to the fragment node set, wherein different fragment nodes in the second corresponding relationship correspond to different index values of the index; and storing a plurality of data records corresponding to a plurality of index values of the index in the plurality of fragment nodes in the fragment node set according to the second corresponding relation.
Specifically, after determining the index value range allocated to each sharded node set, the distributed database may further generate, for each sharded node set, a correspondence (e.g., a second correspondence) between a plurality of sharded nodes in the sharded node set and a plurality of index values in the index value range of the index, and store, in the plurality of sharded nodes in the sharded node set, a plurality of data records corresponding to the plurality of index values of the index according to the second correspondence.
For example, the second correspondence may be that a plurality of index values 5011 to 5014 of the average payroll correspond to the sharded nodes 13 in the sharded node set 5, and a plurality of index values 5015 to 5020 of the average payroll correspond to the sharded nodes 14 in the sharded node set 5.
For example, the generating the second correspondence between the plurality of sharded nodes in the sharded node set and the plurality of index values in the index value range of the index corresponding to the sharded node set includes: and determining a plurality of index values of the index distributed to the plurality of fragmentation nodes in the fragmentation node set according to a hash algorithm.
For example, the distributed database determines from the hash algorithm that a plurality of index values 5001, 5003, 5006, 5008 for the average payroll are assigned to sharded node 14 and a plurality of index values 5002, 5004, 5005, 5007, 5009, 5010 for the average payroll are assigned to sharded node 15.
For example, the distributed database determines to store data records of the index value ranges 5011 to 5020 of the average payroll in the sharded node set 5, and further determines to which sharded nodes in the sharded node set 5 the data records of the index value ranges 5011 to 5020 of the average payroll are stored according to the second correspondence, for example, the distributed database stores a plurality of data records corresponding to a plurality of index values 5011 to 5014 of the average payroll in the sharded node 13 and stores a plurality of data records corresponding to a plurality of index values 5015 to 5020 of the average payroll in the sharded node 14 according to the second correspondence.
It should be noted that the correspondence between the above listed fragmentation nodes and the index values of the index is only an exemplary illustration, and does not limit the embodiment of the present invention at all.
FIG. 4 shows a schematic block diagram of a distributed database in an embodiment of the invention. The distributed database includes a stand-alone database 1 to a stand-alone database S and a distributed database, and the fragmentation node set 1 to the fragmentation node set S shown in fig. 3 are respectively configured on the stand-alone database 1 to the stand-alone database S.
The distributed database is used for receiving the query statement from the application program and further querying the data to be queried according to the received query statement. When the data records are queried, the fragment node set of the data records storing the index value range to be queried is determined, so that when the index value range of the data records to be queried is smaller, query statements are only issued to the fragment node set of the data records storing the index value range to be queried, the query statements are prevented from being issued to each fragment node in the distributed database system, and resource consumption in executing the query statements is further reduced.
The method 200 for querying data records provided herein is described in detail below with reference to the distributed database shown in fig. 4, and fig. 5 shows a schematic flow chart of the method 200, which is executed by a distributed database in the distributed database, and includes steps 201 to 203.
A first query statement is received 201.
In particular, the distributed database receives a query statement (e.g., a first query statement) from an application that specifies a range of index values for an index of a data record to be queried.
For example, the first query statement is a select name, and the data to be queried specified in the first query statement is recorded as the name and age of the employee with the average payroll index value range from 5005 to 5020.
202, according to a first corresponding relationship between the index value range of the index and the fragmented node set, determining the fragmented node set matched with the index value range of the index to be queried specified by the first query statement, where different fragmented node sets correspond to different index value ranges of the index in the first corresponding relationship.
Specifically, the distributed database determines, according to the first corresponding relationship between the index value range of the index specified in the first query statement and the description in the method 100, the sharded node set that matches the index value range of the index specified in the first query statement, that is, according to the first corresponding relationship between the index value range of the index specified in the first query statement and the description in the method 100, determines on which sharded node sets the data records within the index value range of the index specified in the first query statement are stored.
For example, the first correspondence may be that the range of index values 5001 to 5010 for average wages corresponds to the sharded node set 1, the range of index values 5011 to 5020 for average wages corresponds to the sharded node set 3, the range of index values 5021 to 5030 for average wages corresponds to the sharded node set 5, and the range of index values 5031 to 5040 for average wages corresponds to the sharded node set 7.
And the distributed database determines that the fragment node sets matched with the index value range of the average wage specified by the first query statement are a fragment node set 1 and a fragment node set 3 respectively according to the first corresponding relation.
And 203, acquiring data records in the index value range of the index specified by the first query statement from the determined fragmented node set.
Specifically, after determining the fragmented node set in which the data records within the index value range of the index are stored, the distributed database further obtains the data records belonging to the index value range of the index specified by the first query statement from the determined fragmented node set.
For example, if the distributed database determines that the sharded node sets matching the index value range 5005 to 5020 of the average wage specified by the first query statement are sharded node set 1, sharded node set 3, and sharded node set 5, respectively, the distributed database may obtain data records belonging to the index value range of the average wage specified by the first query statement from the sharded node set 1, sharded node set 3, and sharded node set 5.
The embodiment of the invention provides a method for storing data records and a method for inquiring the data records, wherein fragment nodes in a distributed database are divided into a plurality of fragment node sets, and different fragment node sets are used for storing the data records of different index value ranges of an index, so that when the data records are stored, the data records of different index value ranges of the index are stored in different fragment node sets according to the corresponding relation between the generated plurality of fragment node sets and the plurality of index value ranges of the index.
When the data records are queried, the fragment node set of the data records storing the index value range of the index to be queried is determined according to the corresponding relation between the plurality of fragment node sets generated when the data records are stored and the plurality of index value ranges of the index, so that when the index value range of the index of the data records to be queried is small, query statements are only issued to the fragment node sets of the data records storing the index value range of the index to be queried, query statements are prevented from being issued to each fragment node in the distributed database system, and resource consumption when the query statements are executed is further reduced.
The following describes a method for the distributed database to obtain data records from the determined set of fragmented nodes.
Method 1
By way of example and not limitation, the obtaining data records from the determined set of sharded nodes that belong within the range of index values of the index specified by the first query statement includes: and acquiring the data record belonging to the index value range of the index specified by the first query statement from each fragment node in the determined fragment node set.
Specifically, when the distributed database acquires a data record belonging to the index value range of the index specified by the first query statement from the sharded node set matched with the index value range of the index specified by the first query statement, one query sub-statement may be generated for each sharded node in each sharded node set, where each query sub-statement includes each index value in the index value range of the index specified by the first query statement, and also includes an identifier of a corresponding sharded node.
For example, the distributed database acquires data records belonging to an index value range of an average payroll specified by a first query statement from a fragmentation node set 1 and a fragmentation node set 3, wherein fragmentation nodes in the fragmentation node set 1 are a fragmentation node 1, a fragmentation node 2 and a fragmentation node 3; the fragmentation nodes in the fragmentation node set 3 are a fragmentation node 7, a fragmentation node 8 and a fragmentation node 9.
For example, the first query statement is a select name, an age from table, store average way between 5005 and 5020 order by age desc, where the order by age desc represents that when the distributed database receives data records returned by each fragment node set, the returned data records of the employees need to be sorted from big to small according to the ages, and the desc represents a reverse sorting.
The distributed database generates six query sub-sentences aiming at the fragmentation nodes 1 to 3 and the fragmentation nodes 7 to 9 according to the first query sentence: select name, age from dn1.table where average wave between 5005 and 5020; select name, age from dn2.table where average wave between 5005 and 5020; select name, age from dn3.table where average wave between 5005 and 5020; select name, age from dn7.table where average wave between 5005 and 5020; select name, age from dn8.table where average wave between 5005 and 5020; select name, age from dn9.table corner average wave between 5005 and 5020. Wherein dn1, dn2, dn5, dn7, dn8, dn9 represent the identities of sharded nodes 1 to 3, sharded nodes 7 to 9, respectively.
The distributed database middleware respectively establishes connection with the fragmentation nodes 1 to 3 and the fragmentation nodes 7 to 9, and the six sub-sentences generated aiming at the slicing nodes 1 to 3 and the slicing nodes 7 to 9 are issued to the slicing nodes 1 to 3 and the slicing nodes 7 to 9 in parallel, the slicing nodes 1 to 3 and the slicing nodes 7 to 9 execute respective inquiry sub-sentences to obtain data records in the index value range of the average wages specified by the respective inquiry sub-sentences, and returning the acquired data records to the distributed database, and sequencing the received employee data records returned from the fragmentation nodes 1 to 3 and the fragmentation nodes 7 to 9 according to the order by age desc in the first query statement by the distributed database and returning the data records to the application program after the data records are sequenced from big to small.
Method 2
By way of example and not limitation, the obtaining data records from the determined set of sharded nodes that belong within the range of index values of the index specified by the first query statement includes: according to a second corresponding relation between the index value in the index range of the index and the fragment node, determining the fragment node matched with the index value range of the index specified by the first query statement from the determined fragment node set, wherein different fragment nodes correspond to different index values of the index in the second corresponding relation; and acquiring the data records belonging to the index value range of the index specified by the first query statement from the determined fragment nodes.
Specifically, when acquiring data records belonging to the range of index values of the index specified by the first query statement from the fragmented node set 1 and the fragmented node set 3, the distributed database determines the fragmented nodes matching the range of index values of the index specified by the first query statement from the fragmented node set 1 and the fragmented node set 3 according to a corresponding relationship (e.g., a second corresponding relationship) between the index values of the index in the range of index in the method 100 and the fragmented nodes, and further acquires the data records belonging to the range of index values of the index specified by the first query statement from the determined fragmented nodes.
For example, the second correspondence relationship is that the index values 5005 to 5007, which may be average wages, correspond to the sharded node 1 in the sharded node set 1, the index values 5008 to 5010 of the average wages correspond to the sharded node 3 in the sharded node set 1, the index values 5011 to 5016 of the average wages correspond to the sharded node 7 in the sharded node set 3, and the index values 5017 to 5020 of the average wages correspond to the sharded node 9 in the sharded node set 3.
At this time, the distributed database generates four query sub-statements only for the sharded node 1, the sharded node 3, the sharded node 7 and the sharded node 9 according to the first query statement: select name, age from dn1.table where average wave between 5005 and 5020; select name, age from dn3.table where average wave between 5005 and 5020; select name, age from dn7.table where average wave between 5005 and 5020; select name, age from dn9.table corner average wave between 5005 and 5020. Wherein dn1, dn3, dn7 and dn9 represent the identifiers of the sharded node 1, the sharded node 3, the sharded node 7 and the sharded node 9 respectively.
The distributed database middleware respectively establishes connection with the fragmentation node 1, the fragmentation node 3, the fragmentation node 7 and the fragmentation node 9, and the four inquiry sub-sentences generated aiming at the slicing node 1, the slicing node 3, the slicing node 7 and the slicing node 9 are issued to the slicing node 1, the slicing node 3, the slicing node 7 and the slicing node 9 in parallel, the slicing node 1, the slicing node 3, the slicing node 7 and the slicing node 9 execute respective inquiry sub-sentences to obtain data records in the index value range of the average wage specified by the respective inquiry sub-sentences, and returning the acquired data records to the distributed database, and sequencing the received employee data records returned by the fragmentation nodes 1, 3, 7 and 9 according to the order by age desc in the first query statement by the distributed database from big to small and then returning the data records to the application program.
When the data records are inquired, the fragment nodes of the data records in the index value range of the index to be inquired are determined from the determined fragment node set according to the corresponding relation between the plurality of fragment nodes generated when the data records are stored and the plurality of index values of the index, so that the inquiry sentences are only issued to the fragment nodes of the data records in the index value range of the index to be inquired in the fragment node set, the inquiry sentences are prevented from being issued to each fragment node in the fragment node set, and the resource consumption when the inquiry sentences are executed is further reduced.
Method 3
By way of example and not limitation, the obtaining, from the determined sharded node, data records belonging to the range of index values of the index specified by the first query statement includes: if the determined fragmented node set comprises a plurality of fragmented nodes and the plurality of fragmented nodes are distributed on a single-machine database, generating a second query statement according to the first query statement, wherein the second query statement comprises: each index value in the index value range of the index of the first query statement further includes an identifier of a fragmentation node corresponding to each index value in the index value range of the index of the first query statement; and indicating any one of the plurality of fragment nodes to acquire the data record in the index value range of the index specified by the second query statement according to the second query statement.
Specifically, in method 2, because the fragmentation node 1 and the fragmentation node 3 are distributed on the standalone database 1, and the fragmentation node 7 and the fragmentation node 9 are distributed on the standalone database 3, that is, they are distributed on different standalone databases, method 3 merges two query sub-statements generated for the fragmentation node 1 and the fragmentation node 3 into one query statement (for example, a second query statement) on the basis of method 2, and the form of the second query statement may be: a select name, age from dn1.table, person average wave between 5005 and 5020 order by age desc union all select name, age from dn3.table, person average wave between 5005 and 5020 order by age desc;
similarly, the two query sub-statements generated for the sharded node 7 and the sharded node 9 are merged into a second query statement, and the form of the second query statement may be: a select name, an age from dn7.table, person average wave between 5005 and 5020 order by age desc union all select name, an age from dn9.table, person average wave between 5005 and 5020 order by age desc.
When acquiring data records belonging to the index value range of the average payroll specified by the first query statement from the determined fragment node set, the distributed database may be connected to a single-machine database in which the fragment node set 1 and the fragment node set 3 are located, or may be connected to any one of the fragment nodes in the fragment node set 1 and the fragment node set 2.
When the distributed database establishes a connection with any one of the fragmentation nodes in the fragmentation node set 1, the distributed database may send a second query statement to the fragmentation node (for example, fragmentation node 1) in the fragmentation node set 1 with which the connection is established: the method comprises the steps that a select name, an age from dn1.table, person average wave between 5005 and 5020 order by age deselected all select name, and an age from dn3.table, person average wave between 5005 and 5020 order by age desec are obtained from the fragment nodes respectively in the range of the index value of the average wage specified in the second query statement, and the obtained data records of the staff are sorted according to the ages and then returned to the distributed database.
When the distributed database establishes a connection with any one of the fragmentation nodes in the fragmentation node set 3, the distributed database may send a second query statement to a fragmentation node (for example, fragmentation node 9) in the fragmentation node set 2 with which the connection is established: a select name, an age from dn7, a table, an average way, between 5005 and 5020 order by an order deseion all, an age from dn9, a table, an average way, between 5005 and 5020 order by an order, a shard node 9, according to the identifier of the shard node carried in the second query statement, respectively obtains data records in the range of the index value of the specified average wage from the corresponding shard node, and returns the obtained data records of the staff to the distributed database after sorting according to the age from large to small.
After receiving the employee data records returned by the fragmentation node 1 and the fragmentation node 9, the distributed database sorts the employee data records returned by the fragmentation node 1 and the employee records returned by the fragmentation node 6 according to the ages and returns the sorted employee data records to the application program.
When a plurality of fragment nodes exist in a fragment node set and data records in the index value range of the index specified by the first query statement are stored in the fragment nodes, and the fragments are distributed on a single-machine database, the query sub-statements generated aiming at the fragment nodes are merged, and the merged second query statement comprises the identification of each fragment node in the fragment nodes, so that only the merged second query statement is issued aiming at each fragment node set, and the resource consumption in executing the query statement is further reduced.
It should be noted that the method for merging multiple query sub-statements into one query statement and issuing the query statement in the method 3 may also be applied to a scenario where data is inserted into a fragment node in a distributed database, for example, when a data record needs to be inserted into multiple fragment nodes in a fragment node set, multiple insert sub-statements may be merged into one insert statement and issued, thereby reducing resource consumption when executing the insert statement.
The method for storing data records and the method for querying data records provided by the embodiment of the present invention are described above with reference to fig. 2 to 5, and the apparatus for storing data records and the apparatus for querying data records provided by the embodiment of the present invention are described below with reference to fig. 6 to 9.
Fig. 6 is a schematic block diagram of an apparatus 300 for storing data records according to an embodiment of the present application, where the apparatus 200 for storing data records is configured in a distributed database, and includes a processing module 301 and a generating module 302.
The processing module 301 is configured to divide the sharded nodes in the distributed database into a plurality of sharded node sets.
A generating module 302, configured to generate a first corresponding relationship between the multiple fragmented node sets and multiple index value ranges of the index, where different fragmented node sets correspond to different index value ranges of the index in the first corresponding relationship.
The processing module 301 is further configured to store data records of different index value ranges of indexes in different shard node sets of the plurality of shard node sets according to the first corresponding relationship.
Optionally, the processing module 301 is further configured to determine, according to a hash algorithm, an index value range allocated to each of the plurality of fragmented node sets.
Optionally, the processing module 301 is further configured to, for each of the fragmented node sets, generate a second correspondence between the multiple fragmented nodes in the fragmented node set and multiple index values in an index value range of an index corresponding to the fragmented node set, where different fragmented nodes in the second correspondence correspond to different index values of the index; and storing a plurality of data records corresponding to a plurality of index values of the index in the plurality of fragment nodes in the fragment node set according to the second corresponding relation.
The apparatus 300 for storing data records according to the embodiment of the present invention may correspond to the method 100 described in the embodiment of the present invention, and the above and other operations and/or functions of the units in the apparatus 300 are respectively for implementing the corresponding processes of the method 200 in fig. 2, and are not described herein again for brevity.
Fig. 7 is a schematic block diagram of an apparatus 400 for querying data records according to an embodiment of the present application, where the apparatus 400 for querying data records is configured in a distributed database and includes a receiving module 401 and a processing module 402.
A receiving module 401, configured to receive a first query statement.
A processing module 402, configured to determine, according to a first corresponding relationship between an index value range of an index and a fragment node set, a fragment node set that matches an index value range of an index to be queried specified by the first query statement, where different fragment node sets in the first corresponding relationship correspond to different index value ranges of the index.
The processing module 402 is further configured to obtain, from the determined fragmented node set, data records belonging to the range of index values of the index specified by the first query statement.
Optionally, the processing module 301 is further configured to determine, from the determined shard node set, shard nodes that are matched with the index value range of the index specified by the first query statement according to a second corresponding relationship between the index value in the index range of the index and the shard nodes, where different shard nodes in the second corresponding relationship correspond to different index values of the index; and acquiring the data records belonging to the index value range of the index specified by the first query statement from the determined fragment nodes.
Optionally, the processing module 301 is further configured to, if the determined fragmented node set includes a plurality of fragmented nodes and the plurality of fragmented nodes are distributed on a single-machine database, generate a second query statement according to the first query statement, where the second query statement includes: each index value in the index value range of the index of the first query statement further includes an identifier of a fragmentation node corresponding to each index value in the index value range of the index specified by the first query statement; and indicating any one of the plurality of fragment nodes to acquire the data record in the index value range of the index specified by the second query statement according to the second query statement.
The apparatus 400 for querying data records according to the embodiment of the present invention may correspond to performing the method 200 described in the embodiment of the present invention, and the above and other operations and/or functions of each unit in the apparatus 400 are respectively for implementing the corresponding flow of the method 200 in fig. 5, and are not described herein again for brevity.
Fig. 8 is a schematic block diagram of an apparatus 500 for storing data records according to an embodiment of the present application, where the apparatus 500 for storing data records is configured in a distributed database, and includes: a memory 501 and a processor 502.
The memory 501 stores programs.
Execution of the programs in the memory by the processor 502 causes the apparatus 500 to perform the steps in the method of storing data records (e.g., method 100) described in embodiments of the present invention.
Fig. 9 is a schematic block diagram of an apparatus 600 for querying data records provided in an embodiment of the present application, where the apparatus 500 for querying data records is configured in a distributed database, and includes: a memory 601 and a processor 602.
The memory 601 is used for storing programs.
Execution of the programs in the memory by the processor 602 causes the apparatus 600 to perform the steps in the method of querying data records (e.g., method 200) described in embodiments of the present invention.
An embodiment of the present invention provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the instructions are executed on a computer, the instructions cause the computer to execute the method for storing data records according to the embodiment of the present application.
An embodiment of the present invention provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the instructions are executed on a computer, the instructions cause the computer to execute the method for querying a data record according to the embodiment of the present application.
Embodiments of the present invention provide a computer program product including instructions, which when executed on a computer, cause the computer to execute the method for storing data records of the embodiments of the present application.
Embodiments of the present invention provide a computer program product including instructions, which when run on a computer, cause the computer to execute the method for querying a data record according to the embodiments of the present application.
It should be understood that the Processor mentioned in the embodiments of the present Application may be a Central Processing Unit (CPU), and may also be other general purpose processors, Digital Signal Processors (DSP), Application Specific Integrated Circuits (ASIC), Field Programmable Gate Arrays (FPGA) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components, and the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
It will also be appreciated that the memory referred to in the embodiments of the application may be either volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The non-volatile Memory may be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable PROM (EEPROM), or a flash Memory. Volatile Memory can be Random Access Memory (RAM), which acts as external cache Memory. By way of example, but not limitation, many forms of RAM are available, such as Static random access memory (Static RAM, SRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic random access memory (Synchronous DRAM, SDRAM), Double Data Rate Synchronous Dynamic random access memory (DDR SDRAM), Enhanced Synchronous SDRAM (ESDRAM), Synchronous link SDRAM (SLDRAM), and Direct Rambus RAM (DR RAM).
It should be noted that when the processor is a general-purpose processor, a DSP, an ASIC, an FPGA or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, the memory (memory module) is integrated in the processor.
It should be noted that the memory described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (12)

1. A method of storing data records, the method comprising:
dividing the partitioned nodes in the distributed database into a plurality of partitioned node sets;
generating a first corresponding relationship between the plurality of fragmented node sets and a plurality of index value ranges of an index, wherein different fragmented node sets correspond to different index value ranges of the index in the first corresponding relationship;
for each fragmented node set in the multiple fragmented node sets, generating a second correspondence between the multiple fragmented nodes in the fragmented node set and multiple index values in an index value range corresponding to the fragmented node set, where different fragmented nodes correspond to different index values in the second correspondence;
and storing a plurality of data records corresponding to the plurality of index values in the plurality of fragment nodes in the fragment node set according to the second corresponding relation.
2. The method of claim 1, wherein generating the first correspondence of the plurality of sharded node sets to the plurality of ranges of indices of the index comprises:
and determining the range of the index values allocated to each of the plurality of fragmented node sets according to a hash algorithm.
3. A method of querying a data record, comprising:
receiving a first query statement;
determining a fragment node set matched with an index value range of an index to be queried specified by the first query statement according to a first corresponding relation between the index value range and the fragment node set, wherein different fragment node sets correspond to different index value ranges of the index in the first corresponding relation;
according to a second corresponding relation between the index value in the index range of the index and the fragment nodes, determining the fragment nodes matched with the index value range of the index specified by the first query statement from the determined fragment node set, wherein different fragment nodes correspond to different index values of the index in the second corresponding relation;
and acquiring data records belonging to the index value range of the index specified by the first query statement from the determined fragment nodes.
4. The method of claim 3, wherein obtaining data records from the determined sharded node that belong within the range of index values of the index specified by the first query statement comprises:
if the determined fragmented node set comprises a plurality of fragmented nodes and the fragmented nodes are distributed on a single-machine database, generating a second query statement according to the first query statement, wherein the second query statement comprises: each index value in the range of index values of the index of the first query statement further includes an identification of a sharded node corresponding to each index value in the range of index values of the index of the first query statement;
and indicating any one of the plurality of fragment nodes to acquire the data record in the index value range of the index specified by the second query statement according to the second query statement.
5. An apparatus for storing data records, the apparatus comprising:
the processing module is used for dividing the fragment nodes in the distributed database into a plurality of fragment node sets;
a generating module, configured to generate a first corresponding relationship between the multiple fragmented node sets and multiple index value ranges of an index, where different fragmented node sets correspond to different index value ranges of the index in the first corresponding relationship;
the processing module is further configured to generate, for each of the fragmented node sets, a second correspondence between the multiple fragmented nodes in the fragmented node set and multiple index values in an index value range corresponding to the fragmented node set, where different fragmented nodes in the second correspondence correspond to different index values;
the processing module is further configured to store, in the sharded nodes in the sharded node set, a plurality of data records corresponding to the plurality of index values according to the second correspondence.
6. The apparatus of claim 5, wherein the processing module is further configured to determine a range of index values to assign to each of the plurality of sliced node sets according to a hashing algorithm.
7. An apparatus for querying data records, comprising:
a receiving module, configured to receive a first query statement;
the processing module is used for determining a fragment node set matched with an index value range of an index to be queried specified by the first query statement according to a first corresponding relation between the index value range and the fragment node set, wherein different fragment node sets correspond to different index value ranges of the index in the first corresponding relation;
the processing module is further configured to determine, from the determined sharded node set, sharded nodes that match the index value range of the index specified by the first query statement according to a second correspondence between index values in the index range of the index and sharded nodes, where different sharded nodes correspond to different index values of the index in the second correspondence;
the processing module is further configured to obtain, from the determined sharded node, a data record belonging to the range of the index value of the index specified by the first query statement.
8. The apparatus of claim 7, wherein the processing module is further configured to generate a second query statement according to the first query statement if the determined set of sharded nodes comprises a plurality of sharded nodes and the plurality of sharded nodes are distributed on a single stand-alone database, the second query statement comprising: each index value in the range of index values of the index of the first query statement further includes an identification of a sharded node corresponding to each index value in the range of index values of the index of the first query statement; and indicating any one of the plurality of fragment nodes to acquire the data record in the index value range of the index specified by the second query statement according to the second query statement.
9. An apparatus for storing data records, the apparatus comprising:
a memory for storing a program;
a processor for executing a program stored in the memory, the apparatus performing the method of storing data records of claim 1 or 2 when the program in the memory is executed.
10. An apparatus for querying data records, comprising:
a memory for storing a program;
a processor for executing a program stored in the memory, the apparatus performing the method of querying data records of claim 3 or 4 when the program in the memory is executed.
11. A computer readable storage medium having stored therein instructions which, when run on a computer, cause the computer to perform the method of storing data records of claim 1 or 2.
12. A computer-readable storage medium having stored therein instructions which, when executed on a computer, cause the computer to perform the method of querying data records of claim 3 or 4.
CN201810731155.0A 2018-07-05 2018-07-05 Method and device for storing data record and method and device for inquiring data record Active CN109033248B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810731155.0A CN109033248B (en) 2018-07-05 2018-07-05 Method and device for storing data record and method and device for inquiring data record

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810731155.0A CN109033248B (en) 2018-07-05 2018-07-05 Method and device for storing data record and method and device for inquiring data record

Publications (2)

Publication Number Publication Date
CN109033248A CN109033248A (en) 2018-12-18
CN109033248B true CN109033248B (en) 2021-01-12

Family

ID=64640444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810731155.0A Active CN109033248B (en) 2018-07-05 2018-07-05 Method and device for storing data record and method and device for inquiring data record

Country Status (1)

Country Link
CN (1) CN109033248B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704453B (en) * 2019-10-15 2022-05-06 腾讯音乐娱乐科技(深圳)有限公司 Data query method and device, storage medium and electronic equipment
CN113239046A (en) * 2021-05-20 2021-08-10 平安科技(深圳)有限公司 Data query method, system, computer device and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105608086A (en) * 2014-11-17 2016-05-25 中兴通讯股份有限公司 Transaction processing method and device of distributed database system
CN108197296A (en) * 2018-01-23 2018-06-22 马上消费金融股份有限公司 Date storage method based on Elasticsearch indexes

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972378B2 (en) * 2012-10-22 2015-03-03 Microsoft Corporation Formulating global statistics for distributed databases

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105608086A (en) * 2014-11-17 2016-05-25 中兴通讯股份有限公司 Transaction processing method and device of distributed database system
CN108197296A (en) * 2018-01-23 2018-06-22 马上消费金融股份有限公司 Date storage method based on Elasticsearch indexes

Also Published As

Publication number Publication date
CN109033248A (en) 2018-12-18

Similar Documents

Publication Publication Date Title
US20220284017A1 (en) Systems and methods for rapid data analysis
CN110321344B (en) Information query method and device for associated data, computer equipment and storage medium
JP5575902B2 (en) Information retrieval based on query semantic patterns
KR101469642B1 (en) System and method for aggregation and association of professional affiliation data with commercial data content
CN110019292B (en) Data query method and device
CN108197296B (en) Data storage method based on Elasticissearch index
US10649997B2 (en) Method, system and computer program product for performing numeric searches related to biometric information, for finding a matching biometric identifier in a biometric database
US10599395B1 (en) Dynamically merging database tables
CN107329983B (en) Machine data distributed storage and reading method and system
US11036699B2 (en) Method for computing distinct values in analytical databases
CN110659282B (en) Data route construction method, device, computer equipment and storage medium
US20160328445A1 (en) Data Query Method and Apparatus
CN109062936B (en) Data query method, computer readable storage medium and terminal equipment
CN109033248B (en) Method and device for storing data record and method and device for inquiring data record
CN111190901B (en) Business data storage method and device, computer equipment and storage medium
CN110442571A (en) A kind of data processing method, device and computer storage medium
Roszkowska et al. Can the holistic preference elicitation be used to determine an accurate negotiation offer scoring system? A comparison of direct rating and UTASTAR techniques
CN104199924B (en) The method and device of network form of the selection with snapshot relation
Franke et al. ScaDS research on scalable privacy-preserving record linkage
WO2015142169A1 (en) A method and system for determining a measure of overlap between data entries
CN108121733B (en) Data query method and device
CN114153898A (en) Method, device and application for combing relationships among database tables
CN111309704B (en) Database operation method and database operation system
US9483560B2 (en) Data analysis control
Brazeau et al. Morphological phylogenetic analysis with inapplicable data

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
TR01 Transfer of patent right

Effective date of registration: 20220209

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right