In regards to storage virtualization, is 'asynchronous mirroring' and 'asynchronous replication' the same functionality? If not, what is the difference?
|
|
In storage and databases the tradeoff in synchronous vs asynchronous replication is reliability vs speed. With synchronous replication, the master will wait for writes on the replicated partner to be confirmed. This adds significant latency to any write operations. The latency is significant because often this replication goes over a network connection. With asynchronous replication, writes don't have to be confirmed. This makes for faster writes, but you risk some data loss in the event of a failure. The choice you make really depends on your business needs or desired result. In something like finance a little lost data can mean millions of dollars. In social networking, people are generally more concerned about a responsive site than a lost "poke". |
||||
|
|
|
They're different. Focus on the "asynchronous" part of the term. If synchronous replication is not feasible, viable or desired in your environment, asynchronous replication makes sense at a desired RPO. With regard to storage, asynchronous mirroring is a near-realtime mirroring that may allow synchronous-like behavior, without waiting for the process of committing writes to secondary system's spinning disks. It would leverage some form of caching... Are you looking at a particular storage array/technology? |
|||
|
|
|
Asynchronous replication and asynchronous mirroring mean the same thing to me, but could mean different things depending on the context you're seeing them in. In general, asynchronous always means that writes are being acknowledged by the primary device before confirmation is received from the target. One important variable is consistency. Assuming we're in the world of SCSI here (clock level, LUNs, FC/FCoE/iSCSI), asynchronous almost always means that periodically, the system will take a consistent point, and ensure that all bits for that point are replicated. If the link breaks between consistent points, it reverts back to the most recent consistent point. On some more high end arrays, you can get guaranteed in-order delivery, which guarantees crash-consistency at any point, and the only data lost is the data that was in transit at the time of disconnection. |
|||||||
|