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.

22 Dicembre 2008
Categorie: Ruby on Rails

AddThis Social Bookmark Button

Articoli simili

Commenti

Comments are closed.