Bases de Datos Distribuidas Implementación

Anuncio
Bases de Datos Distribuidas
Implementación
Carlos A. Olarte ([email protected])
BDII
Carlos A. Olarte ([email protected]) BDII
Bases de Datos Distribuidas Implementación
Contenido
1
Conceptos Básicos
2
Sentencias locales y remotas
3
Sinónimos y Vistas
4
Replicación y Fragmentación
Carlos A. Olarte ([email protected]) BDII
Bases de Datos Distribuidas Implementación
Algunos Conceptos
Net8: Protocolo de comunicación entre los clientes y las
instancias o servidores Oracle
Oracle Names: Servicio de directorio global de nombres
Database Link: Definen un path unidireccional para comunicar
dos instancias Oracle
Nombre de los objetos: usr .obj@dblink
Base de datos distribuida: Conjunto de bases de datos
almacenadas en diferentes servidores
Distribución de procesos: Cada nodo se encarga de tareas
especı́ficas: DB, web server, facturación, etc.
Carlos A. Olarte ([email protected]) BDII
Bases de Datos Distribuidas Implementación
Continuación
Pure Distributed Database: Los datos tienen una única copia
y se utilizan transacciones globales
Database Replication: Generar copias de los objetos en los
diferentes nodos ganando concurrencia, disminución en el
tráfico, tolerancia a fallos, etc
Heterogeneous Service: Servicio para realizar conectividad
entre servidores Oracle y otros SGBDs.
Heterogeneous Service Agent: Agentes que realizan el puente
entre Oracle y los otros SGBDs. Proveen transacciones
distribuidas, transparencia, optimización global, et
Carlos A. Olarte ([email protected]) BDII
Bases de Datos Distribuidas Implementación
Transacciones Remótas y Globales
Remote Statament
select * from usr.table@db2;
Distributed Statement
Select * from table where x not in ( select x from y@db2);
RPC(Remote Procedure Calls)
Pck.func@db2(arg1);
Carlos A. Olarte ([email protected]) BDII
Bases de Datos Distribuidas Implementación
continuación
Two Phase Commit: Mecanismo para asegurar la atomicidad
en las transacciones distribuidas
Transparencia: Los usuarios no deben conocer la localización
fı́sica de los objetos
Carlos A. Olarte ([email protected]) BDII
Bases de Datos Distribuidas Implementación
Database Links
Públicos: Todos los esquemas pueden utilizarlo
Privados: Solo quien crea el link tiene derecho a utilizarlo, ası́
como los procedimientos de su propio esquema
Compartidos: Cuando un link es creado en modo share, todas
las peticiones se encausan por un mismo canal de
comunicación (Multi Threaded Mode)
Ejemplos
Create database link db2 connect to cc08001 identified by cc08001
using ’academico’;
Create share public database link db1 connect to c10001 idenitified
by c10001 using ’academico’;
Select * from cat@db2; Drop database link db1;
Carlos A. Olarte ([email protected]) BDII
Bases de Datos Distribuidas Implementación
Sinónimos y Vistas
Permiten solucionar el problema de la transparencia de red
Create synonym tabla1 For tabla1@db1
Create view tabla2 as select codigo,nombre from tabla2@db2;
Carlos A. Olarte ([email protected]) BDII
Bases de Datos Distribuidas Implementación
Pasos para la Replicación
1
Diseñar el ambiente (Que tablas van a ser replicadas, sobre
que usuarios, etc)
2
Creación de DBLinks
3
Creación de Snapshots logs1 (Master Site)
4
Creación de Snapshots
5
Creación de los Snapshots site refresh group
1
Materialized view log
Carlos A. Olarte ([email protected]) BDII
Bases de Datos Distribuidas Implementación
Ejemplo Oracle 8i
Instanacia 1
Create table original (codigo number ....);
Create snapshot log on original;
Instanacia 2
Create database link academico .... ;
Create snapshot replica refresh fast
start with sysdate
next sysdate +1 as select * from original@academico
Carlos A. Olarte ([email protected]) BDII
Bases de Datos Distribuidas Implementación
Ejemplo Oracle 9i
Instanacia 1
Create table original (codigo number ....);
Create materialized view log on tabla with primary key including
new values;
Instanacia 2
Create database link....
Create materialized view replica refresh fast start with sysdate next
sysdate+1 with primary key as original@dblink;
Carlos A. Olarte ([email protected]) BDII
Bases de Datos Distribuidas Implementación
Ejercicio
Una tienda de video tiene 3 sucursales: Sur, Centro y Norte. Cada
sucursal puede tener un número diferente de ejemplares de cada
pelı́cula. Los usuarios del sistema se deben poder registrar en una
sucursal determinada pero pueden rentar pelı́culas en cualquiera de
las sucursales. Desde la oficina central se debe poder extraer la
información de las pelı́culas rentadas de cada usuario.
1
Modelo E/R lógico global
2
modelo E/R por instancia (esquema de replicación)
3
Creación de tablas y logs de vistas materializadas
4
Creación de Data base links
5
Creación de réplicas
6
Revisar la actualización de las réplicas
Carlos A. Olarte ([email protected]) BDII
Bases de Datos Distribuidas Implementación
Descargar