Patent classifications
G06F2201/855
Synchronous replication in a distributed storage environment
Embodiments of the present invention relate to synchronously replicating data in a distributed computing environment. To achieve synchronous replication both an eventual consistency approach and a strong consistency approach are contemplated. Received data may be written to a log of a primary data store for eventual committal. The data may then be annotated with a record, such as a unique identifier, which facilitates the replay of the data at a secondary data store. Upon receiving an acknowledgment that the secondary data store has written the data to a log, the primary data store may commit the data and communicate an acknowledgment of success back to the client. In a strong consistency approach, the primary data store may wait to send an acknowledgement of success to the client until it receives an acknowledgment that the secondary has not only written, but also committed, the data.
Application high availability via application transparent battery-backed replication of persistent data
Techniques for achieving application high availability via application-transparent battery-backed replication of persistent data are provided. In one set of embodiments, a computer system can detect a failure that causes an application of the computer system to stop running. In response to detecting the failure, the computer system can copy persistent data written by the application and maintained locally at the computer system to one or more remote destinations, where the copying is performed in a manner that is transparent to the application and while the computer system runs on battery power. The application can then be restarted on another computer system using the copied data.
System and Method for Synchronous Replication Write Handling
A method, computer program product, and computer system for receiving, at a computing device, a write request from a host, wherein a first portion of a process may receive the write request. A callback and context may be set in the write request by the first portion of the process. The write request may be passed to a second portion of the process. The first process may be provided with the context. The first process may use the context to replicate the write request data to a destination.
Replay of redo log records in persistency or main memory of database systems
A computer implemented method for manipulating data comprises receiving log transaction information from a primary database system at a secondary database system and parsing the log transaction information to identify data objects that have been modified on the primary database system. The secondary database system determines whether the data objects are present in main memory on the secondary database system and whether the log transaction corresponds to a data manipulation language (DML) query or a data definition language (DDL) query. If the data objects are not in the main memory and the query is a DML query, they are copied from persistence data volumes to the main memory. The data objects in main memory are modified by replaying the log transactions on the data objects in the main memory. Then, the data objects in the persistence data volumes are modified. Related apparatus, systems, techniques and articles are also described.
Network storage failover systems and associated methods
Failover methods and systems for a networked storage environment are provided. A metadata data structure is generated, before starting a replay of entries at a log stored in a non-volatile memory of a second storage node, during a failover operation initiated in response to a failure at a first storage node. The second storage node operates as a partner node of the first storage node, and the metadata structure stores a metadata attribute of each log entry. Furthermore, the metadata attribute of each log entry is persistently stored. The persistently stored metadata attribute is used to respond to a read request received during the replay by the second storage node, while a write request metadata attribute of a write request is used for executing the write request received by the second storage node during the replay.
SYNCHRONOUS REPLICATION IN A DISTRIBUTED STORAGE ENVIRONMENT
Embodiments of the present invention relate to synchronously replicating data in a distributed computing environment. To achieve synchronous replication both an eventual consistency approach and a strong consistency approach are contemplated. Received data may be written to a log of a primary data store for eventual committal. The data may then be annotated with a record, such as a unique identifier, which facilitates the replay of the data at a secondary data store. Upon receiving an acknowledgment that the secondary data store has written the data to a log, the primary data store may commit the data and communicate an acknowledgment of success back to the client. In a strong consistency approach, the primary data store may wait to send an acknowledgement of success to the client until it receives an acknowledgment that the secondary has not only written, but also committed, the data.
Data recovery using bitmap data structure
Examples of the present disclosure describe implementing bitmap-based data replication when a primary form of data replication between a source device and a target device cannot be used. According to one example, a temporal identifier may be received from the target device. If the source device determines that the primary replication method is unable to be used to replicate data associated with the temporal identifier, a secondary replication method may be initiated. The secondary replication method may utilize a recovery bitmap identifying data blocks that have changed on the source device since a previous event.
Efficient migration between asynchronous data replication technologies
A method for converting from one asynchronous data replication technology to another is disclosed herein. In one embodiment, such a method includes utilizing a first asynchronous data replication technology to asynchronously replicate data from a primary volume to a secondary volume. The method initiates, at time T1, tracking of post-T1 changes to the primary volume and waits for all pre-T1 changes to the primary volume to be propagated to the secondary volume. When all pre-T1 changes have been propagated to the secondary volume, the method suspends operation of the first asynchronous data replication technology and replicates all post-T1 changes from the primary volume to the secondary volume. The method further sets up and initiates a second asynchronous data replication technology to asynchronously replicate data from the primary volume to the secondary volume. A corresponding system and computer program product are also disclosed herein.
Achieving near-zero added latency for any point in time OS kernel-based application replication
One example method includes intercepting an IO issued by an application, writing the IO and IO metadata to a splitter journal in NVM, forwarding the IO to storage, and asynchronous with operations occurring along an IO path between the application and storage, evacuating the splitter journal by sending the IO and IO metadata from the splitter journal to a replication site. In this example, sending the IO and IO metadata from the journal to the replication site does not increase a latency associated with the operations on the IO path.
Granular tracking of replication consistency using subsets of asynchronous replication tasks
Sets of asynchronous replication operations may be tracked to ensure consistency. A tracking service may receive notifications of pending asynchronous replication tasks, and responsive to receiving a manifest indicating a request to be notified upon completion of a set of pending replication asynchronous tasks, matches individual ones of the tasks within the set to tasks indicated as pending. The tracking service may then select a routing table based on a most recent sequence number associated with the set of tasks, determine one of more tracking nodes assigned to track the set of tasks, and send the manifest to each of the tracking nodes. As individual ones of the tasks complete, notifications of completion may be sent to the tracking nodes and an aggregator node aggregates the completion notifications for the set. Once all completion notifications are received, a response to the request indicating completion may be sent.