rubyrep es una herramienta hecha en ruby ( como su nombre lo sugiere ) para la syncronización de base de datos que he venido usando últimamente en un proyecto laboral, destaca debido a la sencillez de su implementación y la versatilidad de formas en que puede ser usado, en otros posts pretendo extenderme en su uso y funcionamiento, por lo pronto y como primera entrega les dejo un tutorial de como instalarlo sobre CentOS 5.X, yo lo instale en 5.4 y 5.6 y funciona perfectamente.
Instalar ruby
No instalaremos ruby desde los repositorios de CentOS ya que la versión disponible allí es algo antigua y rubyrep no instala con ella, en vez de ello debemos compilar ruby desde sus fuentes, primero instalamos algunas dependencias, usando el manejador de paquetes yum:
yum install -y gcc gcc-c++ zlib-devel postgresql-devel openssl-devel
Ahora descargamos ruby:
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p72.tar.gz
Extraemos y compilamos:
tar xzvf ruby-1.8.7-p72.tar.gz
cd ruby-1.8.7-p72
./configure
make
make install
En este momento, si todo ha salido bien, podemos ejecutar el comando which ruby para ver si tenemos ruby instalado correctamente y ruby -v para enterarnos de la versión de este.
which ruby
ruby -v
Instalar Gems
El procedimiento es muy similar, usamos wget para descargar y tar para descomprimir. Despúes procedemos a compilar GEM con ruby setup.rb
cd ..
wget http://files.rubyforge.vm.bytemark.co.uk/rubygems/rubygems-1.3.5.tgz
tar xzvf rubygems-1.3.5.tgz
cd rubygems-1.3.5
ruby setup.rb
Actualizamos gems (opcional):
gem update –system
después se instala la gema para postgresql ( yo estoy sincronizando bases de datos, postgresql, si vas a usar mysql, instala la gema para mysql):
gem install postgres
gem install pg
Instalar rubyrep
y ahora si, finalmente rubyrep:
gem install rubyrep
podemos comprobar que rubyrep está instalado:
rubyrep -v
rubyrep version 1.2.0
En distribuciones con software reciente como fedora o ubuntu, es posible que no tengas que compilar ruby o gems y que las versiones que son provistas por los repositorios sean adecuadas.
Hola Richendy, queria preguntar si con la herramienta Rubyrep se podrá replicar 2 bases de datos de manera simultanea desde un nodo partida a un nodo destino. He probado la sincronia y replica de una sola base de datos y me ha funcionado pero en realidad necesito hacerlo con 2 bases de datos distintas. Muchas gracias!
Si, si se puede hacer con dos bases de datos distintas, solo necesitas dos archivos de configuración distintos.
RubyREP crea unos triggers adicionales en cada una de las bases de datos, con los cuales mantiene la sincronización, así que no hay ningún problema , de hecho he usado dos archivos de configuración para replicar tablas diferentes pero de la misma base de datos, pero cambiando el prefix de los triggers para que no den conflicto y sin problema.