← Back to team overview

openerp-community team mailing list archive

Re: Strategy for database replication

 

Hello Eric,

Basically, aside from the technical aspects of the synchronization, you
would have to deal entity by entity with the possible integrity errors
detected at the synchronization times.
If instead you opt for a transactional replication (or multi-master
transactional replication), that won't be any faster than having the same
OpenERP instance and paying the network latency as you already experienced
(in fact it's likely to be even slower).

I would say that except in rare situations such as when one of the two
companies use the ERP only a little, it's better not having the same
instance indeed. For instance we use the same ERP instance between Akretion
France and Akretion Brazil (a US instance), but if we were 30+ encoding 100
records per day that wouldn't be reasonable anymore.

Suddenly you understand why companies like Google bet it all on non
relational databases (noSQL), as it's not a problem to use GMail in a
globalized company because of the technology they use. But something like
accounting is kind of intrinsically transactional, so it's good we use a
relational database at least for that.

At the end, except if one company has not an intensive usage, I would
advise you to have two different instances and synchronize key
entities asynchronously, dealing with every possible integrity error (less
things synchronized => less integrity error risk, beware
of combinatorial explosion of integrity errors). Like synchronizing the
product catalog and the sale / purchase orders is pretty easy. Now, don't
imagine a second you would synchronize the accounting moves. At best you
would be able to consolidate the accounting reports at the end of each
period.

As for an asynchronous dual instance synchronization logic, there are
several option like the base_synchro module (I never used it) or the
base_external_referential module we made for e-commerce synchronisation
originally. It's not something very simple to achieve.

Regards,


-- 
Raphaël Valyi
Founder and consultant
http://twitter.com/rvalyi <http://twitter.com/#!/rvalyi>
+55 21 2516 2954
www.akretion.com



On Mon, May 7, 2012 at 11:20 PM, Eric Caudal <eric.caudal@xxxxxxxxxxxxxx>wrote:

>  Hi,
> I have a customer with implantations in France and China. He wants to use
> the same data for both countries in the same OpenERP database.
> Nevertheless, Internet connexion is a little bit bumpy from/to China so he
> would like to create a bi-directional replication scheme between both
> countries. French user would connect to an OpenERP in France, linked with a
> PG in France and Chinese users would connect to an OpenERP located in
> China, linked to a PG in China. the idea is to get both PG would be
> synchronized in real time.
>
> Does  somebody have experience to share on a replication scheme with 2
> fully replicated databases over continents and used by 2 OpenERP (using
> same code) ? Is it feasable (I tend to say yes ;))? Is it advisable? Could
> the latency between databases be a problem?
>
> Thanks for your input.
>
> --
>
>   [image: openerp]
>
> *Eric CAUDAL*, Elico Corp, Shanghai.eric.caudal@xxxxxxxxxxxxxx
> Cell: + 86 186 2136 1670. Skype: elico.corp*Premium Certified Training Partner - OpenERP Ready Partner.*
>
>
> [image: Premium CTP]
> http://www.openerp.net.cn
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openerp-community
> Post to     : openerp-community@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openerp-community
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References