| Q. |
What is replication?
|
A.
|
Replication is the process of duplicating data and storing that data in more than one location for several purposes. Replication is often done multiple times a day or in near real-time.
In practice, the use of replication most often applies to duplicating the data records in one database to one or more other databases for disaster recovery purposes; however, replication can also apply to files and other data items.
There are several different types of replication, including: snapshot replication, merge replication and transactional replication.
Replication is used for many reasons, and depending on what your needs are, you will want to chose a replication strategy that works for you. Your choice will also be affected by your ACID (Atomicity, Consistency, Isolation, Durability) needs.
Snapshot replication just means that a snapshot is copied to the set of replicated servers. All changes to the database are only done on one main server. This replication type should be used if you are concerned with data loss.
Merge replication means that updates can be made to any replication server. The changes are merged into the other replicated servers. This solution should be used if you need to insert and update on multiple servers.
Transactional replication means that all transactions will be atomically replicated.
|
| |
| |
 |
|
| Q. |
What are some of the primary benefits of replication?
|
A.
|
Replication is the process of automatically creating a copy
of a data set (or database), usually on a continuous or near real-time basis.
A primary benefit of replication is that only changes are replicated or copied to the secondary replication server,
avoiding system slowdowns.
Because replication provides a real-time (or very close to real-time) copy of
your data, data loss is usually very minimal in case of disaster. Unlike backups, replication usually does not rely on a scheduler.
The purpose of replication is to avoid down time if one server goes down, and to handle mass amounts of traffic. Replication is most effective when updates are infrequent, but access is very frequent.
A final and major benefit to replication, is that if configured correctly, replication can
act as an automatic failover to your primary systems, guaranteeing your business
with a high uptime. |
| |
| |
 |
|
| Q. |
How is replication different from mirroring?
|
A.
|
Most people, outside of hard-core network techies, use the
terms mirroring and replication interchangeably. The terms are
technically different, but they do have a lot of similarities. The purpose of both replication and mirroring is to create a
simultaneous or near-simultaneous duplicate copy of a certain data
set.
The process of mirroring is to retain a fully synchronized copy of the original data
that is being mirrored. Both the ‘working’ data and the ‘backup’ data are
constantly and consistently identical. Mirroring is usually accomplished with a hardware solution.
Replication, on the other hand, can utilize asynchronous data transfer. This
means that changes to the original copy of the data are buffered or queued
before being written to the backup system with a slight, and usually unnoticeable
delay. Replication is usually accomplished with a software solution.
|
| |
| |
 |
|
| Q. |
What is the difference between synchronous and asynchronous replication?
|
A.
|
Synchronous replication which is also known as real-time
replication, is the process of immediately duplicating (replicating) any change
on a system to a secondary system for backup recovery purposes. With
synchronous replication, both systems are always in sync.
Asynchronous replication on the other hand, doesn't have to wait on any
input/updates being made on the primary server in order to begin copying the data.
Choosing between Synchronous or Asynchronous replication will depend on your
tolerance to downtime and data loss.
|
| |
| |
 |
|
| Q. |
When should I use replication?
|
A.
|
Replication
is the process of duplicating data and storing that data in more than
one location for several purposes. Replication is often done multiple
times a day or in near real-time.
In practice, the use of
replication most often applies to duplicating the data records in one
database to one or more other databases for disaster recovery purposes;
however, replication can also apply to files and other data items.
Therefore, if a system crashes, the backup system is completely up-to-date (assuming synchronous mirroring) and, if configured to do so, can be immediately used as the primary system.
In addition, the asynchronous use of replication allows for ‘backups of the backups’ to be made while the primary system is still up and running or the files are locked.
|
| |
| |
 |
|
| Q. |
Can replication be used for something other than databases?
|
A.
|
Yes. You’ve probably come across the use of the term ‘mirror
site’ when trying to download files from the web. A mirrored site is merely a secondary
server, where a specific file(s) is also available to avoid interruptions in
case of the primary server being down, too busy or to share bandwidth.
Another common use for replication is for load balancing purposes. A load
balance is done between at least two servers in order to share a specific work
load to avoid slowdowns or unavailability of certain files or web sites.
|
| |
| |
 |
|