sábado, 5 de septiembre de 2009

Base de Datos paralela

Las Bases de Datos paralelas son aquellas  que se ejecuta sobre múltiples procesadores y discos que han sido previamente diseñados para ejecutar operaciones en paralelo,  con el propósito de mejorar el rendimiento.

Los sistemas paralelos mejoran la velocidad de procesamiento y de E/S mediante la utilización de UCP y discos en paralelo. La fuerza que ha impulsado a los sistemas paralelos de bases de datos ha sido la demanda de aplicaciones que han de manejar bases de datos extremadamente grandes (del orden de terabytes, esto es, 1012 bytes) o que tienen que procesar un número enorme de transacciones por segundo (del orden de miles de transacciones por segundo).

Los sistemas paralelos de base de datos constan de varios procesadores y varios discos conectados a través de una red de interconexión de alta velocidad. Para medir el rendimiento de los sistemas de base de datos existen 2 medidas principales:

1. La productividad que se entiende como el número de tareas que pueden completarse en un intervalo de tiempo determinado.
2. El tiempo de respuesta que es la cantidad de tiempo que necesita para completar una única tarea a partir del momento en que se envíe. Un sistema que procese un gran número de pequeñas transacciones puede mejorar su productividad realizando muchas transacciones en paralelo. Un sistema que procese transacciones más largas puede mejorar tanto su productividad como sus tiempos de respuesta realizando en paralelo cada una de las subtareas de cada transacción.

Modelos de Arquitectura

* Memoria compartida. Todos los procesadores comparten una memoria común.
* Disco compartido. Todos los procesadores comparten un disco común.
* Sin compartimiento. Los procesadores no comparten ni memoria ni disco.
* Jerárquico. Es un híbrido de las anteriores.


El objetivo del paralelismo en los sistemas de bases de datos suele ser asegurar que la ejecución del sistema continuará realizándose a una velocidad aceptable, incluso en el caso de que aumente el tamaño de la base de datos o el número de transacciones (ampliabilidad).

Factores negativos de Paralelismo

Estos pueden atenuar tanto la ganancia de velocidad como la ampliabilidad:

* Costes de inicio. El inicio de un único proceso lleva asociado un coste de inicio.
* Interferencia. Como los procesos que se ejecutan en un sistema paralelo acceden con
frecuencia a recursos compartidos, pueden sufrir un cierto retardo como consecuencia de la esta.
* Sesgo. Al dividir cada tarea en un cierto número de pasos paralelos se reduce el tamaño del paso medio. Normalmente es difícil dividir una tarea en partes exactamente iguales, entonces se dice que la forma de distribución de los tamaños es sesgada.

Base de Datos Distribuida



      Básicamente una Base de Datos Distribuida o (BDD) no es mas que una colección de datos (base de   datos)construida sobre una red y que pertenecen, lógicamente, a un solo sistema distribuido, la cual cumple
  las siguientes condiciones:
-   La información de la base de datos esta almacenada físicamente en diferentes sitios de la red. 
-   En cada sitio de la red, la parte de la información, se constituye como una base de datos en sí misma.
-    Las bases de datos locales tienen sus propios usuarios locales, sus propios DBMS y programas para la administración de transacciones, y su propio administrador local de comunicación de datos.
-   Estas base de datos locales deben de tener una extensión, que gestione las funciones de sociedad necesarias; la combinación de estos componentes con los sistemas de administración de base de datos locales, es lo que se conoce como Sistema Administrador de Base de Datos Distribuidas.
-    Este gestor global permite que usuarios puedan acceder a los datos desde cualquier punto de la red, como si lo hicieran con los datos de su base de datos local, es decir, para el usuario, no debe existir diferencia en trabajar con datos locales o datos de otros sitios de la red.
-    En consecuencia, la base de datos distribuida, es como una unidad virtual, cuyas partes se almacenan físicamente en varias bases de datos "reales" distintas, ubicadas en diferentes sitios como veremos en la siguiente imagen.