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 Los datos están en un ordenador remoto (BBDD Distribuidas) SELECT r.n,r.s FROM dblink (‘host= 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; Nodo local Nodo remoto
SELECT r.n,r.s FROM dblink (‘host= 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 ¡Ojo a la coma y a los paréntesis!
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;