CN118093647A - Distributed database query system, method, equipment and medium supporting multi-copy consistency reading - Google Patents

Distributed database query system, method, equipment and medium supporting multi-copy consistency reading Download PDF

Info

Publication number
CN118093647A
CN118093647A CN202410283694.8A CN202410283694A CN118093647A CN 118093647 A CN118093647 A CN 118093647A CN 202410283694 A CN202410283694 A CN 202410283694A CN 118093647 A CN118093647 A CN 118093647A
Authority
CN
China
Prior art keywords
copy
timestamp
consistency
backup copy
target
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.)
Pending
Application number
CN202410283694.8A
Other languages
Chinese (zh)
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.)
Transwarp Technology Shanghai Co Ltd
Original Assignee
Transwarp Technology Shanghai 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 Transwarp Technology Shanghai Co Ltd filed Critical Transwarp Technology Shanghai Co Ltd
Priority to CN202410283694.8A priority Critical patent/CN118093647A/en
Publication of CN118093647A publication Critical patent/CN118093647A/en
Pending legal-status Critical Current

Links

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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • 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/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/245Query processing
    • G06F16/2455Query execution
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a distributed database query system, a method, equipment and a medium supporting multi-copy consistency reading. The system comprises a multi-copy consistency reading module, a global transaction reading consistency module and a multi-copy reading management module; the multi-copy consistency read module is configured to provide at least one non-strict distributed read consistency level; the global transaction read consistency module is used for ensuring global transaction read consistency; and the multi-copy read management module is used for selecting a final copy read data from a plurality of copies of the single database stored by each fragment based on the fragment storage list and the non-strict distributed read consistency level and the standby copy selection strategy after the global transaction read consistency module ensures the global transaction read consistency. The system supports to select one copy from a plurality of copies of the single-machine database in each partitioned storage to read data while ensuring the read consistency of the global transaction, thereby improving the overall performance of the distributed database.

Description

Distributed database query system, method, equipment and medium supporting multi-copy consistency reading
Technical Field
The embodiment of the invention relates to the technical field of distributed databases, in particular to a distributed database query system, a method, equipment and a medium supporting multi-copy consistency reading.
Background
The distributed database is executed on a stand-alone database that breaks down structured query language (Structured Query Language, SQL) requests for services into a plurality of sharded stores. The single database can generally ensure the characteristics of ACID (atomicity, consistency, isolation and durability), but the service SQL request is only decomposed into a plurality of requests to be executed in the single database, so that the isolation of the distributed transaction as a whole cannot be ensured, namely the read consistency of the global transaction cannot be ensured.
The prior art provides a multi-version concurrency control method based on global clock service, but the method only solves the problem that the global transaction read consistency is not ensured by the read of the master copy of the single-machine database in each partitioned storage. In order to ensure global transaction consistency for multiple copy reads, the existing main method is as follows: the client sends the request to an entry Gate of the distributed database; the Gate recognizes that the request is sent to the partitioned storage of the storage data, firstly acquires a maximum commit timestamp max_cts of a currently committed transaction from a master copy of a stand-alone database of the partitioned storage, and then acquires a snapshot timestamp sts from a global clock service; max_cts and sts are sent to a backup copy of the partitioned stored stand-alone database along with the request; the standby copy of the single machine database judges whether to wait until the data is synchronized to the corresponding site according to the received max_cts; then judging the visibility of the data according to sts, and returning the result to the Gate. However, the method has performance problems, when the write pressure ratio of the primary copy of the single database is higher, the data synchronization speed of the backup copy cannot keep pace with the data updating speed of the primary copy, and the time from the data reading of the backup copy to the data synchronization to the corresponding position is longer, so that the inquiry delay is longer.
Disclosure of Invention
The invention provides a distributed database query system, a method, equipment and a medium supporting multi-copy consistency reading, which are used for solving the problem of long query delay caused by the prior art.
According to an aspect of the present invention, there is provided a distributed database query system supporting multiple-copy consistent reading, including: a multi-copy consistency read module, a global transaction read consistency module, and a multi-copy read management module;
the multi-copy consistency read module is used for providing at least one non-strict distributed read consistency level;
the global transaction read consistency module is used for ensuring global transaction read consistency;
The multi-copy read management module is used for selecting a final copy read data from a plurality of copies of a single database stored in each piece based on a piece storage list, a non-strict distributed read consistency level and a standby copy selection strategy after the global transaction read consistency module ensures global transaction read consistency, and the final standby copy meets the requirement that the global transaction read consistency and the data version are close to the latest.
According to another aspect of the present invention, there is provided a distributed database query method supporting multiple-copy consistent reading, including:
after receiving a structured query statement sent by a user, a distributed database entry analyzes the structured query statement to determine a sharded storage list distributed by the structured query statement to be queried;
if multi-copy reading is used, a standby copy list and a snapshot time stamp are obtained;
Traversing the backup copy list, and executing preset operation on a single database corresponding to each backup copy in parallel, wherein the preset operation comprises the step of inquiring target data by using the snapshot time stamp, and the target data are data meeting global transaction consistency;
And collecting the target data returned from each standby copy and then returning the target data to the user.
According to another aspect of the present invention, there is provided an electronic apparatus including: at least one processor; and
A memory communicatively coupled to the at least one processor; wherein,
The memory stores a computer program executable by the at least one processor to enable the at least one processor to perform the distributed database query method supporting multiple copy consistent reading of any of the embodiments of the invention.
According to another aspect of the present invention, there is provided a computer readable storage medium storing computer instructions for causing a processor to implement a distributed database query method supporting multiple copy consistent reading as described in any one of the embodiments of the present invention when executed.
According to the technical scheme, based on the sliced storage list, the distributed read consistency level and the backup copy selection strategy, the backup copy list and the snapshot time stamp are calculated, the distributed database portal uses the snapshot time stamp to inquire the latest data version which meets the global transaction consistency on each backup copy of the backup copy list, the data synchronization of each backup copy does not need to be waited, and the overall inquiry delay is shortened.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the invention or to delineate the scope of the invention. Other features of the present invention will become apparent from the description that follows.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a block diagram of a multi-version concurrency control method based on global clock services provided in the prior art;
FIG. 2 is a schematic diagram of a distributed database query system supporting multiple-copy consistent reading according to an embodiment of the present invention;
FIG. 3 is a flowchart illustrating a method for obtaining a maximum synchronization timestamp of a backup copy in a distributed database query method supporting multiple-copy consistent reading according to an exemplary embodiment of the present invention;
FIG. 4 is a flow chart of a distributed database query method supporting multiple copy consistent reading according to a second embodiment of the present invention;
FIG. 5 is a flowchart of a distributed database query method supporting multiple-copy consistent reading according to an embodiment of the present invention;
Fig. 6 is a schematic structural diagram of an electronic device supporting a distributed database query method for multi-copy consistent reading according to an embodiment of the present invention.
Detailed Description
In order that those skilled in the art will better understand the present invention, a technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present invention without making any inventive effort, shall fall within the scope of the present invention. It should be understood that the various steps recited in the method embodiments of the present invention may be performed in a different order and/or performed in parallel. Furthermore, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the invention is not limited in this respect.
The term "including" and variations thereof as used herein are intended to be open-ended, i.e., including, but not limited to. The term "based on" is based at least in part on. The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments. Related definitions of other terms will be given in the description below.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present invention and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the invention described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It should be noted that references to "one", "a plurality" and "a plurality" in this disclosure are intended to be illustrative rather than limiting, and those skilled in the art will appreciate that "one or more" is intended to be construed as "one or more" unless the context clearly indicates otherwise.
The names of messages or information interacted between the devices in the embodiments of the present invention are for illustrative purposes only and are not intended to limit the scope of such messages or information.
Fig. 1 is a schematic diagram of a multi-version concurrency control method based on global clock service provided in the prior art, and as shown in fig. 1, the main structure is as follows:
Gate: the entry of the distributed database is mainly responsible for processing the request of the client and distributing the request to the main of the single database in each fragment storage, and is also responsible for controlling the execution flow of the distributed transaction;
And (5) storing in a slicing way: the data is distributed among the different sharded stores according to some sharding policy. To ensure high availability, the sharded store contains multiple copies of the stand-alone database, including a master, multiple slaves, and Gate defaults to read and write data from the master. The final consistency of the data is ensured by synchronizing all the standby data with the main data, the method of the data synchronization is not limited, generally, in order not to influence the speed of the main writing, an asynchronous synchronization mode is adopted (after the main copy writes the data successfully, the Gate writing is returned successfully, and the data is not required to wait for synchronization of the data to the standby copy), namely, the data synchronization has a certain delay, and at a certain time point, the data on the standby copy may not be the latest updated data on the main copy;
TSO Server: global clock service, responsible for distributing globally unique incremental timestamps;
Snapshot-TS (sts): when a distributed transaction starts, gate is obtained from a TSO Server; issuing sts while starting each single-machine database transaction, namely each single-machine database transaction belonging to the distributed transaction has the same sts, and each single-machine database transaction uses the same sts to inquire data so as to meet the consistency of the ACID of the distributed transaction;
Commit-TS (cts): before the distributed transaction is submitted, gate is obtained from TSO Server; and issuing cts while submitting each single-machine database transaction, namely each single-machine database transaction belonging to the distributed transaction has the same cts, and each single-machine database transaction has the same cts so as to meet the consistency of the ACID of the distributed transaction.
A stand-alone database: using a global multi-version concurrency control technique, a transaction modifies the latest version of data for a write operation while generating historical versions of the data, each version of data increasing persistence of a cts column representing cts of a distributed transaction updating the version of the data; when a read operation occurs, traversing the history version data in reverse order from the latest version according to a snapshot (sts) obtained at the transaction starting stage of the read operation, and finding out a certain version of the first readable data item; a single database transaction belonging to a distributed transaction determines whether data is visible (some version data can be read, and is also commonly called some version data is visible) based on sts, so that the read consistency of the global transaction is ensured.
When the read requests of the main copy of the single-machine database in each partitioned storage are more and the read pressure ratio is larger, the read flow can be split through the read-write separation function, so that the read pressure of the storage layer is reduced, namely, the data is supported to be read by selecting one of a plurality of standby copies of the single-machine database.
Example 1
Fig. 2 is a schematic structural diagram of a distributed database query system supporting multiple-copy consistent reading according to an embodiment of the present invention, where the system may be suitable for performing data query of a distributed database, and the system may be implemented by software.
As shown in fig. 2, a distributed database query system supporting multiple-copy consistent reading according to an embodiment of the present invention includes:
A multi-copy coherency read module 110, a global transaction read coherency module 120, and a multi-copy read management module 130;
A multi-copy consistency read module 110 for providing at least one non-strict distributed read consistency level;
a global transaction read consistency module 120 for ensuring global transaction read consistency;
The multi-copy read management module 130 is configured to, after the global transaction read consistency module 120 ensures global transaction read consistency, select, based on the sharded storage list, a final copy from multiple copies of the single database stored in each sharded, where the final backup copy meets the requirement that the global transaction read consistency and the data version are close to the latest.
In this embodiment, the distributed storage system generally provides different consistency levels, and it is understood that a stricter consistency model means that performance (delay), availability, or scalability (the number of nodes capable of providing a service) are lost; the strict distributed read consistency level requires that data be read from the backup copy to the latest version, i.e., the backup copy can read to the data version of the transaction update whenever the transaction has been committed at the primary copy.
The multi-copy consistency read module 110 may support several non-strict distributed read consistency levels:
Prefix consistency: the best effort to read the data of the newer version ensures that the session level is monotonically read, i.e. a client reads a certain version n of the data, then the version it reads must be greater than or equal to n. The read operation cannot be guaranteed to read the latest version of data;
Final consistency: efforts are made to read the newer version of the data. The single reading of the session level cannot be guaranteed, and the reading operation cannot be guaranteed to read the latest version of data.
Wherein a user may specify a distributed read consistency level for multiple copy reads by setting system variables.
In this embodiment, regardless of which distributed read consistency level of multiple copy reads is selected, global transaction read consistency is guaranteed by default. Global transaction read consistency includes: the data synchronization of the backup copies of the stand-alone database may synchronize the commit time stamps of the transactions; the backup copy of the stand-alone database maintains the maximum commit timestamp of the synchronized transaction and provides a query interface; the portal of the distributed database periodically performs heartbeat distributed transactions.
The data synchronization takes a transaction as a unit, and the backup copy synchronizes the transaction data of the main copy and the commit time stamp cts of the transaction, namely the transaction synchronously completed by the backup copy of the stand-alone database owns the same cts as the transaction corresponding to the main copy.
The backup copy of the stand-alone database maintains a maximum synchronization timestamp, i.e., a maximum timestamp of a transaction that has been completed synchronously. Specifically, each time a transaction is completed in synchronization, if the timestamp of the transaction is greater than the maximum synchronization timestamp, the maximum synchronization timestamp is updated to be the timestamp of the transaction. The backup copy of the stand-alone database provides the query interface for the maximum synchronization timestamp.
The heartbeat distributed transaction is a distributed transaction triggered by the Gate internally and is not a transaction initiated by a user. The heartbeat distributed transaction is periodically executed, which will open and commit a single transaction on the primary copy of all the partitioned single databases.
In this embodiment, a multi-copy read management module 130 is newly added inside the portal of the distributed database, and is responsible for managing the consistency of multi-copy reads. The multi-copy read management module 130 may be configured to provide a stand-alone database standby list and a snapshot timestamp for multi-copy reading according to a standby selection policy and a distributed read consistency level, and to provide efficient query while guaranteeing global transaction consistency and to read newer data versions as much as possible.
Further, the multi-copy read management module 130 is configured to: based on the sharded storage list, the distributed read consistency level and the backup copy selection strategy, a backup copy list and a snapshot time stamp are calculated, so that data meeting global transaction consistency is inquired on each backup copy of the backup copy list by using the snapshot time stamp through an entrance of a distributed database, and the data version is close to the latest data;
The backup copy selection policy comprises a load balancing policy and a data version policy, and the backup copy selection policy of multi-copy reading is indicated through a second system variable.
In this embodiment, several backup copy selection strategies are supported to select one backup copy to read data from the sharded storage:
load balancing strategies: the next backup copy is selected to read data in a polling mode, when the read flow is very large, the strategy can be selected, the read flow is split into a plurality of backup copies, and the overall read performance of the distributed database is improved;
Data version policy: each time the backup copy with the fastest synchronous data is selected to read the data, when the latest data is expected to be read, the strategy can be selected, and the latest version of the data synchronized in all the backup copies is read; the data version policy may provide the latest data version among all backup copies.
The user can specify the backup copy selection policy of the multi-copy read by setting the second system variable replicread node select policy, select the load balancing policy when the second system variable takes a value of 0, and select the data version policy when the second system variable takes a value of 1.
The first embodiment of the invention provides a distributed database query system supporting multi-copy consistency reading, wherein a multi-copy consistency reading module is used for providing at least one non-strict distributed reading consistency level; the global transaction read consistency module is used for ensuring global transaction read consistency; and after the global transaction read consistency module ensures global transaction read consistency, based on the sharded storage list, a non-strict distributed read consistency level and a backup copy selection strategy, selecting a final copy from a plurality of copies of the single database stored in each sharded, wherein the final backup copy meets the requirement of global transaction read consistency and data version approaching to the latest. The system supports to select one copy from a plurality of copies of the single-machine database in each partitioned storage to read data while guaranteeing the read consistency of the global transaction, and splits the read flow, so that the read pressure of the main copy of the single-machine database in the partitioned storage is reduced, and the overall performance of the distributed database is improved.
On the basis of the above embodiments, modified embodiments of the above embodiments are proposed, and it is to be noted here that only the differences from the above embodiments are described in the modified embodiments for the sake of brevity of description.
In one embodiment, the at least one non-stringent distributed read consistency level is indicated by a first system variable comprising:
When the first system variable value is a first numerical value, indicating to read data from the main copy;
When the variable value of the first system is a second value, multiple copy reading is indicated to be used, and the non-strict distributed reading consistency level is prefix consistency which supports session level monotonous reading;
when the variable value of the first system is a third value, indicating to use multi-copy reading, wherein the non-strict distributed reading consistency level is the final consistency, and the final consistency does not support session level monotone reading;
Wherein the first value, the second value, and the third value are different values.
Illustratively, the user specifies a distributed read consistency level for multiple copy reads by setting a first system variable replicarjread_consistency, the supported values are as follows:
0: reading data from the master copy without using multi-copy reading, with a default value of 0;
1: multiple copy reads are used and the distributed read consistency level is prefix consistency;
2: multiple copy reads are used and the distributed read consistency level is the final consistency.
In one embodiment, the process of the multi-copy read management module 130 obtaining the standby list and the snapshot timestamp includes:
The multi-copy read management module receives the fragment storage list and the snapshot time stamp used last time, initializes the standby copy list to be returned to be empty, and initializes the snapshot time stamp to be returned to be 0;
Traversing the fragment storage list, and executing the following flow for the current fragment storage:
Initializing the target timestamp to be 0, and initializing the target standby copy to be empty; executing different processes to update the target backup copy and the target timestamp according to the value of the second system variable or the value of the first system variable; taking the last standby copy for multi-copy reading in the current fragment storage as an updated target standby copy; adding the updated target standby copy to the standby copy list to be returned;
If the snapshot time stamp to be returned is 0, updating the snapshot time stamp to be returned as a target time stamp; otherwise, if the target timestamp is smaller than the snapshot timestamp to be returned, updating the snapshot timestamp to be returned as the target timestamp.
Further, executing different processes to update the target backup copy and the target timestamp according to the value of the second system variable or the value of the first system variable includes:
If the second system variable is the first value, polling and selecting a next backup copy meeting a target condition from a backup copy list stored in the current sharding as a target backup copy, wherein the backup copy list is obtained from a backup copy hash table;
If the second system variable is a second value, traversing a backup copy list stored by the current shard, and executing the following flow aiming at the current backup copy: acquiring a maximum synchronous timestamp of a current standby copy from a maximum synchronous timestamp hash table of the standby copy, if the maximum synchronous timestamp is larger than a target timestamp, updating the target timestamp to the maximum synchronous timestamp, and taking the current standby copy as a target standby copy;
If the first system variable is the second value and the last used snapshot time stamp is larger than the target time stamp, the target time stamp is updated to 0, the target backup copy is updated to be empty, and the flow of the second system variable being the second value is re-executed after waiting for the effective time.
Further, polling and selecting a next backup copy meeting a target condition from the backup copy list stored in the current shard as a target backup copy, including:
If the variable value of the first system is a second value, setting a target condition that the maximum synchronous time stamp of the backup copy is larger than or equal to the last used snapshot time stamp, otherwise, setting the target condition to be null;
acquiring the last backup copy for multi-copy reading in the current sharded storage, determining the next backup copy of the backup copy, starting to round the backup copy list of the current sharded storage from the next backup copy, and executing the following operations on the round-robin current backup copy:
The method comprises the steps that the maximum synchronous timestamp of a current standby copy is obtained from a maximum synchronous timestamp hash table of the standby copy, if the current standby copy meets target conditions, the current standby copy is assigned to a target standby copy, and the maximum synchronous timestamp of the current standby copy is assigned to the target timestamp;
Repeating the above operation until the round robin of the standby copy list is completed.
The main flow of obtaining the standby copy list and the snapshot time stamp is as follows:
a. the multi-copy read management module receives the fragment storage list and the snapshot time stamp used last time;
b. initializing a standby copy list to be returned to be empty, and initializing a snapshot time stamp to be returned to be 0;
c. traversing the shard storage list for the current shard storage, performing the following:
a) Initializing the target time stamp to be 0, and initializing the target standby copy to be empty;
b) And if the value of the second system variable is 0, polling and selecting the next backup copy meeting the target condition from the backup copy list stored by the current shard as a target backup copy:
i. Acquiring an index last_index of the backup copy selected by the last copy reading of the current slicing storage, wherein the index represents the position of the backup copy in the backup copy list, and the corresponding backup copy can be found in the backup copy list through the index, for example, the backup copy is arranged at the fourth position in the backup copy list, and the index of the backup copy is 4; if the current fragment storage is the first backup copy reading, the last_index is-1; specifically, the last_index is stored in the hash table last_index_map, the last_index of the current tile storage shard is the last_index_map [ shard ], and the current index cur_index is set to be last_index+1;
ii. If the first system variable takes on a second value: setting a target condition that the maximum synchronous time stamp of the standby copy is greater than or equal to the last used snapshot time stamp, otherwise, setting the target condition to be null;
iii, finding a current backup copy in a backup copy list stored in the current shard through cur_index, acquiring a maximum synchronous timestamp of the current backup copy from a maximum synchronous timestamp hash table of the backup copy, if the current backup copy meets a target condition (if the target condition is empty, the current backup copy meets the target condition), assigning the current backup copy as a target backup copy, and entering a step e); otherwise, updating cur_index to last_index+1, and repeatedly executing the current step;
c) If the second system variable is 1, all backup copies stored in the shard are obtained, the backup copy list stored in the current shard is traversed, and the following flow is executed for the current backup copy:
i. Obtaining a maximum synchronous timestamp of the current standby copy from a maximum synchronous timestamp hash table of the standby copy;
ii. If the maximum synchronous timestamp is larger than the target timestamp, updating the target timestamp to the maximum synchronous timestamp, and updating the target backup copy to be empty;
d) If the first system variable is 1 and the last used snapshot time stamp is larger than the target time stamp, the target time stamp is updated to be 0, the target standby copy is empty, and the step c) is re-executed after waiting for the effective time, otherwise, the next step is entered;
e) Updating the index of the backup copy selected by the last copy reading of the current slicing storage as the index i of the target backup copy in the backup copy list of the current slicing storage, and specifically, last_index_map [ shard ] =i;
f) Adding the updated target standby copy into the standby copy list to be returned;
g) If the snapshot time stamp to be returned is 0, updating the snapshot time stamp to be returned as the target time stamp; otherwise, if the target time stamp is smaller than the snapshot time stamp to be returned, updating the snapshot time stamp to be returned as the target time stamp;
d. and returning the standby copy list to be returned and the snapshot time stamp to be returned.
Further, the maximum synchronous timestamp hash table of the backup copy is stored in the form of a key value pair, the key is a unique identifier of the backup copy, the value is the maximum synchronous timestamp and the updating time of the backup copy, and the updating time is the time of acquiring the maximum synchronous timestamp from the stand-alone database corresponding to the backup copy.
The method comprises the steps that a maximum synchronization time stamp maintained by a maximum synchronization time stamp hash table of a standby copy has an effective period, and if the maximum synchronization time stamp of a certain standby copy is out of date, the first maximum synchronization time stamp is required to be acquired from a single machine database corresponding to the standby copy again, and the maximum synchronization time stamp hash table of the standby copy is updated; the validity period can be changed through the system configuration to relieve the pressure of the backup copy, and the backup copy can be accessed at most once to acquire the maximum synchronous time stamp in the validity period.
Further, the backup copy hash table is a backup copy hash table of all single-machine databases which are stored by maintaining all fragments, the key is stored by fragments, the value is a backup copy list, and the backup copy list stores unique identifiers of all backup copies which belong to the fragment storage.
The backup copy hash table is initialized when the distributed database is started, and can be automatically updated when the topology of the distributed database is changed, and the specific method is not limited; the topology of the distributed database changes, which means that the number of the partitioned storage changes, or the number of the backup copies stored in a certain partitioned storage changes, etc.
Further, the process of obtaining the maximum synchronization timestamp of the backup copy from the maximum synchronization timestamp hash table of the backup copy includes:
If the backup copy is contained in the backup copy maximum synchronous timestamp hash table, the maximum synchronous timestamp and the update time of the backup copy are obtained from one backup copy in the backup copy maximum synchronous timestamp hash table, if the update time is expired, the latest maximum synchronous timestamp of the backup copy is obtained from a single-machine database corresponding to the backup copy hash table, the latest maximum synchronous timestamp is updated to the maximum synchronous timestamp hash table, and the latest maximum synchronous timestamp is returned; otherwise, returning the maximum synchronous time stamp; if the maximum synchronous timestamp hash table of the standby copy does not contain the standby copy, acquiring the latest maximum synchronous timestamp of the standby copy from a stand-alone database corresponding to the standby copy hash table, updating the latest maximum synchronous timestamp into the maximum synchronous timestamp hash table, and returning the latest maximum synchronous timestamp.
For example, fig. 3 is a schematic flow chart of obtaining a maximum synchronization timestamp of a backup copy in a distributed database query method supporting multi-copy consistent reading according to an exemplary embodiment of the present invention, as shown in fig. 3, a main flow of obtaining a maximum synchronization timestamp of a backup copy from a maximum synchronization timestamp hash table is as follows:
a. receiving a backup copy, if the backup copy contained in the maximum synchronous timestamp hash table of the backup copy is not empty, namely max_sync_cts_map [ shard _replicas ] is not empty, obtaining the maximum synchronous timestamp replicamax_sync_cts and the update time update_time of the backup copy from max_sync_cts_map [ shard _replicas ], and if the update_time has expired, specifically, if the current system time update_time is greater than the valid period valid_time, entering a step c; otherwise, returning replicamaχsynccts;
b. If max_sync_cts_map [ shard _reply ] is empty, go to step c;
c. the latest new_max_sync_cts are obtained from the stand-alone database corresponding to the standby copy hash table, specifically, the maximum synchronous timestamp query interface provided by the standby copy hash table is called, then the new_max_sync_cts and the current time of the system are updated to max_sync_cts_map [ shard _replica ], and replica_max_sync_cts is returned.
Example two
Fig. 4 is a flow chart of a distributed database query method supporting multiple-copy consistent reading according to a second embodiment of the present invention, where the method is applicable to a case of performing data query of a distributed database, and the method may be performed by the distributed database query system supporting multiple-copy consistent reading according to any one of the embodiments of the present invention.
As shown in fig. 4, a distributed database query method supporting multi-copy consistent reading provided in a second embodiment of the present invention includes the following steps:
s110, after receiving a structured query statement sent by a user, the distributed database entry analyzes the structured query statement to determine a sharded storage list distributed by the structured query statement to be queried.
S120, if multi-copy reading is used, a standby copy list and a snapshot time stamp are acquired.
S130, traversing the backup copy list, and executing preset operation on the single machine database corresponding to each backup copy in parallel, wherein the preset operation comprises the step of inquiring target data by using the snapshot time stamp, and the target data are data meeting global transaction consistency.
And S140, gathering the target data returned from each standby copy and then returning the target data to the user.
The method is realized based on the following steps:
a. data synchronization of the backup copies of the stand-alone database synchronizes the time stamps of the transactions;
b. The standby copy of the stand-alone database maintains the maximum synchronous timestamp and provides a query interface;
c. The distributed database portal periodically performs heartbeat distributed transactions.
In the distributed database query method supporting multi-copy consistent reading provided by the second embodiment of the invention, firstly, after a distributed database entry receives a structured query statement sent by a user, the structured query statement is parsed, and a sharded storage list distributed by the structured query statement to be queried is determined; then if multi-copy reading is used, a standby copy list and a snapshot time stamp are obtained; then traversing the backup copy list, and executing preset operation on the single machine database corresponding to each backup copy in parallel, wherein the preset operation comprises the step of inquiring target data by using the snapshot time stamp, and the target data are data meeting global transaction consistency; and finally, gathering the target data returned from each standby copy and returning the target data to the user. The method can quickly acquire the maximum synchronous timestamp of a certain standby copy stored by a certain fragment through the distributed database entry, and simultaneously reduces the call of the maximum synchronous timestamp query interface of the standby copy to the greatest extent; the method is based on the sharded storage list, the distributed read consistency level and the backup copy selection strategy, the backup copy list and the snapshot time stamp are calculated, the distributed database portal uses the snapshot time stamp to inquire the latest data version which meets the global transaction consistency on each backup copy of the backup copy list, the data synchronization of each backup copy is not required to be waited, and the overall inquiry delay is shortened.
The embodiment of the invention provides a specific implementation mode based on the technical scheme of each embodiment.
As a specific implementation manner of the present embodiment, fig. 5 is a schematic flow chart of a distributed database query method supporting multiple-copy consistent reading according to a specific embodiment of the present invention, as shown in fig. 5, a main flow of multiple-copy reading while guaranteeing global transaction read consistency is as follows:
a. After receiving a structured query statement sql sent by a user, the distributed database entry Gate analyzes the structured query statement to obtain data to be queried, and distributes the data to be queried in the partitioned storage sets;
b. if the first system variable replicarjread_consistency takes a value of 0, then multi-copy reading is not used; otherwise, executing the step c;
c. Sending a fragment storage set and a snapshot timestamp last_sts used by the last multi-copy reading of the current session to a multi-copy reading management module to obtain a backup list replicajlist and the snapshot timestamp sts, wherein the current session refers to a thread of a Gate processing user request, all sql sent by the user are processed by the thread, and if the current sql is the first multi-copy reading of the current session, the last_sts is 0;
d. Traversing the replicalist, and executing the following operations on the single-machine database corresponding to each standby copy in parallel:
Using sts to inquire data, wherein sts is calculated by a multi-copy read management module, and the max_sync_cts to which the copy data are synchronized is ensured to be greater than or equal to sts, namely, the inquiry does not need to wait for data synchronization, and the visibility of the data is directly judged based on sts, so that the data with Gate meeting global transaction consistency can be returned;
e. recording last_sts as sts;
f. the data returned from each backup copy is summarized and returned to the user.
Example III
Fig. 6 shows a schematic diagram of the structure of an electronic device 10 that may be used to implement an embodiment of the invention. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Electronic equipment may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed herein.
As shown in fig. 6, the electronic device 10 includes at least one processor 11, and a memory, such as a Read Only Memory (ROM) 12, a Random Access Memory (RAM) 13, etc., communicatively connected to the at least one processor 11, in which the memory stores a computer program executable by the at least one processor, and the processor 11 may perform various appropriate actions and processes according to the computer program stored in the Read Only Memory (ROM) 12 or the computer program loaded from the storage unit 18 into the Random Access Memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 may also be stored. The processor 11, the ROM 12 and the RAM 13 are connected to each other via a bus 14. An input/output (I/O) interface 15 is also connected to bus 14.
Various components in the electronic device 10 are connected to the I/O interface 15, including: an input unit 16 such as a keyboard, a mouse, etc.; an output unit 17 such as various types of displays, speakers, and the like; a storage unit 18 such as a magnetic disk, an optical disk, or the like; and a communication unit 19 such as a network card, modem, wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The processor 11 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various processors running machine learning model algorithms, digital Signal Processors (DSPs), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as a distributed database query method that supports multiple copy consistent reads.
In some embodiments, a distributed database query method supporting multiple copy consistent reads may be implemented as a computer program tangibly embodied on a computer readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and/or installed onto the electronic device 10 via the ROM 12 and/or the communication unit 19. One or more of the steps described above in a distributed database querying method supporting multiple copy consistency reads may be performed when a computer program is loaded into RAM 13 and executed by processor 11. Alternatively, in other embodiments, processor 11 may be configured in any other suitable manner (e.g., by means of firmware) to perform a distributed database query method that supports multiple copy consistency reads.
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
A computer program for carrying out methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the computer programs, when executed by the processor, cause the functions/acts specified in the flowchart and/or block diagram block or blocks to be implemented. The computer program may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of the present invention, a computer-readable storage medium may be a tangible medium that can contain, or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, the computer readable storage medium may be a machine readable signal medium. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) through which a user can provide input to the electronic device. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), blockchain networks, and the internet.
The computing system may include clients and servers. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also called a cloud computing server or a cloud host, and is a host product in a cloud computing service system, so that the defects of high management difficulty and weak service expansibility in the traditional physical hosts and VPS service are overcome.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps described in the present invention may be performed in parallel, sequentially, or in a different order, so long as the desired results of the technical solution of the present invention are achieved, and the present invention is not limited herein.
The above embodiments do not limit the scope of the present invention. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the scope of the present invention.

Claims (12)

1. A distributed database query system supporting multi-copy consistent reading, wherein the system comprises a multi-copy consistent reading module, a global transaction reading consistency module and a multi-copy reading management module;
the multi-copy consistency read module is used for providing at least one non-strict distributed read consistency level;
the global transaction read consistency module is used for ensuring global transaction read consistency;
The multi-copy read management module is used for selecting a final copy read data from a plurality of copies of a single database stored in each piece based on a piece storage list, a non-strict distributed read consistency level and a standby copy selection strategy after the global transaction read consistency module ensures global transaction read consistency, and the final standby copy meets the requirement that the global transaction read consistency and the data version are close to the latest.
2. The system of claim 1, wherein the at least one non-stringent distributed read consistency level is indicated by a first system variable, comprising:
When the first system variable value is a first numerical value, indicating to read data from the main copy;
When the variable value of the first system is a second value, multiple copy reading is indicated to be used, and the non-strict distributed reading consistency level is prefix consistency which supports session level monotonous reading;
when the variable value of the first system is a third value, indicating to use multi-copy reading, wherein the non-strict distributed reading consistency level is the final consistency, and the final consistency does not support session level monotone reading;
Wherein the first value, the second value, and the third value are different values.
3. The system of claim 1, wherein the global transaction read consistency comprises:
The data synchronization of the backup copies of the stand-alone database may synchronize the commit time stamps of the transactions;
The backup copy of the stand-alone database maintains the maximum commit timestamp of the synchronized transaction and provides a query interface;
the portal of the distributed database periodically performs heartbeat distributed transactions.
4. A system according to claim 1 or 3, wherein the multi-copy read management module is configured to:
Based on the sharded storage list, the distributed read consistency level and the backup copy selection strategy, a backup copy list and a snapshot time stamp are calculated, so that data meeting global transaction consistency is inquired on each backup copy of the backup copy list by using the snapshot time stamp through an entrance of a distributed database, and the data version is close to the latest data;
The backup copy selection policy comprises a load balancing policy and a data version policy, and the backup copy selection policy of multi-copy reading is indicated through a second system variable.
5. The system of claim 4, wherein the process of the multi-copy read management module obtaining the standby list and the snapshot time stamp comprises:
The multi-copy read management module receives the fragment storage list and the snapshot time stamp used last time, initializes the standby copy list to be returned to be empty, and initializes the snapshot time stamp to be returned to be 0;
Traversing the fragment storage list, and executing the following flow for the current fragment storage:
Initializing the target timestamp to be 0, and initializing the target standby copy to be empty; executing different processes to update the target backup copy and the target timestamp according to the value of the second system variable or the value of the first system variable; taking the last standby copy for multi-copy reading in the current fragment storage as an updated target standby copy;
adding the updated target standby copy to the standby copy list to be returned;
If the snapshot time stamp to be returned is 0, updating the snapshot time stamp to be returned as a target time stamp; otherwise, if the target timestamp is smaller than the snapshot timestamp to be returned, updating the snapshot timestamp to be returned as the target timestamp.
6. The system of claim 5, wherein performing different flows to update the target backup copy and the target timestamp based on the value of the second system variable or the value of the first system variable comprises:
If the second system variable is the first value, polling and selecting a next backup copy meeting a target condition from a backup copy list stored in the current sharding as a target backup copy, wherein the backup copy list is obtained from a backup copy hash table;
If the second system variable is a second value, traversing a backup copy list stored by the current shard, and executing the following flow aiming at the current backup copy: acquiring a maximum synchronous timestamp of a current standby copy from a maximum synchronous timestamp hash table of the standby copy, if the maximum synchronous timestamp is larger than a target timestamp, updating the target timestamp to the maximum synchronous timestamp, and taking the current standby copy as a target standby copy;
If the first system variable is the second value and the last used snapshot time stamp is larger than the target time stamp, the target time stamp is updated to 0, the target backup copy is updated to be empty, and the flow of the second system variable being the second value is re-executed after waiting for the effective time.
7. The system of claim 6, wherein polling the next backup copy from the current sharded backup copy list that satisfies the target condition as the target backup copy comprises:
If the variable value of the first system is a second value, setting a target condition that the maximum synchronous time stamp of the backup copy is larger than or equal to the last used snapshot time stamp, otherwise, setting the target condition to be null;
acquiring the last backup copy for multi-copy reading in the current sharded storage, determining the next backup copy of the backup copy, starting to round the backup copy list of the current sharded storage from the next backup copy, and executing the following operations on the round-robin current backup copy:
The method comprises the steps that the maximum synchronous timestamp of a current standby copy is obtained from a maximum synchronous timestamp hash table of the standby copy, if the current standby copy meets target conditions, the current standby copy is assigned to a target standby copy, and the maximum synchronous timestamp of the current standby copy is assigned to the target timestamp;
Repeating the above operation until the round robin of the standby copy list is completed.
8. The system of claim 6, wherein the maximum synchronization timestamp hash table of the backup copy is stored in the form of a key value pair, the key is a unique identifier of the backup copy, the value is a maximum synchronization timestamp of the backup copy and an update time, and the update time is a time when the maximum synchronization timestamp is acquired from a stand-alone database corresponding to the backup copy.
9. The system of claim 6, wherein the process of obtaining a maximum synchronization timestamp for a backup copy from a maximum synchronization timestamp hash table for the backup copy comprises:
If the backup copy is contained in the backup copy maximum synchronous timestamp hash table, the maximum synchronous timestamp and the update time of the backup copy are obtained from one backup copy in the backup copy maximum synchronous timestamp hash table, if the update time is expired, the latest maximum synchronous timestamp of the backup copy is obtained from a single-machine database corresponding to the backup copy hash table, the latest maximum synchronous timestamp is updated to the maximum synchronous timestamp hash table, and the latest maximum synchronous timestamp is returned; otherwise, returning the maximum synchronous time stamp;
If the maximum synchronous timestamp hash table of the standby copy does not contain the standby copy, acquiring the latest maximum synchronous timestamp of the standby copy from a stand-alone database corresponding to the standby copy hash table, updating the latest maximum synchronous timestamp into the maximum synchronous timestamp hash table, and returning the latest maximum synchronous timestamp.
10. A distributed database query method supporting multiple-copy consistent reads, the method comprising:
after receiving a structured query statement sent by a user, a distributed database entry analyzes the structured query statement to determine a sharded storage list distributed by the structured query statement to be queried;
if multi-copy reading is used, a standby copy list and a snapshot time stamp are obtained;
Traversing the backup copy list, and executing preset operation on a single database corresponding to each backup copy in parallel, wherein the preset operation comprises the step of inquiring target data by using the snapshot time stamp, and the target data are data meeting global transaction consistency;
And collecting the target data returned from each standby copy and then returning the target data to the user.
11. An electronic device, the electronic device comprising:
At least one processor; and
A memory communicatively coupled to the at least one processor; wherein,
The memory stores a computer program executable by the at least one processor to enable the at least one processor to perform the distributed database query method supporting multiple copy consistency reads of claim 10.
12. A computer readable storage medium storing computer instructions for causing a processor to implement the distributed database query method supporting multiple copy consistency reads of claim 10 when executed.
CN202410283694.8A 2024-03-13 2024-03-13 Distributed database query system, method, equipment and medium supporting multi-copy consistency reading Pending CN118093647A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410283694.8A CN118093647A (en) 2024-03-13 2024-03-13 Distributed database query system, method, equipment and medium supporting multi-copy consistency reading

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410283694.8A CN118093647A (en) 2024-03-13 2024-03-13 Distributed database query system, method, equipment and medium supporting multi-copy consistency reading

Publications (1)

Publication Number Publication Date
CN118093647A true CN118093647A (en) 2024-05-28

Family

ID=91156062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410283694.8A Pending CN118093647A (en) 2024-03-13 2024-03-13 Distributed database query system, method, equipment and medium supporting multi-copy consistency reading

Country Status (1)

Country Link
CN (1) CN118093647A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130339301A1 (en) * 2012-06-04 2013-12-19 Google Inc. Efficient snapshot read of a database in a distributed storage system
CN112527900A (en) * 2020-12-04 2021-03-19 广州银行股份有限公司 Method, device, equipment and medium for database multi-copy reading consistency
CN113535656A (en) * 2021-06-25 2021-10-22 中国人民大学 Data access method, device, equipment and storage medium
CN113821563A (en) * 2021-08-11 2021-12-21 贝格迈思(深圳)科技有限公司 Asymmetric multi-copy distributed transaction processing method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130339301A1 (en) * 2012-06-04 2013-12-19 Google Inc. Efficient snapshot read of a database in a distributed storage system
CN112527900A (en) * 2020-12-04 2021-03-19 广州银行股份有限公司 Method, device, equipment and medium for database multi-copy reading consistency
CN113535656A (en) * 2021-06-25 2021-10-22 中国人民大学 Data access method, device, equipment and storage medium
CN113821563A (en) * 2021-08-11 2021-12-21 贝格迈思(深圳)科技有限公司 Asymmetric multi-copy distributed transaction processing method and system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李留高;: "分布式数据库系统的数据一致性研究", 计算机应用与软件, no. 10, 15 October 2010 (2010-10-15) *
赵春扬;肖冰;郭进伟;钱卫宁;: "一致性协议在分布式数据库系统中的应用", 华东师范大学学报(自然科学版), no. 05, 25 September 2018 (2018-09-25) *

Similar Documents

Publication Publication Date Title
US20220276998A1 (en) Database transaction processing method and apparatus, server, and storage medium
US8694733B2 (en) Slave consistency in a synchronous replication environment
US11093484B2 (en) Data management method and data management system
CN111190935B (en) Data reading method and device, computer equipment and storage medium
WO2023093245A1 (en) Metadata query method based on distributed file system, and device and storage medium
CN111797121B (en) Strong consistency query method, device and system of read-write separation architecture service system
CN109933585B (en) Data query method and data query system
JP2010061559A (en) Information processing system, and data update method and data update program
US20170161313A1 (en) Detection and Resolution of Conflicts in Data Synchronization
WO2022213526A1 (en) Transaction processing method, distributed database system, cluster, and medium
CN111694865A (en) Four-layer structure data acquisition method and device based on distributed system
CN115510058A (en) Address book information searching method, device, equipment and storage medium
CN114328739A (en) Data synchronization method, data reading method, data synchronization device, data reading device, electronic equipment, storage medium and product
CN118193485A (en) Concurrency control method and device, electronic equipment and storage medium
CN115421880A (en) Transaction processing method, device, equipment and medium
CN118093647A (en) Distributed database query system, method, equipment and medium supporting multi-copy consistency reading
CN115640280A (en) Data migration method and device
CN115525659A (en) Data query method and device, electronic equipment and storage medium
CN115185966A (en) Method and device for processing data consistency in distributed cluster
CN112035559A (en) Thermodynamic diagram display method, server and system
CN114637738A (en) Data visibility judgment method and device, database node and medium
CN114661738A (en) Method, device and equipment for adding index and storage medium
CN117971846A (en) Data processing method, device, equipment and storage medium
CN117596298A (en) Data processing method and device, electronic equipment and storage medium
CN118708653A (en) Distributed database query method, distributed database, device, medium and product

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