Inserisci il tuo indirizzo di posta per ricevere i prossimi articoli gratis:
Servizio gestito tramite Feedburner
Continua la lettura
Articoli recenti
- Perché Google Wave non ha funzionato
- Nuovi iPods, iPhone 5, Bumper in nuova versione e iPad mini: da crederci?
- GoogleCar in vacanza Italia
- Google Chrome: 9 comandi nascosti
- iPad per gli studenti universitari: le prove generali questo autunno
- Tre conquiste dell’umanità di cui non godremo
- A Google Java e C++ vanno stretti
- Rails 3.0: Release candidate
- Android 3.0 fa la sua apparizione non ufficiale
- iPhone 4: venerdì disponibile in altri 17 paesi (Italia compresa)
I più letti

Rails & Replicated database environment
technoweenie ha rilasciaro un plugin per Rails che permette di configurare con facilità le connessioni verso i database in queste situazioni. Il plugin, disponibile presso github, sostituisce l’oggetto connection di ActiveRecord con ConnectionProxy, che si occupa di gestire le connessioni ai database configurati in modalità Master / slave.
E’ comune per lo scaling del datatier procedere al setup del database in un a configurazione Master / Slave; il database principale, chiamato Master, viene replicato su altri database, che possono risiedere sulla stessa macchina oppure su macchine differenti. Qualsiasi modifica dei dati con una insert o un’update viene convogliata al database Master, che sincronizza i dati con gli altri database Slave. Le query di estrazione dati, le select per intenderci, sono invece convogliate sui database Slave. In questo modo il carico del database può essere distribuito su più database ed è quindi possibile a fronte dell’aumento del numero delle query assicurare tempi di risposta ottimali.
Con Masochismè possibile configurare questo ambiente in modo decisamente semplice, come riportato nella pagina del progetto.
E’ nella specifica di ogni singolo progetto capire se la gestione del proxy verso il database deve essere prerogativa dell’applicazione oppure di strumenti esterni all’application layer.
Altri articoli interessanti: