Coordinated replication of heterogeneous database stores

US11216346B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11216346-B2
Application numberUS-201815877074-A
CountryUS
Kind codeB2
Filing dateJan 22, 2018
Priority dateNov 20, 2017
Publication dateJan 4, 2022
Grant dateJan 4, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Disclosed herein are system, method, and computer program product embodiments for coordinated replication of heterogeneous database stores. An embodiment operates by determining a synchronization point based on a commit log of a primary data center. A current log position of each of a plurality of secondary slave servers associated with a secondary master server of a secondary data center is requested. It is determined that the current log position of at least one of the secondary slave servers does not correspond to the logged position of a corresponding primary slave server relative to the synchronization point. An update indicating that the current log position of each of the secondary slave servers corresponds to the logged position of each of the relative corresponding primary slave servers is received. A replay of each of the secondary slave servers up to the synchronization point is initiated.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: receiving, at a replication coordinator, a commit log of a primary data center, wherein the primary data center comprises a primary master server and a plurality of primary slave servers configured to perform transactions that are then transmitted back to the primary master server; selecting a synchronization point from the commit log, wherein the synchronization point corresponds to a log position in a slave log of each of the plurality of primary slave servers, wherein each primary slave server uses its own naming convention in its own slave log that identifies and tracks the transactions processed by a respective primary slave server, wherein at least two of the naming conventions differ from each other; translating the synchronization point for each of the naming conventions corresponding to each of the slave logs of the primary slave servers; requesting a current log position of each of a plurality of secondary slave servers associated with a secondary master server of a secondary data center, wherein the request comprises the translated synchronization point in a local naming convention for a respective primary slave server to which the request is provided, wherein each of the secondary slave servers corresponds to a replication of one of the primary slave servers with its corresponding naming convention, and wherein the secondary master server comprises a replication of the primary master server; receiving a response to the request from one or more of the primary slave servers; determining, based on the response, that the current log position of at least one of the secondary slave servers does not correspond to the synchronization point; receiving, subsequent to the determining, an update indicating that the current log position of each of the secondary slave servers corresponds to the synchronization point; and initiating a replay of each of the secondary slave servers up to the synchronization point. 2. The computer-implemented method of claim 1 , wherein the selecting the synchronization point comprises: determining, based on one or more commit logs corresponding to each of the primary slave servers, a most recent commit point, wherein the most recent commit point corresponds to a most recent point in time up to which each of the primary slave servers has committed a database change. 3. The computer-implemented of claim 1 , wherein the determining that the current log position of at least one of the secondary slave servers does not correspond to the synchronization point comprises requesting, from each of the secondary slave servers, the current log position; and wherein the requesting the current log position comprises requesting an update from each of the secondary slave servers indicating when the current log position corresponds to the synchronization point. 4. The computer-implemented method of claim 1 , wherein the receiving the update comprises: determining that the current log position of each of the secondary slave servers meets or exceeds the log position corresponding to the synchronization point. 5. The computer-implemented method of claim 1 , further comprising: initiating a takeover, wherein the secondary master server operates as the primary master server and the primary master server is inoperable as the primary master server. 6. The computer-implemented method of claim 1 , wherein the initiating the replay further comprises: determining that a particular one of the primary or secondary slave servers classifies data as being either hot data or cold data, wherein the hot data is stored in memory and wherein the cold data is stored in non-memory storage; and determining that the classified data of the particular one of the primary or secondary slave servers have been replicated. 7. The computer-implemented method of claim 1 , wherein a first primary slave server is associated with a first metadata format, and wherein a second primary slave server is associated with a secondary metadata format different the first metadata format. 8. The computer-implemented method of claim 1 , further comprising: detecting that an error occurred during the replay; determining a previous synchronization point of the secondary data center; and initiating a rollback of the replay to the previous synchronization point based on the detecting. 9. The computer-implemented method of claim 1 , further comprising: pausing a replication process of at least one of the secondary slave servers of the secondary data center until the update is received. 10. The computer-implemented method of claim 1 , wherein the response comprises a Boolean indicating whether or not a transaction corresponding to the synchronization point has been completed by a corresponding primary slave server. 11. A system, comprising: a memory; and at least one processor coupled to the memory and configured to: receive, at a replication coordinator, a commit log of a primary data center, wherein the primary data center comprises a primary master server and a plurality of primary slave servers configured to perform transactions that are then transmitted back to the primary master server; select a synchronization point from the commit log, wherein the synchronization point corresponds to a log position in a slave log of each of the plurality of primary slave servers, wherein each primary slave server uses its own naming convention in its own slave log that identifies and tracks the transactions processed by a respective primary slave server, wherein at least two of the naming conventions differ from each other; translate the synchronization point for each of the naming conventions corresponding to each of the slave logs of the primary slave servers; request a current log position of each of a plurality of secondary slave servers associated with a secondary master server of a secondary data center, wherein the request comprises the translated synchronization point in a local naming convention for a respective primary slave server to which the request is provided, wherein each of the secondary slave servers corresponds to a replication of one of the primary slave servers with its corresponding naming convention, and wherein the secondary master server comprises a replication of the primary master server; receive a response to the request from one or more of the primary slave servers; determine, based on the response, that the current log position of at least one of the secondary slave servers does not correspond to the synchronization point; receive, subsequent to the determining, an update indicating that the current log position of each of the secondary slave servers corresponds to the synchronization point; and initiate a replay of each of the secondary slave servers up to the synchronization point. 12. The system of claim 11 , wherein the processor that selects the synchronization point is configured to: determine, based on one or more commit logs corresponding to each of the primary slave servers, a most recent commit point, wherein the most recent commit point corresponds to a most recent point in time up to which each of the primary slave servers has committed a database change. 13. The system of claim 11 , wherein the processor that determines that the current log position of at least one of the secondary slave servers does not correspond to the synchronization point is configured to request, from each of the secondary slave servers, the current log position; and wherein the processor that requests the current log position is configured to request, from each of the secondary slave serv

Assignees

Inventors

Classifications

  • G06F16/275Primary

    Synchronous replication · CPC title

  • maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups) · CPC title

  • Updating · CPC title

  • Concurrency control (transaction processing G06F9/466) · CPC title

  • involving logging of persistent data for recovery · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11216346B2 cover?
Disclosed herein are system, method, and computer program product embodiments for coordinated replication of heterogeneous database stores. An embodiment operates by determining a synchronization point based on a commit log of a primary data center. A current log position of each of a plurality of secondary slave servers associated with a secondary master server of a secondary data center is re…
Who is the assignee on this patent?
Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F16/275. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 04 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).