Réplicas de Datos y Particiones

Anuncio
PARTICIONES Y REPLICAS
Un sistema maneja Replicas de Datos si una relacion dada(o, en terminos mas generales, un fragmento dado
de una realcion) se puede representar en el nivel fisico mediante varias copias almacenadas ó replicas, en
muchos sitios distintos.
EMP
NUM EMP
E1
E2
E3
E4
E5
NUM DEPTO
DX
DY
DZ
DY
DZ
SALARIO
45K
40K
50K
63K
40K
NUM DEPTO
DX
DZ
DZ
SALARIO
45K
50K
40K
NUM DEPTO
DY
DY
SALARIO
40K
63K
Fragmento de NewYork
NUM EMP
E1
E3
E5
Fragmento de Londres
NUM EMP
E2
E4
Replica del Fragmento de Londres
NUM EMP
E2
E4
NUM DEPTO
DY
DY
SALARIO
40K
63K
Almacenamiento Fisico en New York
Replica del Fragmento de New York
NUM EMP
E1
E3
E5
NUM DEPTO
Dx
Dz
Dz
SALARIO
45k
50k
40k
Almacenamiento Fisico en Londres
Ventajas de las replicas:
1
• Puede producir un mejor desempeño ya que las aplicaciones pueden operar sobre copias locales en vez de
tener que comunicarse con sitios remotos.
2− Puede significar una mejor disponibilidad ya que de todo objeto estara disponible por lo menos una copia,
al menos para proposito de recuperacion.
Desventajas:
La principal desventaja de la replica es que al momento de copiar un nuevo objeto, debe de ponerse al dia
todas las replicas de ese objeto.
La replica al igual que la fragmentacion, debe de ser transparente para el usuario en otras palabras debe
manejar una independencia de replica(conocida como transparencia de replica), de tal forma que este se
desempeñe como si solo existiera una copia de datos.
Las replicas son de gran ayuda al usuario ya que permiten que los programas simplificar sus actividades en las
terminales de trabajo.
Cuando se fragmentan los datos que se encuentran en un solo servidor, permite partir la base de datos
existente en multiple servidores. Con esta capacidad se puede optimizar el uso de la red, procesando y
almacenando los datos en diferentes servidores.
TRANSACCIONES DISTRIBUIDAS
En un sistema de BDC, el manejador de transacciones asegura al usuario los programas o transacciones que se
esta ejecutando con ACID propiedades(automatice, consistencia, aislamiento, durabilidad).
Esto es típicamente archivado por el usuario, (1) Mediante un mecanismo de ocurrencia de control tal como el
de Two phase (dos fases) cierra o asegura la transacion de ocurrencias sin hacer interferencia con los otros. (2)
Un mecanismo de codigos que asegura que la transacción puede ser completada una a una o abortada
completamente despues de un fracaso.
Con una base de datos distribuida, podemos tener operaciones de transacciones o datos recidentes en
diferentes computadores. La porcion de una transaccion hecha en un computador o sitio es llamado
SUBTRANSACCIÓN. Cada sitio puede asegurarse usando codigos convencionales, lasubtransaciones se
ejecutan automaticamente y no es necesario un coordinador de desiciones para cada sitio.
En terminos de control de concurrencia, muchas estrategias corrientes de trabajo en ambientes distribuido, en
particular, two phase cierran las transacciones necesitando pedir candados (compartidos o exclusivos) para
todos los objetos de acceso. El candado para el objeto X es manejado por el sitio cuando X es almacenado asi
y el cual puede ser requerido cuando X es accesado.
La replica de datos representan una complicacion en la estrategía descrita en los parametros previos.
Especificamente considere un objeto X cuando tiene tres copias X1, X2, X3 cada una en diferente sitio. Si la
transacción X se desea actualizar el protocolo de nivel requiere el candado exclusivo requerido en todos los
tres sitios. Esto tiene dos desventajas, (1) tres candados tienen que ser requeridos por un solo objeto, (2) si la
copia X1 no esta disponible entonces la transacciones no puede se procesada.
Para reducir la redundancia de candados y problemas de disponibilidad de datos, un numero de datos
replicados administra los algoritmos que tienen que estar disponibles. Estos varian a medida que se ejecuta el
control de concurrencia y cuando ellos autorizan transacciones, poe ejemplo en algunos casos los candados
son unicamente ejecutados en na copia primaria; en otros los candados son hechos en todos los sitios
2
disponibles.
En conclusión, un sistema no puede tener una consulta optimizada o un mecanismo para manejar datos
distribuidos, los usuarios deben asumir los problemas como propios, tal como el de hacer la optimización de
otra consulta o manejar la copia de estas ya que podria generarse una inconsistencia de datos.
PROCESO DE CONSULTAS DISTRIBUIDAS
Este proceso se realiza mediante la combinación de la base de datos local con la distribuida mediante un
cliente instalado en el servidor de integración.
La optimizacion de consultas distribuidas son utilizadas en algunos servidores de integración comercial. Por
ejemplo, en ingres Star, los parametros de estos pueden tomar informes defragmentados, la consulta global
incluyendo la distribución estadistica de datos provocan el aumento del transporte de datos, la velocidad de
enlace de comunicación y la creación de indices priarios y secundarios y algunos parametros estructurales de
almacenamiento.
REPLICACION DE DATOS DISTRIBUIDOS
El soporte para la replicacion de datos es primitiva. La mayoria se asemeja a un soporte de base de datos de la
forma snapshot ( fotografia de BD) estos producen y renuevan las copias de solo lecura deun datoen un
intervalo de tiempo especificado. Una base de datos snapshot es una vista materializada. Por ejemplo un
snapshot puede ser creada con los siguientes comandos (exact syntax may vary):
Create materialized_view v1 as
select * from work where assigned_to=ME
refresh incremental cycle 1 hour;
Create materialized_view v2 as
select * from work, work_data where
work.id = work_data.id and work_data.amount > 500
refresh complete cycle 1 day;
En el anterior ejemplo, v1 es un snapshot que involucra solamente una relación. Este sanpshot es refrescado
cadahora con actualizaciones incrementales (especificada con la clausula refresh incremental cycle 1 hour)
este es el tiempo de refresco, solo la actualización incremental para la relacion work es enviada despues de ser
refrescada la sitio de replicación. Snapshot v2 involucra dos relaciones. La especificación reflesh complete es
el tiempo promedio para enviar una nueva copia de v2 alsitiode replicación.
BASES DE DATOS DISTRIBUIDAS EN REDES NOVELL
Un ejemplo de BDD y de gran apicación en la actualidad es la utilizada por las redes Netware y la cual se
presenta a continuación, tanto de como funciona como de sus diferentes clases.
Existen dos formas de particionar y replicar la base de datos.
• Fault Tolerance: La replicación provee tolerancia a fallas por ser el almacenamiento redundante en varios
3
servidores.
Si un disco del servidor donde se contiene los datos se daña, la replica existente en otro servidor, podiria
autenticar al usuario y proveer información del dato como si estuviera en la original.
Como la iformación distribuida en los servidores es igual, los clientes no dependen de un solo servidor para
accesar la información
• Acceso Eficiente a la Información: Partición y replicación provee respuesta al tiempo y reduce el trafico en
la red. también decrementa el tamaño de las bases de datos y coloca la información cerca de los usuarios
que más la necesitan.
El objetivo de esta replica es colocar cerca al usuario la información físicamente en servidor más inmediato,
esto se logra analizando cuales son lo usuarios que accesan más la información. Esto garantiza el rendimiento
en todos los procesos concernientes con la base de datos.
En el sistema operativo Novell podemos encontrar el manejo que se le hace a la replicación.
Novell maneja la replicación para almacenar y controlar los cambios que se generan en el arbol (objetos que
contiene una red: Usuarios, grupos, servidores, estaciones, etc) así cuando se genera algun cambio
supongamos en un usuario este almacena los datos no en un servidor si no en varios donde se encuentran las
replicas referentes a ese usuario.
Aquí denotamos los elementos más representativos que se podrían acomodar en un ambiente distribuido.
Cuando se realiza la replicación las particiones se dividen y cada una de ellas tiene un nombre. La divisiones
contienen los datos reales para los objetos.
En este sistema operativo se manejan 4 tipos de replicas
• Master: Se crea cuando se define la partición. Es la replica principal donde se almacenan todos los
datos concerniente a la red. En esta replica se modifican los datos y es donde estan constantemente
actualizados.
• Read/write: Se crea en el segundo y tercer servidor que se crea y los servidores subsecuentes que se
quiere. En esta replica se pueden modificar y consultar datos, pero constantemente le pasa esas
modificaciones a la replica maestra.
• Read−Only: Se crea en el servidor que se especifique. Esta replica solo es para consulta y no se
puede realizar ninguna modificación.
• Subordinate Reference. Creada cuando el sevidor contiene un replica de la partición pero no una
reproducción del hijo de esa replica.
Caracteristicas
Master
Read/write Read−Only
Mantiene la lista de todas las otras replicas
Contiene una completa copia de toda la
información del los objetos en la partición
Controla objetos cambados (Crear, mover,
borrar y modificar)
Soporta Ver los objetos
Puede tener multiples replicas por partición
Puede ser cambiada desde la replica maestra
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Subortinate
Reference
X
X
4
Puede ser cambiada desde la replica read−write
X
Puede ser creada por el administrador
X
X
X
No puede ser creado por el administrador, es
creada automaticamente por e sistema
COMO LAS REPLICAS SON ACTUALIZADAS Y SINCRONIZADAS?
X
Cuando una partición es creada, la partición root recive una lista de replicas. Cuando los cambios son creados
para los objetos existentes en una partición, estos cambios son enviados a todas las otras replicas de la
partición usando la lista de replicas que se encuentra en el root.
Solamente los cambios son enviados a las otras replicas. Por ejemplo si a un usuario se le cambia en número
de telefono, no se enviara todos los datos del usuario a todas las replicas solamente los datos que se hayan
modificado.
La replica maste participa en el proceso de partición y sincronización intercambiando datos con las demas
replicas, pero esta no controla en su totalidad todo el proceso.
Similarmente, cada replica read/write se sincroniza con otras replicas de la partición. La replica Read−Only
también se sincroniza con otras replicas, pero solamente recive actualización de otros servidores.
Los cambios que se realizan en los datos tienen su priorización al momento de actualizarlos, por eso existira
algunos cambios representativos que seran actualizados inmediatamente mientras otros podrán dar espera y
serán actualizados paulatinamente.
Para que la sincronización ocurra, cada replica debe estar conectada.
LISTA DE REPLICAS
Una lista de replicas (tambien llamada replica ring) es una lista de todas las replicas de una partición. Esta
lista incluye los servidores que contienen la replica, el tipo de replica y el estado actual. Todas las replicas
incluidas la subordinada contiene una copia de la lista de replica.
5
Descargar