Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

When considering the placement of an offsite slave database, which is more important in a network connection for maintaining up-to-date replication: low latency or high bandwidth?

share|improve this question
    
Given that all answers below include the same qualification, you might want to add a some details: per-transaction, or batched replication, or frequent small transactions vs. intermittant large ones... –  James Cape Jul 1 '09 at 12:23

5 Answers 5

up vote 4 down vote accepted

If the amount of data to be replicated outpaces the available bandwidth, the replication is not going to be very successful at all. Therefore high bandwidth would be important.

However, low latency would be important if you are making lots of small updates. So, it depends on whats being written to this DB.

share|improve this answer

The primary determiner of a latency requirement is whether the primary application waits for response/confirmation of the data being posted on the slave. If such confirmation is required, then the low latency is necessary to not bog the application down. If the application doesn't care then latency likely isn't an issue.

The primary determiner of a bandwidth requirement is the volume of data being changed and the amount of time you are willing to put up with the slave being behind after a burst of changes.

share|improve this answer

This might depend on how much activity your database is going to receive, or changes that will be produced on the source db.

If there will be a large amount of data changing on the source db then I would opt for higher bandwidth to keep up with the changes.

Unless the latency is really high I don't think that this would be as large of a concern.

share|improve this answer

Basically, that depends.

That depends on the database, the type of replication, and quantity of data being replicated (workload / transactions per unit of time, log updates, etc).

Log shipping usually means that your unit of replication is fairly large (multiple KB), and you're probably going to benefit from more bandwidth moreso than lower latency.

If you're doing replication of individual transactions (can be done through different means with different database engines), you may be generating traffic that is bursty small packets.

Your best bet is to mock it up in as close to a real-world implementation as possible and measure. You can talk to people using similiar software and having similar workloads to get a feel for scale. In the end, you're going to probably need to do it to see how it works.

share|improve this answer

My general rule of thumb for this is that you want a lower latency connection for an OLTP-type system [online transaction processing] with active mirroring (lots of small transactions) or an actively mirrored ODS [operational datastore], but you will want a higher bandwidth connection for a data-warehouse (or any other kind of setup) where you are mirroring in batches.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.