Ühel kenal päeval, K, 2006-08-23 kell 13:36, kirjutas Markus
Schiltknecht:
> Hannu Krosing wrote:
> > But if you have very few writes, then there seems no reason to do sync
> > anyway.
> 
> I think there is one: high-availability. A standby-server which can 
> continue if your primary fails. Of course sync is only needed if you 
> absolutely cannot effort loosing any committed transaction.

Yes. I guess that for that an enchanced WAL-shipping would be ok.
Probably one where you require both sync to local disk and copy to
remote (without waiting for sync) to have happened in order to
COMMIT/ROLLBACK successfully.

> >> Another important factor is the amount of conflicting transactions.
> > 
> > That too, but just the need to do *any* locking on all nodes will
> > significantly slow down sync replication
> 
> If you implement sync replication with locking, yes. But there are 
> better ways: the Postgres-R approach does not do network locking, but 
> aborts conflicting transactions just before committing. That results in 
> much less network traffic (one GCS-message per writing-transaction).

but it still needs to do at least one network roundtrip + any needed
testing on all nodes + WAL sync on all nodes before it can COMMIT, no?

And I'm afraid that GCS serialisation will need more than one roundtrip
or risk being out-of-date.

I'm not saying that Postgres-R (or any other sync replication) is not
doable or even useful. I just can't see right away, how it can scale
very well for any significant write load.

-- 
----------------
Hannu Krosing
Database Architect
Skype Technologies OÜ
Akadeemia tee 21 F, Tallinn, 12618, Estonia

Skype me:  callto:hkrosing
Get Skype for free:  http://www.skype.com


---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to