Bases de datos
distribuidas
IES Virgen del Espino
DAW2
Definición

Un sistema de Bases de Datos Distribuida
(SBDD) es un sistema en el cual:



Existen múltiples sitios de bases de datos
Los sitios están ligados por un sistema de
comunicaciones
Un usuario en cualquier sitio puede acceder a los
datos en cualquier parte de la red exactamente
como si estos fueran accedidos de forma local.
Componentes

Los principales factores que distinguen un
SBDD de un sistema centralizado son los
siguientes:


Hay múltiples computadores, llamados sitios o
nodos.
Estos sitios deben de estar comunicados por
medio de algún tipo de red para transmitir datos
y órdenes entre los sitios
Operaciones

LOCALES:


Aquellas que un nodo realiza sobre su propia base de
datos. Son las consultas más deseables porque los datos
están en el mismo nodo.
GLOBALES:



Aquellas en las que un nodo accede a la información de
otro
Es el principal objetivo de las bases de datos distribuidas
Son las operaciones más complejas por factores de riesgo
como la seguridad o el tráfico en la red
Ventajas de las BBDD
Distribuidas






Compartir información y control sobre los datos
Disponibilidad de información
Permite romper barreras geográficas
Es mas barata una red de muchos equipos
pequeños que pocos servidores grandes
Se pueden modificar, agregar o quitar sistemas de
la base de datos
Un departamento puede controlar los datos que le
pertenecen
Inconvenientes de las BBDD
Distribuidas






Dependencia total de la red de
comunicaciones
Seguridad de la información
Coste del desarrollo del software
La complejidad y la infraestructura necesaria
implica que se necesite una mayor necesidad
de personal cualificado
Diseño de la base de datos compleja
Falta de experiencia
Ejemplo: Queremos los nombres de los empleados
con sueldo mayor de 20000. Los datos están en un
ordenador remoto (BBDD Distribuidas)
SELECT r.n,r.s
FROM dblink (‘host=192.168.32.101
dbname=usuario port=5432 user=chema
password=lalala',‘SELECT nombre,salario
FROM templa') AS r(n varchar(50),s integer)
WHERE r.s>20000
ORDER BY 2;
192.168.32.101
Nodo local
Nodo remoto
SELECT r.n,r.s
¡Ojo a la coma y
a los paréntesis!
FROM dblink
(‘host=192.168.32.101
dbname=usuario port=5432
user=chema password=lalala’ ,
‘SELECT nombre,salario FROM
templa’ )
AS r(n varchar(50),s integer)
WHERE r.s>20000
ORDER BY 2;
Parámetros de
acceso al nodo
remoto
Consulta ejecutada
en el nodo remoto
Nombre de la tabla
virtual y de los
campos en el nodo
local
Dblink (1)
La tabla templa del nodo remoto …
Dblink (2)
… Es filtrada por la consulta SELECT …
Dblink (3)
… Es transmitida por la red de comunicaciones …
Dblink (4)
… Y recogida por el nodo local en una TABLA VIRTUAL llamada r …
¿Cómo instalar las funciones
de dblink?

Versiones anteriores a la 9

Ejecutar el script que se encuentra en


C:\ProgramFiles\PostgreSQL\8.X\share\contrib\dblink.sql
Versiones igual o superior a la 9

CREATE EXTENSION dblink;
Descargar

Bases de datos distribuidas