UNIVERSIDAD DE CASTILLA-LA MANCHA ESCUELA SUPERIOR DE INFORMÁTICA

“Rendimiento: Bases de Datos Paralelas y Grid”

Autores:

Javier Portillo Juan Jesus Valero Arroyo Pedro J. López del Río Ignacio de la Cruz Maldonado Manoli del Fresno Flores Jose Enrique Plaza Morales

Asignatura: Fecha:

Modelos Avanzados de Bases de Datos 29/04/08

Rendimiento 2008 Índice
BASES DE DATOS PARALELAS_____________________________________________ __3 1. Introducción._________ _______________________________________________ 3 2. Paralelismo de E/S. ___________________________________________________ 3 2.1 Comparativa entre técnicas de división ____________________________ 4 3. Paralelismo entre consultas._________ ___________________________________ 5 4. Paralelismo en consultas._. _____________________________________________6 4.1. Paralelismo en operaciones___________ __________________________6 4.1.1. Ordenación paralela __________________________________ 7 4.1.2. Reunión paralela _____________________________________ 8 4.1.3. Otras operaciones relacionales __________________________ 9 4.1.4. Coste de la evaluación en paralelo de las operaciones _______ 10 4.2. Paralelismo entre operaciones.__________ _______________________ 10 4.3. Optimización de consultas.________________ ____________________ 11 4.4 Diseño de sistemas paralelos.__________ ________________________ 12 BASES DE DATOS GRID. ___________________________________________________ 13 1. Introducción. ______________________________________________________ 13 2. Grid middleware. ___________________________________________________14 3. Bases de datos GRID. ________________________________________________14 4. Requisitos para la utilización de BBDD en Grid____________________________15 5. Integración de Bases de datos en un sistema Grid___________________________15 6. Ventajas e Inconvenientes de las BBDD en un Sistema GRID_________________17 7. Metadatos en Bases de Datos en un Sistema GRID._________________________18 7.1 ¿Por qué son necesarios los metadatos?___________________________18 7.2. Servicios que describen los metadatos____________________________18 8. Tiempo dedicado al desarrollo del trabajo_________________________________20 9. Bibliografia_________________________________________________________20

2|Página

Las máquinas paralelas con varios procesadores son relativamente baratas.Rendimiento 2008 Bases de Datos Paralelas. En este tipo de división las tuplas de cada relación se dividen entre varios discos de modo que cada tupla resida en un disco distinto. 1. Normalmente la división más común en un entorno de bases de datos paralelas es la división horizontal. • • El paralelismo se usa para mejorar la velocidad en la ejecución de consultas. Existen cuatro arquitecturas de sistemas paralelos: • • • • De memoria compartida: Todos los procesadores comparten una memoria común.Dn1) entre los que se van a dividir los datos. • Las empresas utilizan cada vez mayores volúmenes de datos para planificar sus actividades. Paralelismo de E/S De forma general podemos hablar de paralelismo de E/S cuando hablamos de divisiones en las relaciones entre varios discos para reducir el tiempo necesario de su recuperación. Además los sitios web tienen millones de visitantes para los que se requieren bases de datos enormes. La naturaleza orientada a conjuntos de las consultas se presta a la paralelización. Las consultas usadas para estos fines son de ayuda a la toma de decisiones y pueden necesitar hasta varios terabytes de datos que no se pueden manejar con un único procesador en el tiempo necesario. De discos compartidos: Todos los procesadores comparten un conjunto de discos común. 2. Sin compartimiento: Los procesadores no comparten ni memoria ni disco.D1. Esto se ha debido a: • Los requisitos transaccionales que tienen las empresas han aumentado al mismo tiempo que ha crecido el empleo de computadoras. Introducción De forma general el concepto de paralelismo en las bases de datos lo podríamos definir como la partición de la base de datos (normalmente a nivel de relaciones) para poder procesar de forma paralela en distintos discos y con distintos procesadores una sola operación sobre la base de datos. Además el paralelismo se usa para proporcionar dimensionabilidad ya que la creciente carga de trabajo se trata sin incrementar el tiempo de respuesta pero incrementando el grado de paralelismo.…. Suponiendo que tenemos n discos (D0. existen varias estrategias de división: 3|Página . Hace unos años este tipo de bases de datos estaban casi descartadas pero actualmente casi todas las marcas de bases de datos venden este producto con éxito. Jerárquica: Este modelo es un híbrido de las arquitecturas anteriores.

Consultas de rango: Buscan tuplas con un valor que esté dentro de un rango para un atributo concreto.Rendimiento 2008 • • Turno rotatorio: Se recorre la relación y la i-ésima tupla se envía al disco Di mod n quedando una distribución homogénea de las tuplas en los discos. División por asociación: Se escogen varios atributos del esquema de la relación y se designan como atributos de división. Además de leer de forma completa una relación existen otro tipo de lecturas o consultas: • • • Exploración de la relación completa: Ya mencionada Consultas concretas: Buscan tuplas con un determinado valor para un atributo concreto. Cada tupla de la relación original se asocia en términos de los atributos de división. o Si vi≤x < vi+1 entonces t se ubica en el disco DI+1 • 2. v1. vn-2] el vector de división con i<j y vi<vj.1. la tupla de ubica en el disco DI. Las técnicas de división explicadas permiten estos tipos de acceso pero con diferentes niveles de eficacia: • • Turno rotatorio: Se adapta bien a la exploración completa pero no es eficiente para consultas concretas y de rango ya que tiene que buscar en todos los discos. Considérese una tupla t tal que t[A]=x. o Si x≥vn-2 entonces t se ubica en el disco Dn-1. Para consultas concretas se debe analizar el vector de división para • 4|Página .n-1}. Por lo tanto. Sin embargo no es adecuada esta técnica para consultas concretas cuando el atributo de búsqueda no coincide con el atributo de división. Comparativa entre técnicas de división Cuando ya hemos dividido una relación en varios discos se puede recuperar en paralelo utilizándolos todos de la misma manera que se puede escribir en paralelo cuando se está dividiendo una relación. Para ello se escoge un atributo de división. cuando se quiera leer (o escribir) la relación completa ganaremos tiempo gracias al paralelismo. AD. o Si x< vo entonces t se ubica en el disco Do. División por rangos: Se distribuye rangos contiguos de valores de los atributos a cada disco.…. como vector de división y la relación se divide de la siguiente manera: o Sea [vo. Se escoge una función de asociación cuyo rango es {0. División por asociación: Este esquema se adapta bien a las consultas concretas basadas en el atributo de división ya que dirigimos la consulta al disco que se nos indica la función de asociación para el atributo y el valor del mismo.1. …. División por rangos: Se adapta bien a las consultas concretas y de rango basadas en el atributo de división. También se adapta bien a una exploración completa si la función de asociación reparte bien las tuplas en los discos. Si la función de asociación devuelve i.

En general se prefiere división por asociación o por rangos a turno rotatorio. Cuando un procesador accede a los datos o los actualiza. En la siguiente tabla se resume la comparativa: Técnica División Relación Completa Eficaz Consulta Concreta Ineficaz Consulta Rango Ineficaz de Turno Rotatorio Por Rango - Eficaz si coincide con atributo de división Eficaz si coincide con atributo de división Eficaz si coincide con atributo de división - Por Asociación Eficaz si la función reparte bien las tuplas El problema de las divisiones por asociación es que tienden a almacenar un alto porcentaje de tuplas en algunos discos específicos. El problema de asegurar que la versión sea la última disponible se denomina problema de coherencia de cache. situación que no se da con el turno rotatorio. el sistema de bases de datos debe garantizar que tenga su última versión en la memoria intermedia. Si una relación contiene un número pequeño de tuplas ésta no debe ser dividida y debe almacenarse en un solo disco. Esto se debe a que muchas tuplas contiene valores similares en sus atributos. la elección de la técnica depende de las operaciones que se vayan a ejecutar. Existen una serie de protocolos para garantizar la coherencia de cache. 5|Página . Resumiendo. que normalmente se integran con los de control de concurrencia para reducir la sobrecarga. Paralelismo entre consultas Los sistemas de bases de datos con arquitectura paralela deben asegurar de que dos procesadores no actualicen simultáneamente los mismos datos de manera independiente. 3. Para minimizar este problema se debe de elegir un vector de división equilibrado.Rendimiento 2008 ver en que disco está la tupla al igual que para una consulta de rango se consulta el vector de división para ver en que rango de discos están las tuplas.

Según el tipo de operación se siguen distintos criterios en el tratamiento que son: • • Ordenación Paralela Reunión Paralela. Paralelismo en consultas Es la ejecución en paralelo de una única consulta entre varios procesadores y discos. 6|Página . Paralelismo entre Operaciones. Se puede acelerar el procesamiento de las consulta haciendo paralela la ejecución de cada una de sus operaciones individuales ordenación. guardar dichas relaciones en discos que van a ser gestionados cada uno de ellos por un procesador.1. cuyo objetivo es acelerar las consultas de ejecución prologada. la traslada al disco compartido. obtenga la copia correcta de la página. • Con este protocolo se garantiza que cuando una transacción establece un bloqueo compartido o exclusivo sobre una página. Antes de que una transacción libere el bloqueo exclusivo de una página. proyección y reunión. la transacción lee también su copia mas reciente del disco compartido. posteriormente libera el bloqueo. selección. 4.Rendimiento 2008 Los protocolos de este tipo de sistemas de disco compartido son los siguientes: • Antes de cualquier acceso de lectura o escritura de una página. Inmediatamente después de obtener el bloqueo compartido o exclusivo de la página. las operaciones se pueden paralelizar ejecutándolas sobre subconjuntos diferentes de las relaciones en paralelo. 4. Por tanto se puede hacer paralelas las consultas haciendo paralelas las operaciones que las forman. Se puede acelerar el procesamiento de la consulta ejecutando en paralelo las diferentes operaciones de las expresiones de las consultas. Existen dos maneras de ejecutar en paralelo una sola consulta: • Paralelismo en operaciones. según corresponda. Paralelismo en operaciones Ya que las operaciones relacionales trabajan con relaciones que contienen grandes conjuntos de tuplas. la transacción la bloquea en modo compartido o excluso. a su vez. • Por lo tanto el objetivo que se persigue es dividir la relación que interviene en la consulta por medio de técnicas de división de relaciones. cada procesador ejecuta su consulta local y cada uno de estos resultados parciales se unen para formar la respuesta a la consulta.

Dependiendo del criterio en la división de la relación se pueden distinguir dos tipos de ordenación: Ordenación división de Rangos. Redistribuir las tuplas de la relación utilizando una estrategia de división por rangos. Para implementar en paralelo la división por rangos cada procesador lee las tuplas de su disco y las envía al procesador de destino. El sistema mezcla las partes ordenadas por cada procesador para obtener el resultado ordenado final. de manera que todas las tuplas que se hallen dentro del rango i-ésimo se envíen al procesador Pi. Las etapas que se definen una vez que la relación se ha divida entre los diferentes discos D1.P1… Pn-1 se concatenan para obtener el resultado final. Esta forma de división por rangos posee dos etapas diferenciadas: 1. Cada procesador Pi ordena localmente los datos del disco Di 2. 1. A su vez el paso en el que el sistema realiza la mezcla puede ser también paralelizado mediante la siguiente secuencia de acciones. Envía las tuplas de acuerdo con el orden establecido por lo que cada procesador recibe las tuplas en corrientes ordenadas. Cada procesador Pi. Cada uno de los procesadores ordena localmente su partición de la relación sin interactuar con los demás. La operación final de mezcla es trivial ya que la división por rangos de la primera etapa asegura que los valores de la clave del procesador Pi sean menores que los procesador Pj Ordenación y mezcla externa paralela.1. Este tipo de ordenación es una alternativa a la efectuada por la división por rangos. 2. 3. realiza una mezcla de las corrientes según las recibe para obtener una sola parte ordenada.Rendimiento 2008 4.D2…Dn-a son las siguientes: 1. 7|Página .P1…Pn también recibe las tuplas correspondientes a su partición y las almacena localmente. Cada procesador P0. Ordenación Paralela. que almacena temporalmente la relación en el disco Di. 2. El sistema divide en rangos las particiones ordenadas encada procesador Pi entre los procesadores P0.P1…Pn-1. Las partes ordenadas de los procesadores P0.1.

Después. Reunión por asociación dividida en paralelo.r1. se puede utilizar el algoritmo híbrido de reunión por asociación para guardar en caché algunas de las tuplas de entrada. En este tipo de reuniones pueden paralelizarse utilizando una técnica denominada fragmentos y replicas. Reunión Paralela. y evitar así los costes de escribirlas y volver a leerlas. y recibir las tuplas de ri y de si es parecido a leerlas del disco. División por asociación de los atributos de reunión. La operación reunión exige que el sistema compare pares de tuplas para ver si satisface la condición de reunión. La reunión por división funciona de esta forma: • • El sistema divide las relaciones r y s en n particiones r0. se debe usar la misma función de asociación. en la cual existen n procesadores y las relaciones que hay que reunir son r y s. utilizando cualquier técnica de reunión. si la cumple añade el par al resultado de la reunión. donde la reunión se procesa localmente. como por ejemplo si la condición de reunión es una desigualdad. El procesador Pi procesa localmente la reunión de ri con todos. 8|Página . La reunión por asociación realizada en cada procesador es independiente de las realizadas en otros procesadores.…sn-1 Envía las particiones ri y si al procesador Pi.1. Cada procesador procesa luego localmente parte de la reunión. Existe un problema por el cual no todas los tipos de reuniones pueden ser divididas por lo que existen distintas formas de proceder que son: Reunión por División. incluida por turno rotatorio. el sistema reúne los resultados de cada procesador para producir el resultado final.Rendimiento 2008 4. Válida para reuniones de tipo equirreuniones y reuniones naturales. 1.2. El sistema replica la otra relación r en todos los procesadores 3. Reunión con fragmentos y replicas. El sistema divide una de las relaciones (por ejemplo s) mediante cualquier técnica de división. 2.s1. Los algoritmos de reunión paralela intentan repartir entre varios procesadores los pares que hay que comparar. Proporcionan una alternativa para las reuniones que no puede ser procesada por la técnica de reunión por división. Una vez divididas las relaciones se pueden utilizar localmente cualquier técnica de reunión en cada procesador Pi para calcular la reunión de ri y si. Existen dos maneras diferentes de dividir las relaciones r y s y son • • División por rangos de los atributos de reunión. En concreto. en el que se debe usar el mismo vector de división. cuyo funcionamiento es el siguiente.…rn-1 y s0.

Si la relación ya está dividida basándose en los atributos de agrupación se puede omitir el primer paso. Si la relación r se divide basándose en ai la selección se lleva a cabo en un solo procesador. Proyección. También se puede realizar la eliminación de duplicados en paralelo dividiendo las tuplas (mediante división por rangos o por asociación) y llevando a cabo localmente en cada procesador la eliminación de duplicados. • Eliminación de duplicados. puede utilizarse cualquiera de las técnicas de ordenación en paralelo. que ees una selección de rango) y la relación se ha dividido por rangos basándose en ai. Si e es de la forma l ) ai ) u (es decir. La eliminación de duplicados puede llevarse a cabo por ordenación. En el resto de los casos la selección se lleva a cabo en todos los procesadores en paralelo.Rendimiento 2008 4. Otras operaciones relacionales También se puede realizar en paralelo la evaluación de otras operaciones relacionales: • Selección. Si se va a llevar a cabo la eliminación de duplicados se pueden utilizar las técnicas que se acaban de describir. donde ai es un atributo y v es un valor. Se puede llevar a cabo la proyección sin eliminación de duplicados según se leen en paralelo las tuplas del disco. La agregación puede considerarse una operación.1. Agregación. entonces la selección se lleva a cabo en cada procesador cuya partición se solape con el rango de valores especificado. Se puede utilizar división por rangos o por asociación.3. • • 9|Página . con la optimización de eliminar los duplicados durante la ordenación tan pronto como se encuentren. Se puede paralelizar la operación dividiendo la relación basándose en los atributos de agrupación y procesando luego localmente los valores de agregación en cada procesador. Sea la selección me(r). Considérese primero el caso en el que e es de la forma ai = v.

por ejemplo. El coste en tiempo del procesamiento paralelo sería entonces 1/n el del procesamiento secuencial de la operación. Aunque dividir una sola consulta en varios pasos en paralelo reduce el tamaño del paso medio. Se puede utilizar la resolución del desbordamiento y las técnicas de evitación desarrolladas para las reuniones por asociación para tratar el sesgo cuando se utilice la división por asociación. con algunos procesadores con mayor número de tuplas que otros. sólo es tan rápida como la más lenta de sus ejecuciones en paralelo. La contención de recursos —como la memoria.Rendimiento 2008 4. En los sistemas paralelos el encauzamiento se utiliza principalmente por la misma razón que en los sistemas secuenciales. Paralelismo entre operaciones. El coste de construir el resultado final transmitiendo los resultados parciales desde cada procesador. Paralelismo de encauzamiento. los discos y la red de comunicaciones— que dan lugar a retrasos.4. las operaciones en paralelo que utilicen n procesadores tardarán 1/n lo que tardarían en un solo procesador. Sin embargo. Hay dos formas de paralelismo entre operaciones: el paralelismo de encauzamiento y el paralelismo independiente. el encauzamiento puede utilizarse también como fuente de paralelismo. Ya se sabe cómo estimar el coste de operaciones como la reunión o la selección. El problema del sesgo de la división está íntimamente relacionado con el del desbordamiento de particiones en las reuniones por asociación secuenciales.2. es el tiempo de procesamiento del paso más lento el que determina el tiempo empleado en procesar la consulta en su conjunto. También hay que tener en cuenta los costes siguientes: • • • • Los costes de iniciar la operación en varios procesadores. el rendimiento se ve muy afectado por cualquier sesgo en la distribución del trabajo entre los procesadores. 4. El encauzamiento supone una importante fuente de economía de procesamiento para el procesamiento de consultas de bases de datos. Coste de la evaluación en paralelo de las operaciones Se puede obtener el paralelismo dividiendo la E/S entre varios discos y el trabajo de la UCP entre varios procesadores. La ventaja principal de la ejecución encauzada de las evaluaciones secuenciales es que se puede ejecutar una secuencia de operaciones de ese tipo sin escribir en el disco ninguno de los resultados intermedios. El sesgo en la distribución de trabajo entre los procesadores.1. Si se logra un reparto así sin sobrecarga y no hay sesgo en el reparto del trabajo. Una evaluación en paralelo de las particiones. Por tanto. del mismo modo que el encauzamiento de instrucciones se utiliza como 10 | P á g i n a .

Al igual que el paralelismo encauzado.3. la importancia del encauzamiento como fuente de paralelismo es secundaria respecto de la del paralelismo de particiones. Esta forma de paralelismo se denomina paralelismo independiente. cuando el grado de paralelismo es elevado. En primer lugar. Resulta de mayor importancia el asunto de la paralelización de las consultas. y deben tenerse en consideración aspectos como el sesgo y la contención de recursos. aunque resulta útil con un grado menor de paralelismo.Rendimiento 2008 fuente de paralelismo en el diseño de hardware. En segundo lugar. pero no puede extenderse bien: 1. los modelos de costes son más complicados dado que hay que tener en cuenta los costes de división. 4. Las operaciones en las expresiones de las consultas que son independientes entre sí pueden ejecutarse en paralelo. una tras otra. sólo se obtiene una aceleración marginal en los casos frecuentes en que el coste de ejecución de un operador es mucho mayor que los de los demás operadores. En primer lugar. Los optimizadores de consultas para la evaluación de consultas en paralelo son más complicados que los optimizadores de consultas para la evaluación secuencial de consultas. 11 | P á g i n a . La razón fundamental para utilizar el encauzamiento es que las ejecuciones encauzadas pueden evitar escribir en el disco los resultados intermedios. las operaciones que se ejecuten independientemente en paralelo y las que se ejecuten secuencialmente. 3. 2. no es posible encauzar los operadores de relación que no producen resultados hasta que se ha tenido acceso a todas las entradas. Paralelismo independiente. Las operaciones que se encauzan entre los diferentes procesadores. En tercer lugar. El paralelismo encauzado resulta útil con un número pequeño de procesadores. Un factor importante en el éxito de la tecnología relacional ha sido el diseño con éxito de optimizadores de consultas. como la operación diferencia de conjuntos. Esta forma de paralelismo se denomina paralelismo de encauzamiento. Optimización de consultas. el paralelismo independiente no proporciona un alto grado de paralelismo y es menos útil en sistemas con un elevado nivel de paralelismo. Para evaluar un árbol de operadores en un sistema paralelo hay que tomar las decisiones siguientes: • • El modo en que se paralelice cada operación y el número de procesadores que se utilizará para ello. Por consiguiente. las cadenas del cauce no suelen lograr la longitud suficiente para proporcionar un alto grado de paralelismo. Supóngase que de algún modo se ha escogido una expresión (de entre las equivalentes a la consulta) para utilizarla para evaluar la consulta.

La carga de datos en paralelo desde fuentes externas es un requisito importante si se van a tratar grandes volúmenes de datos entrantes. es inaceptable que los sistemas de bases de datos no estén disponibles mientras se llevan a cabo tales operaciones. y los cambios en los esquemas. Las peticiones de los datos guardados en el emplazamiento con fallo se desvían automáticamente a los emplazamientos de las copias de seguridad que guardan una réplica de los datos. Por tanto. mientras el sistema ejecuta otras transacciones. los sistemas paralelos de bases de datos de gran escala se diseñan para operar incluso si falla un procesador o un disco. como añadir una columna a una relación. Con un gran número de procesadores y de discos la probabilidad de que al menos un procesador o un disco funcionen mal es significativamente mayor que en sistema con un único procesador y un solo disco. las operaciones sencillas. El sistema hace un seguimiento de los procesadores con fallos y distribuye el trabajo entre los que funcionan. Diseño de sistemas paralelos. Un gran sistema paralelo de bases de datos debe abordar también los siguientes aspectos de disponibilidad: • • El poder de recuperación frente al fallo de algunos procesadores o discos La reorganización interactiva de los datos y los cambios de los esquemas. Cuando se manejan grandes volúmenes de datos (del orden de terabytes). Si falla un procesador se puede seguir teniendo acceso desde los demás procesadores a los datos que guarda. pueden tardar mucho tiempo (quizás horas o incluso días). Los datos se replican en al menos dos procesadores. Los sistemas paralelos de bases de datos permiten que tales operaciones se lleven a cabo interactivamente. como la creación de índices. Por tanto.4. es decir. la probabilidad de fallo del sistema asciende.Rendimiento 2008 4. Un sistema paralelo mal diseñado dejará de funcionar si cualquier componente (procesador o disco) falla. Suponiendo que la probabilidad de fallo de cada procesador o disco es pequeña. 12 | P á g i n a .

La tecnología estándar. Introducción. como es el caso de los sistemas Cliente-Servidor sino que el punto de interés y estudio son los recursos computacionales y el uso que se hace de ellos. disco duro o memoria RAM necesitada. introducida por ellos en los años 90. De este modo. Las características de esta arquitectura serían: 13 | P á g i n a . o una de las más utilizadas en su comienzo al menos. Esta tecnología se basa en la utilización de recursos externos además de los locales. no se vera imposibilitado para realizar la tarea deseada ya que podrá hacer uso de recursos ajenos. en la cual los recursos pueden ser heterogéneos (diferentes arquitecturas. Desarrollado en ámbitos científicos a principios de los años 90 su entrada al mercado comercial siguiendo la idea de la llamada Utility Computing supone una revolución que dará mucho que hablar. sin importar la localización del mismo.Rendimiento 2008 Bases de Datos GRID 1. En este sentido es una nueva forma de computación distribuida. Una definición de computación Grid encontrada en la wikipedia es la siguiente: GRID COMPUTING: Es una tecnología innovadora que permite utilizar de forma coordinada todo tipo de recursos (entre ellos cómputo.) y se encuentran conectados mediante redes de área extensa (por ejemplo Internet). el usuario dispone de un computador ficticio con la potencia.. clusters. Otro avance de Grid es que genera un incremento de las posibilidades del uso de internet ya que proporciona un incremento de su usabilidad. podemos decir que con Grid. Grid es una tecnología que surgió como una nueva forma de computación distribuida. un usuario puede hacer uso de recursos libres situados en los computadores que se encuentren dentro de esta red Grid. Por otro lado. Ian Foster y Carl Kesselman son considerados los padres de esta tecnología.. logrando con ello una mayor disponibilidad de recursos para la realización de una tarea. supercomputadores. Como consecuencia del uso de una red Grid. no ponemos atención en los datos que se transmiten en sí. es el Globus Toolkit. almacenamiento y aplicaciones específicas) que no están sujetos a un control centralizado. El objetivo es permitir el uso de recursos libres de otras computadoras localizadas en otro lugar geográfico y que no estén utilizando toda su potencia. De este modo se obtiene una mayor velocidad de procesamiento así como la facilidad de tener bases de datos de mayor tamaño. De este modo alguien que no disponga de la suficiente potencia o recursos en su lugar de trabajo.

En las tecnologías Grid. Reducción de costes: Con esta arquitectura los servicios son gestionados por "granjas de recursos". los dispositivos de almacenamiento y por supuesto la propia red Grid. Las propias bases de datos deben de ser transparentes al usuario. 14 | P á g i n a . se reasignan los servicios en los servidores restantes. provoque el error en toda la red. Esto no implica que la aparición de un error en un equipo y en una localización determinada. es necesario un soporte software que gestione todas las transferencias y el modo en que se realizan. lo que significa que las bases de datos deben poseer sistemas de seguridad que identifiquen a un usuario del Grid y que por tanto permitan o no su acceso. orientadas a objetos. Por otro lado la especificación de los servicios de bases de datos deben ser ortogonales a los mecanismos de autentificación y autorización de los sistemas Grid. Es decir. solo necesita que se haga y debe ser el Grid middleware quien se ocupe de que se efectúe correctamente. en XML. Del mismo modo. logrando así que este se abstraiga de todo lo relacionado con el como se hace. donde o incluso que recursos o almacenamiento esta siendo utilizado. Bases de Datos GRID. Las Bases de Datos Grid nos proporcionan una visión uniforme de bases de datos heterogéneas en los entornos Grid. etcétera. ya que la capacidad se puede reasignar desde la granja de recursos a donde se necesite. Ya no es necesario disponer de "grandes servidores" y podremos hacer uso de componentes de bajo coste. Alta disponibilidad. todo esto resulta una tarea complicada y no exenta de posibles errores. no deberá preocuparse por la administración de los recursos. 2. Con la nueva funcionalidad. 3. si un servidor falla. puesto que existen diversos tipos de bases de datos. GRID Middleware. asi como la seguridad. nuestro sistema nos tiene que proporcionar la abstracción necesaria de los datos para que el usuario no distinga entre si esta accediendo a una relacional o a una orientada a objetos. además de tenerse en cuenta el hardware como son los recursos.Rendimiento 2008 • • • Capacidad de balanceo de sistemas: no habría necesidad de calcular la capacidad de los sistemas en función de los picos de trabajo. ya que el usuario no le importa como se realice el trabajo. refiriéndonos con ellos a que éstas pueden ser relacionales.

Rendimiento 2008 4. Encriptación: o Simétrica: El proceso de encriptación se realiza usando la misma clave privada. Estos servicios fundamentales se garantizan mediante: • • GRID Security Infrastructure (GSI) Public Key Infrastructure (PKI) 5. Inconvenientes: El emisor y el receptor deben intercambiar la clave. Algunos aspectos claves de la seguridad en el GRID son: • • • • Autentificación: Verificación de la validez de la identidad de un usuario. Integración de Base de Datos en un Sistema GRID En los sistemas de bases de datos Grid los servicios ofrecidos deben estar. Autentificación Mutua: Dos entidades que quieren comunicarse usan su clave pública • • • • almacenada en un certificado digital para autentificarse... De esta forma podemos aumentar la 15 | P á g i n a . Secure Socket Layer/ Transport Layer Security (SSL/ TLS): Protocolo de comunicación segura. Confidencialidad: Información sensible como puede ser información de carácter personal. Criptografía de clave publica. Aparición de patrones que puede simplificar su criptoanálisis. y decimos en la medida de lo posible ya que resulta imposible que todos los servicios se estandaricen debido a la existencia de distintos tipos de bases de datos que pueden existir en el sistema y que pueden estar usando lenguajes diferentes que no pueden ser integrados en un único lenguaje debido a su naturaleza. Requisitos para la utilización de BBDD en GRID Para utilizar Base de Datos en el GRID. Gestión de claves: Hace referencia a la gestión de seguridad. Integridad: Asegura que los datos no han sido alterados fraudulentamente. como son las normas de seguridad en un GRID. proceso de distribución. estas primeramente deben de cumplir una serie de condiciones previas. servicio. orientación sexual. o Asimétrica: Se utilizan dos claves diferentes para encriptar y desencriptar datos. generación y almacenamiento de claves. no puede ser observada por terceros. datos médicos o bancarios. en la medida de lo posible estandarizados. recurso. Lentitud considerable en mensajes grandes. Autorización: Cada recurso o usuario solo debe usar los servicios para los que esta permitido (control de acceso).

la información recuperada del DBS se pueda procesar por el superordenador. El sistema gestor de bases de datos (SGBD) va a ser el encargado de saber que servicios ofrece cada una de las bases de datos. Nos dan la información sobre los servicios que ofrece el sistema. que operaciones se pueden realizar sobre ellas y de gestionar los permisos de acceso a cada una. cuando los usuarios del sistema soliciten un servicio no saben en que sistema está y mediante los metadatos el se pueden construir dinámicamente las interfaces para acceder a los distintos sistemas de bases de datos que forman parte del Grid. red). Otra de las ventajas de estandarizar siempre es reducir el esfuerzo de construcción del sistema. Los servicios que cada sistema debe tener disponibles dentro del Grid son los siguientes: • Metadatos. Como hemos comentado más arriba los lenguajes pueden ser diferentes. La forma más sencilla de que este servicio se ponga en funcionamiento es que el sistema gestor de base de datos subyacente proporcione la ayuda necesaria. se requieren mecanismos con suficientes recursos (discos. Se debe permitir por ejemplo que cuando un superordenador conecte con un DBS. Por eso en los metadatos se proporciona la información necesaria sobre el lenguaje de consulta que soporta cada base de datos. Transacciones. También es importante que los resultados de una consulta se puedan enviar a distintos destinos y que sean comprensibles por éstos para poder construir sistemas más amplios y complejos. o Carga del sistema o carga de datos. memoria. Del mismo modo podremos saber las operaciones que soporta cada uno. Planificación. Sirve para notificar los cambios que se producen a los clientes que deseen recibir esa información. CPUs. Los clientes deben poder expresar si están interesados en recibir las notificaciones cuando se inserten o se borren datos o cuando se realicen actualizaciones o en caso de varias acciones como insertar y actualizar. Además. Con los metadatos lo que conseguimos es que cada sistema que se conecta al Grid pueda comunicar al resto los servicios que ofrece. Manejo de consultas. debido sobre todo a la heterogeneidad de los sistemas individuales que lo componen. Con lo mencionado anteriormente se hace imprescindible la presencia de los metadatos en este tipo de sistemas. El ancho de banda en la red que los conecta necesita ser reservada. por ejemplo mediante disparadores.Rendimiento 2008 portabilidad de dichos sistemas. Cuando tenemos grandes cantidades de taos este tipo de servicio debe ser capaz de acceder a los protocolos de comunicación del sistema Grid para llevar a cabo la transferencia de esos datos. Estas operaciones son en las que interviene un único sistema de base de datos y a su vez que cada sistema individual tome parte en las transacciones distribuidas. hace que el servicio deba poner claramente en conocimiento del resto cual es el tipo de transacciones que soporta el sistema individual de base de datos. Como el acceso exclusivo a un DBS no es práctico. • • • 16 | P á g i n a . o Notificación. La gran variedad de tipos de transacciones que maneja el sistema gestor de base de datos de un sistema Grid.

si tenemos disponibilidad de un conjunto de máquinas heterogéneas de pequeño o mediano porte. sino también personas y aptitudes diversas. La Computación GRID está creada con el fin de ofrecer una solución a determinadas cuestiones. acceder y gestionar información. Pero. o Ejemplo: ordenadores que normalmente se encuentran inutilizados por la noche en una compañía en Europa. eso permitiría generar sistemas distribuidos de muy bajo coste y gran potencia computacional. aunando no sólo recursos tecnológicos dispares. ya que una máquina paralela es muy costosa. o Las empresas pueden mejorar la calidad y el tiempo de entrega de los productos y servicios que ofrecen. en donde enormes cantidades de información son generadas y analizadas casi a diario. datos y almacenamiento que necesiten. Las principales ventajas de un sistema GRID son: • Nunca queda obsoleta. cuya potencia computacional sumada sea considerable. Esto es de gran importancia en las empresas que se dedican a la investigación. a la vez que reducen costes de TI al permitir la colaboración transparente y la compartición de recursos.Rendimiento 2008 6. Ventajas e Inconvenientes de las BBDD en un Sistema GRID Las bases de datos alojadas en un sistema GRID van a heredar todas las características: ventajas e inconvenientes del sistema al que pertenecen. • El paralelismo puede estar visto como un problema. o Se aprovechan los ciclos de procesamiento inutilizados de ordenadores que se encuentran en diversas zonas geográficas. se pueden incorporar las antiguas y las nuevas. como problemas que requieren de: • Un gran número de ciclos de procesamiento o • Un acceso a una gran cantidad de datos. capaz de responder a desastres. • • • 17 | P á g i n a . el sistema lo reconoce y la tarea se reenvía a otra máquina. cuando los necesiten. podrían ser utilizados en el día por una sede de operaciones en América. o Permite a las empresas acceder y compartir bases de datos remotas. Tiende a incrementar la productividad otorgando a los usuarios finales acceso a los recursos de computación. Así se obtiene una tecnología más robusta y resistente. mediante la colaboración y la flexibilidad operacional. con lo cual se cumple el objetivo de crear infraestructuras operativas flexibles y resistentes. ya que se integran diferentes tipos de máquinas y de recursos y todos los recursos se aprovechan. La tolerancia a fallos significa que si una de las máquinas que forman parte del GRID colapsa. Facilita la posibilidad de compartir. Si se renuevan todas las PCs de una oficina.

Otra de las ventajas de estandarizar es reducir el esfuerzo de construcción del sistema. Del mismo modo podremos saber las operaciones que soporta cada uno. de diferentes servicios como Internet. o Asegura un acceso optimizado a los datos (incluyendo copias locales/ cache…) o Comprueba la autorización del usuario. 7. cuando los usuarios del sistema soliciten un servicio no saben en qué sistema está y 18 | P á g i n a . servidores de capacidad. Los servicios que cada sistema debe tener disponibles dentro del GRID son los siguientes: • Metadatos. firewalls. en la medida de lo posible estandarizados ya que resulta imposible que todos los servicios se estandaricen debido a la existencia de distintos tipos de bases de datos en el sistema GRID y que pueden estar usando lenguajes diferentes que no pueden ser integrados en un único lenguaje. o Además. con banda ancha. conexiones de 24 horas. 7. Nos dan la información sobre los servicios que ofrece el sistema. seguridad informática. VPN. Además. los 365 días.2.1. o Monitoriza la ejecución. si es posible monitoriza el trabajo Los principales inconvenientes de un sistema GRID son: • Necesita para mantener su estructura. Con lo mencionado anteriormente se hace imprescindible la presencia de los metadatos en este tipo de sistemas. ¿Por qué son necesarios los metadatos? En los sistemas de bases de datos GRID los servicios ofrecidos deben estar. normas ISO.Rendimiento 2008 Por tanto se puede decir que un sistema GRID proporciona: Una forma transparente de ejecutar el trabajo que se desea: o Encuentra los recursos (maquinas) disponibles. Metadatos en Bases de Datos en un Sistema GRID. que operaciones se pueden realizar sobre ellas y de gestionar los permisos de acceso a cada una. encriptación. políticas de seguridad. El sistema gestor de bases de datos (SGBD) va a ser el encargado de saber que servicios ofrece cada una de las bases de datos. y algunas características más… • 7. De esta forma podemos aumentar la portabilidad de dichos sistemas. comunicaciones seguras. Servicios que describen los metadatos. Con los metadatos lo que conseguimos es que cada sistema que se conecta al GRID pueda comunicar al resto los servicios que ofrece.

se requieren mecanismos con suficientes recursos (discos. por ejemplo mediante disparadores. red). Como hemos comentado más arriba los lenguajes pueden ser diferentes. La forma más sencilla de que este servicio se ponga en funcionamiento es que el sistema gestor de base de datos subyacente proporcione la ayuda necesaria. Estas operaciones son en las que interviene un único sistema de base de datos y a su vez que cada sistema individual tome parte en las transacciones distribuidas. Como el acceso exclusivo a un sistema de base de datos no es práctico. Se debe permitir por ejemplo que cuando un superordenador conecte con un sistema de base de datos. • Manejo de consultas.Rendimiento 2008 mediante los metadatos se pueden construir dinámicamente las interfaces para acceder a los distintos sistemas de bases de datos que forman parte del GRID. o Notificación. debido sobre todo a la heterogeneidad de los sistemas individuales que lo componen. La gran variedad de tipos de transacciones que maneja el sistema gestor de base de datos de un sistema GRID. El ancho de banda en la red que los conecta necesita ser reservada. Por eso en los metadatos se proporciona la información necesaria sobre el lenguaje de consulta que soporta cada base de datos. Cuando tenemos grandes cantidades de taos este tipo de servicio debe ser capaz de acceder a los protocolos de comunicación del sistema GRID para llevar a cabo la transferencia de esos datos. Los clientes deben poder expresar si están interesados en recibir las notificaciones cuando se inserten o se borren datos o cuando se realicen actualizaciones o en caso de varias acciones como insertar y actualizar. la información recuperada de ese sistema pueda ser procesada por el superordenador. Transacciones. • • 19 | P á g i n a . memoria. hace que el servicio deba poner claramente en conocimiento del resto cual es el tipo de transacciones que soporta el sistema individual de base de datos. Sirve para notificar los cambios que se producen a los clientes que deseen recibir esa información. o Carga del sistema o carga de datos. CPUs. Planificación. También es importante que los resultados de una consulta se puedan enviar a distintos destinos y que sean comprensibles por éstos para poder construir sistemas más amplios y complejos.

gae.gridpp.org/index.es/Top/Presentaciones/SC06/SemanadelaCiencia_UNICAN_v1.Generación del documento: 22 horas 9.org/wiki/Grid_computing http://www.web.com/presentaciones/Grid_cast-B&N.ch/eu-datagrid/ DATABASES AND THE GRID.pdf SilBerschatz.php http://www.. .wikipedia.x=0&Search. Mc Graw Hill.wikipedia.org/setiathome/que.es/profesor/rubensm/Doctorado/Introduccion%20a%20la%20Segu ridad%20en%20un%20GRID.etsit.cern.fdi.es/indico/getFile.org/planetary/articulo.org/wiki/Computaci%C3%B3n_distribuida#Grid http://websearch.edu/query.pdf (http://www. 2002 y 2007. I.error500. An Oracle White Paper.es/bd2/trabajo01.php http://ciencia.astroseti.catedravodafone. University of Chicago [2002] ORACLE DATABASE 10G: THE DATABASE FOR THE GRID.Discusión de contenidos: 6 horas .dbgrid. Sudarshan Fundamentos de Base de Datos (4º y 5º Edición).ucm.es/formacion/seminarios/grid.astroseti.Bibliografía.y=0&qt=middleware&c ol=i2sites&charset=iso-8859-1 http://wiki.pdf http://eu-datagrid.unican. http://es.ifca.upm.Oracle [2003] 20 | P á g i n a .. University of Newcastle [2001] WHAT IS THE GRID? A THREE POINT CHECKLIST.php http://psicosix. Tiempo dedicado al desarrollo del trabajo.pdf) http://www.iespana. ppt http://indico.Búsqueda Bibliográfica: 20 horas .net/garbagecollector/archives/categorias/bases_de_datos/sistema_g estor_de_base_de_datos_sgbd.uk/papers/DAISStatementSpec.ac.php?num=320 http://es.Análisis de la información: 14 horas .ayi-asociados.Rendimiento 2008 8. http://www. España.py/access?contribId=9&resId=1&materialId=slides& confId=75 http://www.internet2. Foster. P. Kort.html http://seti. Watson.html?Search.

Sign up to vote on this title
UsefulNot useful