Lo facciamo costantemente in giro per l'ufficio e la domanda continua a sorgere. Come gestisci la replica PostgreSQL? Non sto nemmeno necessariamente parlando di cluster avanzati, ma sto semplicemente diventando semplice con Master-Slave, Master-MultiSlave e Master-Master. Trovo che configurarlo per MySQL sia in genere piuttosto semplice. Il failover è semplice se non perfetto, soprattutto per quanto sia facile da configurare. Abbiamo giocato con Slony, ma è un po 'troppo pratico (le modifiche allo schema richiedono un intervento, i nuovi database richiedono un intervento, ecc.). PGPool2 è stato piuttosto carino, fino a quando un nodo non è andato inattivo e non siamo riusciti a trovare un modo grazioso (oltre a far cadere tutto e a ridimensionare il nodo caduto) per riportare la replica in sincronia. Fondamentalmente ecco cosa sto cercando in genere:
- Configurazione semplice (mi accontenterò di una configurazione difficile, ma facile da espandere)
- Failover semplicistico
- Il ripristino di un nodo caduto richiede solo tempo (ad esempio, come mysql. Il server si arresta, lo si attiva e si attende che la replica raggiunga)
- Le modifiche allo schema non interrompono la replica
- L'aggiunta di un nuovo database al server è perfetta (ad esempio, come mysql, è possibile replicare un intero server DB, quindi un nuovo database viene creato sul master, si propaga automaticamente allo slave)
MySQL gestisce la maggior parte di questi abbastanza bene, ma ho una certa predilezione per PostgreSQL. Inoltre, abbiamo alcune situazioni in cui è la nostra unica opzione e vorremmo aggiungere la replica al mix. Cosa stai usando attualmente e come ti senti sulla tua soluzione? Questo non è un post MySQL contro PostgreSQL, lo prometto, perché non è quello che sto cercando di iniziare. :)