viernes, 27 de marzo de 2015

Investigacion de esquema de fragmentación y distribución de una BDD

Distribución: Los componentes del sistema están localizados
en la misma computadora o en diferente computador
Los sistemas de datos distribuidos están divididos en dos clases: 

1. Sistemas de manejo de bases de datos distribuidos  homogéneos  
Los sistemas homogéneos se parece a un sistema centralizado, a
diferencia que estos sus datos se distribuyen en varios sitios
comunicados por la red. No existen usuarios locales y todos ellos
accesan la base de datos a través de una interfaz global

2. Sistemas de manejo de bases de datos distribuidos
heterogéneos 
 
 Resultado de imagen para base de datos
Un sistema multi-bases de datos tiene múltiples SMBDs, que  pueden ser de tipos diferentes, y múltiples bases de datos existentes. Existen usuarios locales y globales


El esquema de fragmentación describe la forma en que las relaciones globales se dividen entre las bases de datos locales.    

El objetivo de la fragmentación es encontrar un nivel de particionamiento adecuado en el rango que va desde tuplas o atributos hasta relaciones completas.
Cada relación global puede ser dividida en porciones que no se solapen llamados fragmentos. El mapa resultante se denomina esquema de fragmentación. Una relación global puede dividirse en n fragmentos y un fragmento sólo puede pertenecer a una relación global.


El problema de fragmentación se refiere al particionamiento de la información para distribuir cada parte a los diferentes sitios de la red. Inmediatamente aparece la siguiente pregunta: ¿Cuál es la unidad razonable de distribución?. Se puede considerar que una relación completa es lo adecuado ya que las vistas de usuario son subconjuntos de las relaciones


 Fragmentos: cada relación global puede ser dividida en porciones que no se solapen llamados fragmentos. 
El mapa resultante se denomina esquema de fragmentación. Una relación global puede dividirse en n fragmentos y un fragmento sólo puede pertenecer a una relación global. Los fragmentos se referencian por un nombre de relación global y un subíndice. Por ejemplo Ri indica el fragmento i de la relación R.
 

 El esquema de ubicación define en qué nodos un fragmento va a ser almacenado. El tipo de mapa definido en el esquema de ubicación determina si la BDD es redundante o no.

 Todos los fragmentos que corresponden a la misma relación global R y están ubicados en el mismo nodo constituyen la imagen física de una relación global R en el nodo. Las imágenes físicas se pueden referenciar por el nombre de la relación global R y un superíndice; por ejemplo, Rj indica la imagen física de la relación global R en el nodo j. se denomina copia de fragmento a la información de un fragmento en un nodo determinado en un nodo dado, y se denota usando el nombre de la relación global, un subíndice y un superíndice. Por ejemplo, R3 2 indica copia del fragmento R2 que está ubicado en el nodo 3..

http://repositorio.utn.edu.ec/bitstream/123456789/522/6/04%20ISC%20151%20CAPITULO%20IV.pdf
 

jueves, 26 de marzo de 2015

Ejericios


Problema 1


a)  Π Centro.Codigo Empleado =0

b)Π Centro U Consulta.Hora ,  (Consulta Empleados ),Consulta.Empleado,Consulta.Especialidad



Problema 2

a)   Π Empleado , Proyecto. 
b) ΠCodigo,Nombre(Empresa)
c)Proyecto.Empresa = 0 , Π Proyecto.Empresa = NULL 





lunes, 23 de marzo de 2015

Resumen 2

SISTEMA GESTOR DE BASE DE DATOS


Se considera una BDD (base de datos distribuida) a “una colección lógicamente interrelacionada de datos compartidos (junto con una descripción de estos datos) fisicamente distribuidas por una red informática”.
Un SGBDD se compone de una única base de datos lógica, que físicamente está dividida en fragmentos ubicados en nodos distintos e interconectados mediante una red de comunicaciones. Así, existirán aplicaciones locales, que solo accederán a los datos almacenados en el mismo nodo, y aplicaciones globales, que accederán a datos de varios nodos. 
 
El SGBDD ejecutará así las funciones requeridas para dar servicio a este último tipo de aplicaciones.




Además de la fragmentación, en el contexto de BDD también se habla de replicación, que consiste en mantener réplicas de fragmentos en varios nodos, según una política de replicación que va desde una replicación mínima (un fragmento replicado en otro nodo) a una replicación total (todos los fragmentos son replicados). Nuevamente el SGBDD debe garantizar la consistencia de los fragmentos que están replicados (una actualización en un fragmento debe provocar la actualización en todas sus réplicas).


Un caso de replicación son los datawarehouse: proporcionan soporte para consultas complejas para ayuda a la decisión que recurren a numerosas fuentes de datos, ya que se crea una copia de todos los datos en un mismo emplazamiento.







Bases de datos Paralela


SGBD paralelo definido como “un SGBD que se ejecuta sobre múltiples procesadores y utilizando múltiples discos y que está diseñado para ejecutar las operaciones en paralelo”,




DIFERENCIAS DE UN SGBD A SGBDP 

A veces se confunde la arquitectura de base de datos paralela sin compartición con la distribuida. Los factores que diferencian a esta última son:
1. Las bases de datos distribuidas suelen estar en lugares geográficamente distintos.
2. Se administran de forma separada.
3. Poseen una conexión más lenta.


Existen varios productos comerciales con bases de datos distribuídas, como:
• INGRES/STAR de Relational Technology, Inc.
• SQL*STAR, de Oracle Corp.
• DB2 versión 2 Edición 2, de IBM.

CATALOGO o DICCIONARIO DE DATOS. 
Por guardar información descriptiva sobre la base de datos, también es referido como metainformación. El catálogo se usa sobretodo para optimizar consultas. En una base de datos distribuida el catálogo se usa también para hacer un seguimiento de los datos distribuidos en varios sitios.



3 . Planteamiento del problema
  • Fragmentación de la base de datos original: La fragmentación debe poder ser mixta y derivada con asignación de los fragmentos a distintos nodos. La fragmentación mixta es una combinación de horizontal y vertical.
  • Horizontal se aplica cuando se extraen fragmentos por selección de tuplas que cumplan una determinada condición.
  • Fragmentación vertical se aplica cuando se extraen fragmentos por selección de atributos de todas las tuplas.
  • Fragmentación mixta se aplica a la selección de varios atributos de las tuplas que cumplan una determinada condición.
  1.  Replicación de fragmentos de la base de datos: Se debe poder indicar los fragmentos que se replican y donde se replican.
  2. Consultas optimizadas, en la cual se puedan realizar tanto consultas locales como consulta globales a varios nodos
SENTENCIAS
  • CREATE TABLE tabla AS SELECT * FROM nom-sinonimo
Esta sentencia debe ser Introducida en el nodo que se desea que se almacene el fragmento. 
  • La sintaxis para crear un procedimiento es la siguiente
CREATE [OR REPLACE] PROCEDURE name [(param [IN|OUT|IN OUT|] datatype) . . .][IS|AS] pl/sql_subprogram
  • La sentencia SQL para replicar fragmentos es la misma que el paso previo:
    CREATE TABLE tabla AS SELECT * FROM nom-esquema.nom-tabla@dblink
  • CREATE TABLE tabla AS SELECT * FROM nom-sinonimo
    La primera sentencia sin sinónimos, la segunda con sinónimos.
    Al igual que en el caso anterior, la replicación se producirá a través de la llamada a un procedimiento almacenado con el paso de parámetros:
    1. Fragmento de origen
    2. Fragmento de destino
    3. Nodo(s) donde se va a guardar
  • La creación de un fragmento replicado actualizará el catálogo distribuido, como en la creación de cualquier otro fragmento, donde la lista de atributos es * y la condición de guarda es simplemente TRUE.

  • CREATE [OR REPLACE] TRIGGER
    {BEFORE|AFTER} {DELETE|INSERT|UPDATE [OF col1, col2, . . ., colN]
    [OR {DELETE|INSERT|UPDATE [OF col1, col2, . . ., colN]. . .]}
    ON table
    [REFERENCING OLD AS oldname, NEW as newname]
    [FOR EACH ROW [WHEN (condition)]]
    pl/sql_block
  • Para implementar este tipo de replicación se van a usar los triggers ó disparadores [WENTE 1983], que son procedimientos que se ejecutan cuando ocurre un evento. En la implementación de un trigger se deben especificar las acciones que se van a realizar y opcionalmente las condiciones
  • Para realizar una consulta distribuída sencilla (que involucra una sola tabla), la sintaxis es la siguiente:
SELECT * FROM nom-esquema.nom-tabla@dblink ó
SELECT * FROM nom-sinonimo 
 

 

domingo, 22 de marzo de 2015

Resumen 1



Resumen de Base de Datos Distribuidas 

Sistema de computación distribuido

Elementos de procesamiento que cooperan en la ejecución de tareas,
interconectados por una red de ordenadores.
– No han de ser homogéneos
– Dividen un problema en otros más manejables y losresuelven de modo coordinado
•BD distribuida (BDD):son varias BD interrelacionadas
lógicamente y situadas en dife rentes nodos de una red de ordenadores.
•SGBD distribuido:
el que gestiona BD distribuidas de forma transparente para el usuario (éste ve las BD como
si fueran una sola BD centralizada
Ventajas de las BDD: 

–Localización transparente

las instrucciones no dependen de dónde se ejecutan ni de dónde se sitúan los datos
–Transparencia en los nombres
Un objeto se accede por su nombre, sin ambigüedad y sin especificar nada más.
–Transparencia de fragmentación
fragmentación horizontal es distribuir una tabla en varios conjuntos detuplas (cada uno en un ordenador). La distribuir la tabla en conjuntos de atributos. La consulta vertical en sobre la tabla se transforma de modo automático en varias consultas sobre sus fragmentos
–Más fiabilidad y disponibilidad:
                                                    
Datos y software están en varios ordenadores. Si un ordenador falla los demás pueden seguir funcionando. Los datos y sw del que ha fallado son inaccesibles. Con réplicas (copias) automáticas de datos y sw en varios ordenadores se pueden mejorar estas situaciones.
–Mejora del rendimiento Situando los datos en el
ordenador donde se usan (o uno cercano): BD locales y más pequeñas
–

  • Procesadores o aumentar la BD, son tareas más sencillas. 


Otras funciones de las BDD:

–Seguir la pista a los datos:

fragmentación, réplica
–Procesar consultas distribuidas
–Gestionar transacciones distribuidas
–Gestionar datos replicados:qué copia usar, mantener la consistencia
–Recuperar BDD:de fallos de ordenadores individuales
–Seguridad:
privilegios, autorizaciones de acceso
–Gestionar el catálogo distribuido: contiene los metadatos. Debe ser global para toda la BDD o local para cada sitio.




 
Los SGBD totalmente distribuidos (transparentes) aun no son viables comercialmente
• En su lugar se han creado sistemas basados en cliente-servidor
• La forma habitual de dividir la funcionalidad del SGBD entre cliente y servidor .
Servidor SQL:donde se sitúa el SGBD. Una BDD se situaría en varios servidores.

Clientes

• Envían consultas/actualizaciones a servidores
• Tienen interfaces SQL, de usuario y funciones de
interfaz del lenguaje de programación
• Consultan en el diccionario de datos la información sobre la distribución de la BD entre los servidores.
Tienen módulos que descomponen consultas globales en varias locales a cada servidor
• Interacción cliente-servidor arquitectura de 2 niveles
– El cliente analiza la consulta del usuario. La descompone
en varias subconsultas y envía cada una a un servidor.
(También puede hacerlo el usuario a mano)
– Cada servidor ejecuta su subconsulta y devuelve el resultado al cliente
– El cliente combina los resultados recibidos y muestra al usuario el resultado de su consulta.