Use of replicated copies to improve database backup performance
US-2015378830-A1 · Dec 31, 2015 · US
US2016110439A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016110439-A1 |
| Application number | US-201514857889-A |
| Country | US |
| Kind code | A1 |
| Filing date | Sep 18, 2015 |
| Priority date | Oct 21, 2014 |
| Publication date | Apr 21, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A computer-implemented method for operating a database management system which includes a source database and a target database. A database management system is configured for asynchronously replicating data changes of the source database to the target database. The database management system receiving a request to perform a database statement. The method can identify the most recently committed one of a plurality of transactions having been committed in the source database before the receiving of the request. Identifying repeatedly the one of the plurality of transactions having been replicated most recently to the target database. Execution of the requested statement in the target database is delayed until an evaluation of the repeatedly identified most recently replicated transaction returns that the identified most recently committed transaction has been replicated to the target database. After the delaying execution, the method executes the requested statement in the target database.
Opening claim text (preview).
1 . A computer-implemented method for operating a database management system, comprising: a source database and a target database; a database management system being configured for asynchronously replicating data changes of the source database to the target database, the database management system: receiving a request to perform a statement, the statement being a database statement; identifying the most recently committed one of a plurality of transactions having been committed in the source database before the receiving of the request; repeatedly identifying the one of the plurality of transactions having been replicated most recently to the target database; delaying execution of the requested statement in the target database until an evaluation of the repeatedly identified most recently replicated transaction returns that the identified most recently committed transaction has been replicated to the target database; after the delaying execution, executing the requested statement in the target database. 2 . The computer-implemented method of claim 1 , wherein: the source database assigns a source log and the target database assigns a target log; the identification of the most recently committed transaction comprises analyzing the source log, the source log comprising source commit log sequence numbers (LSN) respectively indicating a commit event of one of the plurality of committed transactions; the repeated identification of the most recently replicated transaction comprises repeatedly analyzing the target log, the target log comprising replication commit log sequence numbers respectively indicating a moment when one of the transactions having committed in the source database were replicated to the target database; and the evaluation of the repeatedly identified most recently replicated transaction comprises comparing the source commit log sequence numbers of the identified most recently committed transaction with the repeatedly identified replication commit log sequence numbers. 3 . The computer-implemented method of claim 1 , wherein: the structure of the source database is optimized for a first type of database queries, the structure of the target database is optimized for a second type of database queries, the second type differing from the first type of queries, and wherein receiving the requested statement is performed by the database management system receiving a request for executing a transaction, the transaction comprising the requested statement and optionally one or more further statements; the method further comprising, for each of the statements in the transaction: the database management system evaluating the statement for determining if said statement specifies a database query of the first type or of the second type; when the statement is determined to be of the first type, the database management system dispatching the statement for execution to the source database, skipping the delay step and immediately executing the requested statement in the source database; when the statement is determined to be of the second type, the database management system dispatching the statement for execution to the target database and performing the delaying and the delayed execution of the statement in the target database, wherein the requested statement is determined to be of the second type and is dispatched to the target database. 4 . The computer-implemented method of claim 3 , wherein: the source database is an OLTP database and the first type of database queries include INSERT statements, UPDATE statements, DELETE statements and/or index-based SELECT statements; and wherein the target database is an OLAP database and the second type of queries include SELECT statements that execute a non-index based sequential table-scan. 5 . The computer-implemented method of claim 3 , wherein: the database management system comprises a first database engine configured for executing the first type of database queries on the source database; the database management system comprises a second database engine configured for executing the second type of database queries on the target database; and the method further comprising: dynamically, and transparently to a client program, executing the requested statement either by the first database engine on data of the source database or by the second database engine on data of the target database in dependence on the type of the received statement. 6 . The computer-implemented method of claim 2 , wherein: the delaying is implemented by: upon the database management system deciding to dispatch the requested statement to the target database engine, the database management system performing the identifying of the current source commit log sequence number of the identified most recently committed transaction and assigning a transaction-ID of the transaction comprising the requested statement to said identified current source commit log sequence number; supplementing the request for the statement with the transaction-ID of the transaction comprising said statement and with the identified current source commit log sequence number; the second database engine queuing the request until the determining that the identified most recently committed transaction was replicated to the target database. 7 . The computer-implemented method of claim 5 , further comprising: determining if the requested statement is of the first or of the second database query type; the database management system supplementing the received request with the identified most current replication commit log sequence number and forwarding the supplemented request to the second database engine only in case the requested statement is determined to be of the second type. 8 . The computer-implemented method of any one of claim 2 , wherein: the source log comprises a plurality of source commit log sequence numbers, each source commit log sequence number having assigned a transaction-ID of the one of the transactions that committed at a source log record identified by said source commit log sequence number; wherein the target log comprises a plurality of replication commit log sequence numbers, each replication commit log sequence number having assigned a transaction-ID of the one of the transactions that was successfully replicated to the target database at a target log record identified by said replication commit log sequence number; wherein the determining if the identified most recently committed transaction has been replicated to the target database comprises: the second database engine receiving the identified current source commit log sequence number from the first database engine; and the second database engine repeatedly searching the target log for identifying the transaction-ID assigned to the identified current source commit log sequence number in the target log; or the first database engine repeatedly receiving the identified most current replication commit log sequence number from the second database engine and comparing the transaction-ID assigned to said received most current replication commit log sequence number with the transaction-ID assigned to the identified current source commit log sequence number; the second database engine executing the delay until the searching or the comparing identifies a matching pair of transaction-IDs. 9 . The computer-implemented method of claim 8 , wherein: the order of the commit log sequence numbers in the source log reflects the chronological order of commit events of the transactions in the source database; wherein the order of the replication commit log sequence numbers in the target log reflects the chronological order of committed repl
Physics · mapped topic
Physics · mapped topic
Physics · mapped topic
Physics · mapped topic
Asynchronous replication or reconciliation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.