K synchronizaci databází používám SymmetricDS. Je schopen synchronizovat nebo replikovat data mezi uzly (servery/databáze), pouze vkládat nebo stahovat data, která definujete. Je to software založený na Javě, má strmou křivku učení, ale opravdu to dělá.
SymmetricDS lze nastavit tak, aby předávala změny z jednoho uzlu do dvou dalších uzlů, čímž se zajistí, že všechny tři uzly obsahují stejná data. Musíte se ujistit, že primární klíče jsou jedinečné klíče, a nikoli automaticky inkrementované hodnoty přiřazené databází, protože to bude s největší pravděpodobností problém ve třech různých databázích, které chcete synchronizovat.
Software instaluje spouštěče do databáze a zachycuje změny, když jsou prováděny operace INSERT, UPDATE nebo DELETE (a další). Tyto změny dat jsou pak vyvolány na ostatních uzlech. Software musí běžet na každém místě, ale nepotřebuje připojení k internetu, které je neustále dostupné.
Na začátku jsem se obával, že triggery na všech mých stolech zpomalí výkon, ale nebyl to vůbec problém. Nemohu říci, že bychom po instalaci spouštěčů objevili nějaké problémy s výkonem.
Podívejte se na http://symmetricds.org/ pro více podrobností.