Anda di halaman 1dari 48

BASES DE DATOS II

(DISTRIBUIDAS)

Facultad de Ingeniera y Ciencias


Ingeniera en Sistema e Informtica - Electrnica y Redes

Fundamentos de Bases de Datos


Distribuidas
Ing. Jonathan Carrillo
Quito, Junio 2015
Contenido:
1. Introduccin
Definiciones
2. Arquitectura
3. Ventajas de los Sistemas de BDD
4. Desventajas de los Sistemas de BDD
5. Clasificacin de los DDBMS
6. Diseo de una Base de Datos Distribuida

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
1. Introduccin

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Motivacin
Evitar la sobrecarga de trabajo en servidores (cuellos
de botella)
Las empresas estn generalmente distribuidas al
menos de manera lgica (en divisiones,
departamentos, grupos de trabajo, etc.), y es muy
probable que tambin lo estn de manera fsica (en
plantas, fbricas, laboratorios, etc.)
Por lo que se requiere de varias Bases de Datos
almacenadas en diferentes nodos que:
> Forman una nica BD lgica y cooperan
ejecutando consultas o transacciones globales
Ing. Jonathan Carrillo - Junio 2015
Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
Procesamiento Distribuido
El procesamiento lgico de una base de datos es
compartido entre dos o ms sitios fsicamente
independientes que estn conectados a travs de una
red.
Por ejemplo, la entrada/salida (I/O), la seleccin y la
validacin de datos podra ser realizada en una
computadora y el informe basado en esos datos
podra ser creado en otra computadora.

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
Procesamiento Distribuido

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
Procesamiento Distribuido

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
Base de Datos Distribuidas
[1] Coleccin de mltiples bases de datos,
lgicamente interrelacionadas (integradas),
distribuidas sobre una red de computadores.

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
Base de Datos Distribuidas
[2] Una Base de Datos Distribuida o BDD es una
coleccin de datos integrados lgicamente en una
Base de Datos, pero que fsicamente pueden ser
procesados y almacenados en varios nodos
distribuidos sobre una red de computadores.

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
Base de Datos Distribuidas
En otras palabras, cada sitio local tiene
> Sus propias Bases de Datos reales
> Sus propios usuarios locales
> Su propio DBMS local
> Software de administracin de transacciones
(incluyendo su propio software local para
bloqueo, registro en bitcora, recuperacin, etc.)
> As como su propio administrador de
comunicacin de datos local.
Ing. Jonathan Carrillo - Junio 2015
Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
BD Centralizada Vs. BD Distribuida

Base de Datos Centralizada

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
BD Centralizada Vs. BD Distribuida

Bases de Datos Distribuida BDD

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
Sistema de Gestin de Bases de Datos Distribuido
(DDBMS - Distributed Database Management
System).
Un DDBMS es un producto software que permite el
manejo de Bases de Datos Distribuidas (BDD) y hace
la distribucin transparente a los usuarios.
Ejemplo de Productos:
Oracle, SQL Server, DB2, Informix, MySQL, etc.

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
Sistema de Gestin de Bases de Datos Distribuido
(DDBMS - Distributed Database Management
System).
Los productos DDBMS son de tipo relacional (al
menos soportan SQL).
Para que un sistema distribuido sea exitoso, es
recomendable que sea relacional.
La tecnologa relacional es un requisito previo para
tecnologa distribuida.

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
DBMS Centralizado Vs. DBMS Distribuidos

DBMS Centralizada

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
DBMS Centralizado Vs. DBMS Distribuidos

DBMS Distribuido DDBMS


Ing. Jonathan Carrillo - Junio 2015
Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
DBMS Centralizado Vs. DBMS Distribuidos

DBMS Distribuido DDBMS


Ing. Jonathan Carrillo - Junio 2015
Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
Sistema de Bases de Datos Distribuidas (SBDD)
Un SBDD es la unin entre un DDBMS y una BDD.
Es decir, es un sistema en el cual mltiples sitios de
BD estn conectados en una red de computadoras de
tal forma que, un usuario en cualquier sitio puede
acceder a los datos en cualquier parte de la red
exactamente como si los datos estuvieran siendo
accedidos de forma local.
Sistema de Base de Datos Distribuida = BDD + DDBMS

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
Sistema de Bases de Datos Distribuidas (SBDD)
Un Sistema de Base de Datos Distribuida, una base
de datos est compuesta de varias partes conocidas
como fragmentos de base de datos, los cuales estn
ubicados en sitios diferentes y pueden replicarse
entre varios sitios.
Cada fragmento de base de datos es, a su vez,
administrado por su proceso local de base de datos.

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
1. Introduccin
> Definiciones
Sistema de Bases de Datos Distribuidas (SBDD)
> Principio Fundamental
Ante el usuario, un sistema distribuido debe lucir
exactamente igual que un sistema que no es
distribuido

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
2. Arquitectura
> Sistemas de Bases de Datos

Se identifica el acceso a los


datos y las relaciones existentes
entre ellos desde el punto de
vista de los usuarios.

Consiste en una representacin


de los datos y sus relaciones
desde un punto de vista de la
organizacin sin considerar
restricciones de
almacenamiento.

Ubicacin fsica de los datos y


mecanismos de acceso a los
mismos.

Bases de Datos

Arquitectura ANSI/X3/SPARC

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
2. Arquitectura
> Sistemas de Bases de Datos Distribuidos

Arquitectura SBDD - Administracin de BD (Mannino)


Ing. Jonathan Carrillo - Junio 2015
Fundamentos de Bases de Datos Distribuidas
3. Ventajas de los Sistemas de Bases de Datos Distribuidas
Entre las ventajas potenciales de los SBDD se
encuentran las siguientes:
La naturaleza (empresarial) distribuida de algunas
aplicaciones de bases de datos.
Mayor disponibilidad y fiabilidad (cumplimiento de
una determinada funcin, recuperabilidad, tolerancia
a fallos.
Posibilidad de compartir los datos al tiempo que se
mantiene un cierto grado de control local.
Mejor rendimiento (consultas locales y las
transacciones, procesamiento en paralelo,
reducindose as el tiempo de respuesta)
Ing. Jonathan Carrillo - Junio 2015
Fundamentos de Bases de Datos Distribuidas
3. Ventajas de los Sistemas de Bases de Datos Distribuidas
Plataforma autnoma. Cada sitio tiene sus
caractersticas tecnolgicas en funcin de las
necesidades.
Localizacin transparente (aplicaciones y usuarios)
Autonoma del sitio (compartir sus datos sin ceder el
control administrativo)
Seguridad mejorada:
> compartir los datos sin compartir cuentas y
contraseas.
> propios administradores y propios conjuntos de
cuentas
Arquitectura SBDD - Administracin de BD (Mannino)
Ing. Jonathan Carrillo - Junio 2015
Fundamentos de Bases de Datos Distribuidas
3. Ventajas de los Sistemas de Bases de Datos Distribuidas
Seguridad mejorada (continuacin):
> Los usuarios finales o desarrolladores pueden
tener su propia cuenta en el servidor de base de
datos, porque todos los accesos de base de datos
se producen a travs de APIs (Application
Programming Interfaces) de red.
> De este modo, se minimiza la exposicin de
dicho servidor de base de datos a posibles
intrusiones maliciosas o a usuarios poco
cuidadosos.

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
4. Desventajas de los Sistemas de Bases de Datos Distribuidas
En contra, la distribucin produce un aumento en la
complejidad del diseo y en la implementacin de
nuevos sistemas, por ejemplo
Alto nivel de gestin y mantenimiento de cuentas.
Las cuentas a las cuales se conecta un enlace de BD
no debe dar ms derechos de acceso que los
absolutamente necesarios.
Garantizar la coherencia de los datos. Esta
responsabilidad es compartida entre los diseadores,
desarrolladores y administradores de bases de datos.
Administracin de transacciones. El conjunto de
operaciones debe ser realizado para cada sitio
replicado. Evitar conflictos masivos y congestiones.
Ing. Jonathan Carrillo - Junio 2015
Fundamentos de Bases de Datos Distribuidas
4. Desventajas de los Sistemas de Bases de Datos Distribuidas
Recuperacin. el proceso de recuperacin no slo
debe garantizar la restauracin completa de los datos
locales, sino tambin la restauracin de los datos
distribuidos, transacciones e instancias suspendidas.
Factores externos afectan al rendimiento. Por
ejemplo la Red, el almacenamiento, y la transmisin
de operaciones impacta en el rendimiento general del
sistema, y se debe tener en cuenta lo que esto
significa cuando se especifican los requisitos de
hardware

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
5. Clasificacin de los DDBMS
Esta clasificacin se realiza en base a tres
caractersticas: la distribucin, la autonoma y la
heterogeneidad del sistema local.
Fsica de los datos sobre mltiples sitios

Distribucin y control
de los datos. Grado en
el que el DDBMS
puede operar de
manera independiente

Diferencias en HW, Protocoles de Red,


DBMS que componen la federacin
Ing. Jonathan Carrillo - Junio 2015
Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
El diseo de una base de datos distribuida introduce
tres nuevos problemas:
1. Cmo dividir la base de datos en fragmentos.
Cules fragmentos replicar.
Dnde ubicar esos fragmentos y rplicas.
2. Integrar/Enlazar los fragmentos de la BDD.

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
1. Fragmentacin de datos
Permite descomponer un objeto individual en dos o
ms segmentos, o fragmentos.
Las estrategias de fragmentacin:
> Fragmentacin horizontal
> Fragmentacin vertical
> Fragmentacin combinada

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
1. Fragmentacin de datos
> Fragmentacin horizontal: se refiere a la
divisin de una relacin en subconjuntos
(fragmentos) de tuplas

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
1. Fragmentacin de datos
> Fragmentacin horizontal: se refiere a la
divisin de una relacin en subconjuntos
(fragmentos) de tuplas

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
1. Fragmentacin de datos
> Fragmentacin horizontal:

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
1. Fragmentacin de datos
> Fragmentacin vertical: se refiere a la divisin
de una relacin en subconjuntos de atributo
(columna).

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
1. Fragmentacin de datos
> Fragmentacin vertical: se refiere a la divisin
de una relacin en subconjuntos de atributo
(columna).

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
1. Fragmentacin de datos
> Fragmentacin vertical:

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
1. Fragmentacin de datos
> Fragmentacin combinada: se refiere a una
combinacin de estrategias horizontales y
verticales. En otras palabras, una tabla puede
dividirse en varios subconjuntos horizontales
(renglones), cada uno de los cuales tiene un
subconjunto de atributos (columnas).

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
1. Fragmentacin de datos
> Fragmentacin combinada:

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
1. Fragmentacin de datos
> Fragmentacin combinada:

Contina
Ing. Jonathan Carrillo - Junio 2015
Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
1. Fragmentacin de datos
> Fragmentacin combinada:

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
2. Integrar/Enlazar los Fragmentos de la BDD

Database Link

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
2. Integrar/Enlazar los Fragmentos de la BDD
Un DB Link define un camino unidireccional desde
una BD ORACLE a otra.
Un usuario local puede acceder a travs de un link a
objetos de esquemas de otros usuarios en BD
remotas (siempre que tenga permiso suficiente para
hacerlo) como si se tratara de una nica BD.
En Oracle esta informacin se encuentra en el
catlogo del sistema:
SELECT db_link FROM user_db_links;

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
2. Integrar/Enlazar los Fragmentos de la BDD
Creacin:
> La creacin de links establece un enlace a una
BD remota cuya ubicacin est descrita en el
nombre de servicio a travs un usuario y
contrasea de dicha BD.
> CREATE [PUBLIC] DATABASE LINK nombreLink
CONNECT TO usuario IDENTIFIED BY contrasea
USING 'nombre de servicio';
Eliminar/Borrar link:
> DROP [PUBLIC] DATABASE LINK nombreLink

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
2. Integrar/Enlazar los Fragmentos de la BDD
Acceso remoto va links
> El nombre de un objeto en una BD es unvoco
dentro del esquema de su propietario. Sin
embargo, en una BD remota puede existir un
esquema con el mismo nombre,
que puede tener un objeto con el mismo nombre.
> Acceso a travs de un link a un objeto remoto de
un determinado propietario en una BD remota:
propietario.nombreObjeto@nombreLink
O si el usuario que accede al objeto es el
propietario del mismo: nombreObjeto@nombreLink
Ing. Jonathan Carrillo - Junio 2015
Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
2. Integrar/Enlazar los Fragmentos de la BDD
Consultas remotas
> Para realizar consultas en una BD distribuida
podemos utilizar objetos situados en una BD
remota. Se utiliza para ello los links previamente
creados.
SELECT nombre
FROM dbb.autor@link
WHERE nacionalidad = "Francia

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
2. Integrar/Enlazar los Fragmentos de la BDD
Consultas remotas
SELECT nombre
FROM dbb.autor@link, libro
WHERE dbb.autor.idautor@link = libro.idautor
AND nacionalidad = "Francia
Tambin es posible realizar operaciones de
actualizacin (insert, update, delete) en la BD
remota, siempre que tengamos el permiso
necesario para realizarlas.

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
2. Integrar/Enlazar los Fragmentos de la BDD
Actualizaciones remotas
UPDATE employees@remote
SET salary=salary*1.1
WHERE last_name = 'Baer';
Eliminacin de tuplas remotas
DELETE FROM employees@remote
WHERE employee_id = 999;

Ing. Jonathan Carrillo - Junio 2015


Fundamentos de Bases de Datos Distribuidas
6. Diseo de una Base de Datos Distribuida
2. Integrar/Enlazar los Fragmentos de la BDD
Creacin de necesitamos
CREATE SYNONYM autores
FOR dbb.autor@link

Sin sinnimos Utilizando Sinnimos


SELECT nombre SELECT nombre
FROM dbb.autor@link FROM autores
WHERE nacionalidad WHERE nacionalidad =
= "Francia "Francia"

Ing. Jonathan Carrillo - Junio 2015

Anda mungkin juga menyukai