Está en la página 1de 7

FACULTAD DE INGENIERIA EN CIENCIAS APLICADAS

CARRERA DE INGENIERA EN SISTEMAS COMPUTACIONALES

Base de Datos III

Replicacin Unidireccional
AUTORES: Mauricio Carrillo Jenny Rea Karla Oliva Carlos Anrango DOCENTE: Ing. Miguel Orquera Ibarra, 17 mayo de 2013

1.

JUSTIFICACIN
La replicacin de datos permite que ciertos datos de la base de datos sean

almacenados en ms de un sitio, y su principal utilidad es que permite aumentar la disponibilidad de los datos y mejora el funcionamiento de las consultas globales a la base de datos. La replicacin en PostgreSQL consiste, en el transporte de datos entre dos o ms instancias de servidores. Para ello PostgreSQL brinda un conjunto de soluciones que permite copiar, distribuir y posiblemente modificar datos de toda la organizacin. Se incluyen, adems, varios mtodos y opciones para el diseo, implementacin, supervisin y administracin de la replicacin, que le ofrecen la funcionalidad y flexibilidad necesarias para distribuir datos y mantener su coherencia. En la replicacin se utiliza una metfora de la industria de la publicacin para representar los componentes y procesos de una topologa de replicacin. De esta forma el modelo se compone, bsicamente, de los siguientes elementos: publicador, distribuidor, suscriptores, publicaciones, artculos y suscripciones. 2.
OBJETIVOS a. OBJETIVO GENERAL Generar una replicacin utilizando PostgreSQL. b. OBJETIVOS ESPECIFICOS Generar una nueva base para la replicacin. Utilizar herramientas de replicacin con Slony. Mejorar la disponibilidad en la base de datos.

3.

MARCO TERICO

La replicacin de datos La replicacin es una tcnica que se basa en mantener objetos de las bases de datos en mltiples ubicaciones. De esta forma se puede tener una rplica exacta o parcial de la base de datos que puede usarse para una restauracin de emergencia o bien para realizar consultas sobre ella y aligerar la carga del servidor principal. La replicacin es una buena alternativa para tener disponibilidad de informacin cuando un servidor se cae. La replicacin no suplanta los backups, sino, simplemente garantiza la opera tividad. Existen algunos mtodos de replicacin entre los cuales se pueden mencionar: Multimaestro Maestro -esclavo

Multimaestro: es un mtodo de replicacin de bases de datos que permite que los datos sean almacenados por un grupo de computadoras y adems estos datos pueden ser actualizados por cualquier nodo de este grupo. Con este tipo de replicacin todos los nodos participantes son de lectura/escritura. Maestro-esclavo: con este mtodo de replicacin los datos tambin son almacenados en un grupo de computadoras con la diferencia de que aqu solamente el nodo maestro es de lectura/escritura y el esclavo solo de lectura. Herramientas de replicacin para PostgreSQL Hay varias herramientas que actan como middleware (intermediario) entre PostgreSQL y la replicacin de datos, entre las que se pueden destacar: Slony-I Rubyrep PGpool Hot Standby / Streaming Replication

De estas herramientas se elegir la que ms se ajustes a las necesidades que se tengan, en nuestro caso hemos elegido Slony-I y ser en la cual profundizaremos nuestro estudio. Sobre Slony-I Slony-I es un sistema de replicacin asncrono para PostgreSQL de una base de datos maestra hacia una o mltiples bases de datos hijas. Slony-I realiza las actualizaciones a travs de disparadores o triggers por lo que actualmente solo puede realizar replicacin de tablas y secuencias. Replicacin asncrona Que una replicacin sea asncrona significa que cuando una transaccin para la base de datos es enviada al servidor maestro no se garantiza que est disponible para los nodos esclavos. Triggers Un trigger (o disparador) en una Base de datos, es un procedimiento que se ejecuta cuando se cumple una condicin establecida al realizar una operacin. Dependiendo de la base de datos, los triggers pueden ser de insercin (INSERT), actualizacin (UPDATE) o borrado (DELETE). Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros objetos. Situaciones en las cuales no es recomendable utilizar slony-I: tablas (DDL).

fallos como por ejemplo nodos cados. De lo contrario Slony-I es una opcin para tomar muy en cuenta al querer realizar una replicacin.

Aspectos importantes antes de poner en marcha una replicacin Antes de poner en marcha una replicacin usando Slony-I es importante tener claro algunos conceptos como: Clster Nodo Set de replicacin Origen, Proveedores y Suscriptores Demonio slon Comando slonik

Cluster: conjunto de bases de datos PostgreSQL dentro de las cuales ocurre la replicacin. Nodo: un nodo es una base de datos que participa en el proceso de replicacin. Set de replicacin: Es un conjunto de tablas y secuencias que se replicaran. Ntese que no se replican todas las tablas, sino que se tienen que especificar explcitamente. Origen, proveedores y suscriptores: Cada set de replicacin tiene un nodo de origen, que es la base de donde se obtiene informacin. Los nodos que reciben la informacin se denominan nodos suscriptores. Dichos nodos suscriptores se pueden convertir en proveedores si a su vez tienen otros nodos suscriptores. Demonios slon: Para cada nodo en el clster, existe un proceso slon que administra la actividad de replicacin para ese nodo. Comandos slonik: es un pequeo intrprete de comandos que incluye comandos utilizados para la manipulacin del clster de replicacin. 4. DESARROLLO

1. Crear dos bases de datos una master y un esclavo 2. Crear un esquema pgbench en la base maestra.:
> pgbench -i -U postgres master

3. Crear un solo esquema dump de la base de datos master, y cargar en la base esclavo:

> pg_dump -s -U postgres master > schema.sql > psql -U postgres slave1 < schema.sql > psql -U postgres slave2 < schema.sql

4. Crear un archivo Slony config para cada motor slon. Los archivos pueden contener solo las siguientes dos lineas.
cluster_name='pgbench' conn_info='host=127.0.0.1 port=5432 user=postgres dbname=master'

Crear un archive para cada base de datos adjuntando el parametro dbname como se require y aadir alguna otra conexion que podra ser necesitada. 5. Instalar el servicio Slony:
> slon -regservice Slony-I

6. Registrar cada uno de los motores :


> slon -addengine Slony-I C:\slony\master.conf > slon -addengine Slony-I C:\slony\slave1.conf > slon -addengine Slony-I C:\slony\slave2.conf

7. En pgAdmin bajo el nodo de Slony Replication en la base de datos master, crear un nuevo Slony-I cluster usando las siguientes opciones:
Join existing cluster: Unchecked Cluster name: pgbench Local node: 1 Master node Admin node: 99 Admin node

8. Bajo el nodo de replicacion Slony, Crear un grupo de Slony-I en cada uno de los esclavos usando las siguientes opciones.
Join existing cluster: Checked Server: <Select the server containing the master database> Database: master Cluster name: pgbench Local node: 10 Slave node 1 Admin node: 99 - Admin node Join existing cluster: Checked Server: <Select the server containing the master database> Database: master Cluster name: pgbench Local node: 20 Slave node 2 Admin node: 99 - Admin node

9. Crear las rutas en el master hacia los esclavos,y en cada esclavo hacia el master. Crear las rutas bajo el nodo master, usando la conexion espesificada en el slon config files. 10. Crear una replicacion set en el master usando las siguientes opciones:
ID: Comment: 1 pgbench set

11. Aadir las tablas de replicacion set usando las siguientes configuraciones:
Table: ID: Index: Table: ID: Index: Table: ID: Index: Table: ID: Index: public.accounts 1 accounts_pkey public.branches 2 branches_pkey public.history 3 history_pkey public.tellers 4 tellers_pkey

12. En el nodo Master, crear una nueva suscripcion para cada esclavo usando las siguients opciones:
Origin: Provider: Receiver: Origin: Provider: Receiver: 1 1 - Master node 10 - Slave node 1 1 1 - Master node 20 - Slave node 2

13. Iniciar el servicio Slon.


> net start Slony-I

5.

CONCLUSIONES a. Podemos concluir que el uso de replicas es muy beneficioso ya que colabora tanto en la disponibilidad de los datos y nos brinda una mayor seguridad.

b. Para tener una replicacin exitosa se debe contar con las mismas versiones de PostgreSQL y de Slony en los equipos que se realiza las replicas.

6.

RECOMENDACIONES

a. Utilizar exactamente la misma versin de Slony en todos los nodos. b. Utilizar versiones 8.3 o superior de PostgreSQL para utilizar Slony-I 2.0.4 c. Sincronizacin de hora de sistemas operativos donde estn las bases involucradas en la replicacin.

7. BIBLIOGRAFA http://wiki.postgresql.org/images/b/b3/Slony_I.pdf http://www.howtoforge.com/configuring-slony-i-cascading-replication-onpostgresql-8.3 http://basesdedatosues.blogspot.com/2010/06/replicacion-postgresql-slony-i.html http://slony.blogspot.com/2007/03/instalacin-de-slony-i-en-windows-xp.html http://open-bi.blogspot.com/2010/05/data-replication-with-postgresql-and.html http://packages.debian.org/es/lenny/slony1-bin

También podría gustarte