UNIVERSIDAD DE EL SALVADOR FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE DEPTO. DE INGENIERIA Y ARQUITECTURA REPLICACION EN POSTGRESQL CON SLONY-I EN WINDOWS CATEDRA: BASE DE DATOS CATEDRATICO: ING. ALEXANDER CALDERON PRESENTADO POR: GARAY CALDERON KEVIN ALONSO MENJIVAR SALAS JOSE ALBERTO NUÑEZ EDVIN MANOLO HERRERA MEJIA LUIS ALBERTO SANTA ANA, 22 DE MAYO DE 2012
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
UNIVERSIDAD DE EL SALVADOR
FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE
DEPTO. DE INGENIERIA Y ARQUITECTURA
REPLICACION EN POSTGRESQL CON SLONY-I EN WINDOWS
CATEDRA: BASE DE DATOS
CATEDRATICO: ING. ALEXANDER CALDERON
PRESENTADO POR:
GARAY CALDERON KEVIN ALONSO
MENJIVAR SALAS JOSE ALBERTO
NUÑEZ EDVIN MANOLO
HERRERA MEJIA LUIS ALBERTO
SANTA ANA, 22 DE MAYO DE 2012
Índice general
Contenido pag Sobre PostgreSQL .......................................................................................................................... 1
Características de PostgreSQL ........................................................................................................ 1
Herramientas graficas de administración de bases de datos en PostgreSQL................................... 1
La replicación de datos................................................................................................................... 2
Herramientas de replicación para PostgreSQL ................................................................................ 2
Sobre Slony-I .................................................................................................................................. 3
Aspectos importantes antes de poner en marcha una replicación .................................................. 4
Replicando una base de datos de PostgreSQL con Slony-I en Windows .......................................... 5
1
POSTGRESQL Y REPLICACION
Sobre PostgreSQL
PostgreSQL es una potente herramienta de gestión de bases de datos
relacional y orientada a objetos (SGBDOO en sus siglas en ingles).
PostgreSQL se distribuye bajo licencia BSD (Berkeley Software Distribution). Es una licencia de software libre permisiva, lo que permite su uso, redistribución, modificación con la única restricción de mantener el
copyright del software a sus autores.
Características de PostgreSQL
Entre las características de PostgreSQL podemos destacar las siguientes:
Es multiplataforma, PostgreSQL en sus versiones más recientes está disponible para 34 plataformas.
Cuenta con un rico conjunto de tipo de datos, permitiendo además
su extensión mediante tipos y operadores definidos y programados
por el usuario. Sus opciones de conectividad abarcan TCP/IP, sockets Unix y NT
además de soportar completamente ODBC.
Soporte para vistas, claves foráneas, integridad referencial, disparadores (triggers), procedimientos almacenados y casi todos los
tipos de datos y operadores soportados en SQL.
Su administración se basa en usuarios y privilegios.
Herramientas graficas de administración de bases de datos en
PostgreSQL.
Existen varias herramientas que se pueden utilizar para la manipulación
de bases de datos en PostgreSQL, dichas herramientas nos permiten ver y
trabajar con casi todos los objetos de la base de datos, examinar sus
propiedades o realizar tareas administrativas. Entre estas herramientas
podemos mencionar:
PHPPGadmin: esta herramienta está basada en interfaz web.
2
PGexplorer: entorno de escritorio.
PGadmin: entorno de escritorio.
PGaccess: entorno de escritorio.
Psql: Cliente de consola.
Etc.
Todas estas pueden encontrar en sus respectivas versiones.
La replicación de datos La replicación es una técnica que se basa en mantener objetos de las
bases de datos en múltiples ubicaciones. De esta forma se puede tener
una réplica exacta o parcial de la base de datos que puede usarse para
una restauración de emergencia o bien para realizar consultas sobre ella y
aligerar la carga del servidor principal.
La replicación es una buena alternativa para tener disponibilidad de
información cuando un servidor se cae. La replicación no suplanta los
backup’s, sino, simplemente garantiza la operatividad.
Existen algunos métodos de replicación entre los cuales se pueden
mencionar:
Multimaestro
Maestro -esclavo
Multimaestro: es un método de replicación de bases de datos que permite
que los datos sean almacenados por un grupo de computadoras y además
estos datos pueden ser actualizados por cualquier nodo de este grupo. Con
este tipo de replicación todos los nodos participantes son de
lectura/escritura.
Maestro-esclavo: con este método de replicación los datos también 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 replicación para PostgreSQL
3
Hay varias herramientas que actúan como middleware (intermediario)
entre PostgreSQL y la replicación de datos, entre las que se pueden
destacar:
Slony-I
Rubyrep
PGpool
Hot Standby / Streaming Replication
De estas herramientas se elegirá la que más se ajustes a las necesidades
que se tengan, en nuestro caso hemos elegido Slony-I y será en la cual
profundizaremos nuestro estudio.
SLONY-I
Sobre Slony-I Slony-I es un sistema de replicación asíncrono para PostgreSQL de una
base de datos maestra hacia una o múltiples bases de datos hijas. Slony-I
realiza las actualizaciones a través de disparadores o triggers por lo que
actualmente solo puede realizar replicación de tablas y secuencias.
Replicación asíncrona
Que una replicación sea asíncrona significa que cuando una transacción
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 condición establecida al realizar una
operación. Dependiendo de la base de datos, los triggers pueden ser de
inserción (INSERT), actualización (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
Bases de datos donde regularmente se hagan cambios a esquemas y
definiciones de tablas (DDL).
Cuando se quiere un sistema de replicación que por sí mismo de
notificaciones sobre fallos como por ejemplo nodos caídos.
4
De lo contrario Slony-I es una opción para tomar muy en cuenta al querer
realizar una replicación.
Aspectos importantes antes de poner en marcha una replicación
Antes de poner en marcha una replicación usando Slony-I es importante
tener claro algunos conceptos como:
Clúster
Nodo
Set de replicación
Origen, Proveedores y Suscriptores
Demonio slon
Comando slonik
Cluster: conjunto de bases de datos PostgreSQL dentro de las cuales
ocurre la replicación.
Nodo: un nodo es una base de datos que participa en el proceso de
replicación.
Set de replicación: Es un conjunto de tablas y secuencias que se
replicaran. Nótese que no se replican todas las tablas, sino que se tienen
que especificar explícitamente.
Origen, proveedores y suscriptores: Cada set de replicación tiene un
nodo de origen, que es la base de donde se obtiene información. Los nodos
que reciben la información 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 clúster, existe un proceso slon que
administra la actividad de replicación para ese nodo.
Comandos slonik: es un pequeño intérprete de comandos que incluye
comandos utilizados para la manipulación del clúster de replicación.
También se recomienda tomar en cuenta las siguientes consideraciones:
Utilizar exactamente la misma versión de Slony en todos los nodos.
Utilizar versiones 8.3 o superior de PostgreSQL para utilizar Slony-I 2.0.4
5
Sincronización de hora de sistemas operativos donde estén las bases
involucradas en la replicación.
Replicando una base de datos de PostgreSQL con Slony-I en
Windows Requisitos:
Para la realización de nuestra replicación es necesario tener instaladas las
siguientes herramientas: PostgreSQL 8.4 o compatible
PGadmin III
Slony-I 2.0.4
Descripción de los elementos:
PostgreSQL 8.4: es el gestor de base de datos, el cual puede ser instalado
desde el gestor de paquetes de Linux o se puede descargar desde su sitio
oficial (http://www.postgresql.org/ftp/binary) tanto para Linux como para
Windows.
PGadmin III: como se dijo anteriormente existen varias herramientas para
la manipulación de bases de datos PostgreSQL entre los que esta
PGadmin.
PGadmin III es una interfaz gráfica que soporta todas las características de
PostgreSQL y facilita enormemente la administración. La aplicación
también incluye un editor SQL con resaltado de sintaxis, un editor de
código de la parte del servidor, un agente para lanzar scripts programados,
soporte para el motor de replicación Slony-I y mucho más.
Al igual que PostgreSQL esta herramienta también se encuentra disponible
en los repositorios de Linux y se puede instalar de esa forma o