Está en la página 1de 23

Bases de Datos Corporativas

Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo

BASE DE DATOS DISTRIBUIDAS


Ing. Luis Armando Garca Eliseo lgarciae@uat.edu.mx 2.1 Introduccin a las Bases de Datos Distribuidas En un sistema de bases de datos distribuidas, los datos se almacenan en varios computadores. Los computadores de un sistema distribuido se comunican entre s a travs de diversos medios de comunicacin, tales como cables de alta velocidad o lneas telefnicas. No comparten la memoria principal ni el reloj. Los procesadores de un sistema distribuido pueden variar en cuanto su tamao y funcin. Pueden incluir microcomputadores pequeos, estaciones de trabajo, minicomputadores y sistema de computadores grandes de aplicacin general. Estos procesadores reciben diferentes nombres, tales como localidades, nodos, computadores, dependiendo en el contexto donde se mencionen. Nosotros utilizaremos normalmente el trmino distribucin fsica de estos sistemas. Un sistema distribuido de bases de datos consiste en un conjunto de localidades, cada una de las cuales puede participar en la ejecucin de transacciones que accedan a datos de una o varias localidades. La diferencia principal entre los sistemas de bases de datos centralizados y distribuidos es , que en los primeros, los datos residen en una sola localidad, mientras que en los ltimos, se encuentran en varias localidades. Esta distribucin de los datos es la causa de muchos problemas que se trataran mas adelante. 2.2 Estructura de Bases de Datos Distribuidas localidad para hacer hincapi en la

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo Un sistema de base de datos consiste en un conjunto de localidades, cada una de las cuales mantiene un sistema de base de datos local. Cada localidad puede procesar transacciones locales, es decir, aquellas que slo acceden a datos que residen en esa localidad. Adems, una localidad puede participar en la ejecucin de transacciones globales, es decir, aquellas que acceden a datos de varias localidades. La ejecucin de transacciones globales requiere comunicacin entre las localidades. Las localidades en el sistema pueden conectarse fsicamente de diversas formas. Las distintas configuraciones se representan por medio de grafos cuyos nodos corresponden a las localidades. Una arista del nodo A al nodo B corresponde a una conexin directa entre las dos localidades. En la siguiente figura se ilustran algunas de las configuraciones ms comunes. Las diferencias principales entre estas configuraciones son: Costes de instalacin. El coste de conectar fsicamente las localidades del sistema. Coste de comunicacin. El coste en tiempo y dinero que implica enviar un mensaje desde la localidad A hacia la B. Fiabilidad. La frecuencia con que falla una lnea de comunicacin o una localidad. Disponibilidad La posibilidad de acceder a informacin a pesar de fallos en algunas localidades o lneas de comunicacin.

B B

A C

C E E D
Red parcialmente conectada

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo
Red totalmente conectada

A B E F

A B C D

D
Red con estructura de rbol

Red de estrella

D
Red de Anillo

Las localidades pueden estar dispersas, ya sea por un rea geogrfica extensa (a lo largo de un pas), llamadas redes de larga distancia; o en un rea reducida (en un mismo edificio), llamadas redes de rea local. Para las primeras se utilizan en la comunicacin lneas telefnicas, conexiones de microondas y canales de satlites; mientras que para las segundas se utiliza cables coaxiales de banda base o banda ancha y fibra ptica. 2.3 Consideraciones al distribuir la base de datos

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo Existen varias razones para construir sistemas distribuidos de bases de datos que incluyen compartir la informacin, fiabilidad y disponibilidad y agilizar el procesamiento de las consultas. Pero tambin tiene sus desventajas, como desarrollos de software ms costosos, mayor posibilidad de errores y costos extras de procesamiento. Ventajas de la distribucin de datos

La principal ventaja de los sistemas distribuidos es la capacidad de compartir y acceder a la informacin de una forma fiable y eficaz. Utilizacin compartida de los datos y distribucin del control La ventaja principal de compartir los datos por medio de la distribucin es que cada localidad pueda controlar hasta cierto punto los datos almacenados localmente. En un sistema centralizado, el administrador de base de datos de la localidad central controla la base de datos. En un sistema distribuido existe un administrador global de la base de datos que se encarga de todo el sistema. Parte de esta responsabilidad se delega al administrador de base de datos de cada localidad. Dependiendo del diseo del sistema distribuido, cada administrador local podr tener un grado de autonoma diferente, que se conoce como autonoma local. La posibilidad de contar con autonoma local es en muchos casos una ventaja importante de las bases de datos distribuidas. Fiabilidad y disponibilidad Si se produce un fallo en una localidad de un sistema distribuido, es posible que las dems localidades puedan seguir trabajando. En particular, si los datos se repiten en varias localidades, una transaccin que requiere un dato especfico puede encontrarlo en ms de una localidad. As, el fallo de una localidad no implica necesariamente la desactivacin del sistema.

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo El sistema debe detectar cuando falla una localidad y tomar las medidas necesarias para recuperarse del fallo. El sistema no debe seguir utilizando la localidad que fall. Por ltimo, cuando se recupere o repare esta localidad, debe contarse con mecanismos para reintegrarla al sistema con el mnimo de complicaciones. La disponibilidad es fundamental para los sistemas de bases de datos que se utilizan en aplicaciones de tiempo real. Por ejemplo, si una lnea area no puede tener acceso a la informacin, es posible que pierda clientes a favor de la competencia. Agilizacin del procesamiento de consultas Si una consulta comprende datos de varias localidades, puede ser posible dividir la consulta en varias subconsultas que se ejecuten en paralelo en distintas localidades. Sin embargo, en un sistema distribuido no se comparte la memoria principal, as que no todas las estrategias de interseccin se pueden aplicar en estos sistemas. En los casos en que hay repeticin de los datos, el sistema puede pasar la consulta a las localidades ms ligeras de carga. Desventajas de la distribucin de los datos

La desventaja principal de los sistemas distribuidos es la mayor complejidad que se requiere para garantizar una coordinacin adecuada entre localidades. El aumento de la complejidad se refleja en: Coste del desarrollo de software: es ms difcil estructura un sistema de bases de datos distribuidos y por tanto su coste es menor. Mayor posibilidad de errores: puesto que las localidades del sistema distribuido operan en paralelo, es ms difcil garantizar que los algoritmos sean correctos.

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo Mayor tiempo extra de procesamiento: el intercambio de mensajes y los clculos adicionales son una forma de tiempo extra que no existe en los sistemas centralizados.

Transparencia y Autonoma En la seccin anterior se vio que una relacin r puede almacenarse de varias formas en un sistema de base de datos distribuida. Es esencial que el sistema reduzca al mnimo la necesidad de que el usuario se d cuenta de cmo est almacenada una relacin. Como veremos. Un sistema puede ocultar los detalles de la distribucin de la informacin en la red. Esto se denomina transparencia de la red. La transparencia de la red se relaciona, en algn modo, a la autonoma local. La transparencia de la red es el grado hasta el cual los usuarios del sistema pueden ignorar los detalles del diseo distribuido. La autonoma local es el grado hasta el cual el diseador o administrador de una localidad pueden ser independientes del resto del sistema distribuido. Los temas de transparencia y autonoma sern considerados desde los siguientes puntos de vista: Nombre de los datos. Repeticin de los datos. Fragmentacin de los datos. Localizacin de los fragmentos y copias.

Asignacin de nombres y autonoma local Todo elemento de informacin de una base de datos debe tener un nombre nico. Esta propiedad se asegura fcilmente en una base de datos que no est distribuida. Sin embargo, en una base de dalos distribuida, las distintas localidades deben asegurarse no utilizar el mismo nombre para dos datos diferentes.

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo Una solucin para este problema es requerir que se registren todos los nombres en un asignador central de nombres. Sin embargo, este enfoque tiene varias desventajas: Es posible que el asignador de nombres se convierta en un cuello de botella.. Si el asignador de nombres se cae, es posible que ninguna de las localidades del sistema distribuido pueda seguir trabajando. Se reduce la autonoma local, ya que la asignacin de nombres se controla de forma centralizada. Un enfoque diferente que origina una mayor autonoma local es exigir que cada localidad ponga como prefijo un identificador de localidad a cualquier nombre que genere. Esto garantiza que dos localidades nunca generarn el mismo nombre (ya que cada localidad tiene un identificador nico). Adems, no se requiere un control central. Esta solucin al problema de asignacin de nombres, logra autonoma local, pero no transparencia de la red, ya que se agregan identificadores de localidad a los nombres. As, la relacin depsito podra llamarse localidad17.depsito en vez de depsito simplemente. Cada copia y fragmento de un elemento de informacin deben tener un nombre nico. Es importante que el sistema pueda determinar qu copias son copias del mismo elemento de informacin y qu fragmentos son fragmentos del mismo elemento de informacin. Transparencia de la repeticin y la fragmentacin No es conveniente requerir que los usuarios hagan referencia a una copia especfica de un elemento de informacin. El sistema debe ser el que determine a qu copia debe acceder cuando se le solicite su lectura, y debe modificar todas las copias cuando se produzca una peticin de escritura. Cuando se solicita un dato, no es necesario especificar la copia. El sistema utiliza una tabla-catlogo para determinar cules son todas las copias de ese dato.

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo

De manera similar, no debe exigirse a los usuarios que sepan cmo est fragmentado un elemento de informacin. Es posible que los fragmentos verticales contengan id-tuplas, que representan direcciones de tuplas. Los fragmentos horizontales pueden haberse obtenido por predicados de seleccin complejos. Por tanto, un sistema de bases de datos distribuido debe permitir las consultas que se hagan en trminos de elementos de informacin sin fragmentar. Esto no presenta problemas graves, ya que siempre es posible reconstruir el elemento de informacin original a partir de sus fragmentos. Sin embargo, este proceso puede ser ineficiente. Transparencia de localizacin Si el sistema es transparente en cuanto a repeticin y fragmentacin, se ocultar al usuario gran parte del esquema de la base de datos distribuida. Sin embargo, el componente de los nombres que identifican a la localidad obliga al usuario a darse cuenta del hecho de que cl sistema est distribuido. La transparencia de localizacin se logra creando un conjunto de seudnimos o alias para cada usuario. As, el usuario puede referirse a los datos usando nombres sencillos que el sistema traduce a nombres completos. Con el uso de seudnimos, no ser necesario que el usuario conozca la localizacin fsica de un dato. Adems, el administrador de la base de datos puede cambiar un dato de una localidad a otra sin afectar a los usuarios. Esquema completo de asignacin de nombres Ya vimos que un nombre proporcionado por el usuario debe pasar por varios pasos de traduccin antes de que pueda servir como referencia a una copia especfica de un fragmento determinado en una localidad especfica.

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo Para ilustrar cmo funciona el esquema, consideramos un usuario que se encuentra en la sucursal 1 (L1). Este usuario emplea el seudnimo depsito-local para el fragmento local depsito-F1 de la relacin deposito. Cuando este usuario hace referencia a depsito-local, el subsistema de procesamiento de consultas busca depsito-local en la tabla de seudnimos y la sustituye por Ll.depsito.F1. Es posible que L1.depsito.Fl est repetido. Si es as, debe consultarse la tabla de copias para elegir una copia. Esta copia podra tambin estar fragmentada, lo que hara necesario consultar la tabla de fragmentacin. En la mayor parte de los casos, slo es preciso consultar una o dos tablas.

Transparencia y actualizaciones De alguna forma es ms difcil hacer transparente la base de datos para usuarios que la actualizan que para aquellos que slo leen datos. El problema principal es asegurarse de que se actualizan todas las copias de un dato y tambin los fragmentos afectados. En el caso ms general, el problema de actualizacin de informacin repetida y fragmentada est relacionado con el problema de actualizacin de vistas. 2.5 Diseo de la Bases de datos Distribuidas El diseo de un sistema de base de datos distribuido implica la toma de decisiones sobre la ubicacin de los programas que accedern a la base de datos y sobre los propios datos que constituyen esta ltima, a lo largo de los diferentes puestos que configuren una red de ordenadores. La ubicacin de los programas, a priori, no debera suponer un excesivo problema dado que se puede tener una copia de ellos en cada mquina de la red (de hecho, en este documento se asumir que as es). Sin embargo, cul es la mejor opcin para colocar los datos: en una gran mquina que albergue a todos ellos, encargada de responder a todas las peticiones del resto de las estaciones - sistema de base de datos centralizado -, o podramos pensar en repartir las relaciones, las tablas, por toda la red. En el supuesto que nos

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo decantsemos por esta segunda opcin, qu criterios se deberan seguir para llevar a cabo tal distribucin? Realmente este enfoque ofrecer un mayor rendimiento que el caso centralizado? Podra optarse por alguna otra alternativa? En los prrafos sucesivos se tratar de responder a estas cuestiones. Tradicionalmente se ha clasificado la organizacin de los sistemas de bases de datos distribuidos sobre tres dimensiones: el nivel de comparticin, las caractersticas de acceso a los datos y el nivel de conocimiento de esas caractersticas de acceso (vea la figura 1). El nivel de comparticin presenta tres alternativas: inexistencia, es decir, cada aplicacin y sus datos se ejecutan en un ordenador con ausencia total de comunicacin con otros programas u otros datos; se comparten slo los datos y no los programas, en tal caso existe una rplica de las aplicaciones en cada mquina y los datos viajan por la red; y, se reparten datos y programas, dado un programa ubicado en un determinado sitio, ste puede solicitar un servicio a otro programa localizado en un segundo lugar, el cual podr acceder a los datos situados en un tercer emplazamiento. Como se coment lneas atrs, en este caso se optar por el punto intermedio de comparticin. Respecto a las caractersticas de acceso a los datos existen dos alternativas principalmente: el modo de acceso a los datos que solicitan los usuarios puede ser esttico, es decir, no cambiar a lo largo del tiempo, o bien, dinmico. El lector podr comprender fcilmente la dificultad de encontrar sistemas distribuidos reales que puedan clasificarse como estticos. Sin embargo, lo realmente importante radica, estableciendo el dinamismo como base, cmo de dinmico es, cuntas variaciones sufre a lo largo del tiempo. Esta dimensin establece la relacin entre el diseo de bases de datos distribuidas y el procesamiento de consultas. La tercera clasificacin es el nivel de conocimiento de las caractersticas de acceso. Una posibilidad es, evidentemente, que los diseadores carezcan de informacin alguna sobre cmo los usuarios acceden a la base de datos. Es una posibilidad terica, pero sera muy laborioso abordar el diseo de la base de datos con tal ausencia de informacin. Lo ms prctico sera conocer con detenimiento la forma

10

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo de acceso de los usuarios o, en el caso de su imposibilidad, conformarnos con una informacin parcial de sta. El problema del diseo de bases de datos distribuidas podra enfocarse a travs de esta trama de opciones. En todos los casos, excepto aquel en el que no existe comparticin, aparecern una serie de nuevos problemas que son irrelevantes en el caso centralizado. A la hora de abordar el diseo de una base de datos distribuida podremos optar principalmente por dos tipos de estrategias: la estrategia ascendente y la estrategia descendente. Ambos tipos no son excluyentes, y no resultara extrao a la hora de abordar un trabajo real de diseo de una base de datos que se pudiesen emplear en diferentes etapas del proyecto una u otra estrategia. La estrategia ascendente podra aplicarse en aquel caso donde haya que proceder a un diseo a partir de un nmero de pequeas bases de datos existentes, con el fin de integrarlas en una sola. En este caso se partira de los esquemas conceptuales locales y se trabajara para llegar a conseguir el esquema conceptual global. Aunque este caso se pueda presentar con facilidad en la vida real, se prefiere pensar en el caso donde se parte de cero y se avanza en el desarrollo del trabajo siguiendo la estrategia descendente. La estrategia descendente debera resultar familiar a la persona que posea conocimientos sobre el diseo de bases de datos, exceptuando la fase del diseo de la distribucin. Pese a todo, se resumirn brevemente las etapas por las que se transcurre. Todo comienza con un anlisis de los requisitos que definirn el entorno del sistema en aras a obtener tanto los datos como las necesidades de procesamiento de todos los posibles usuarios del banco de datos. Igualmente, se debern fijar los requisitos del sistema, los objetivos que debe cumplir respecto a unos grados de rendimiento, seguridad, disponibilidad y flexibilidad, sin olvidar el importante aspecto econmico. Como puede observarse, los resultados de este ltimo paso sirven de entrada para dos actividades que se realizan de forma paralela. El diseo de las vistas trata de definir las interfaces para el usuario final y, por otro lado, el diseo conceptual se

11

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo encarga de examinar la empresa para determinar los tipos de entidades y establecer la relacin entre ellas. Existe un vnculo entre el diseo de las vistas y el diseo conceptual. El diseo conceptual puede interpretarse como la integracin de las vistas del usuario, este aspecto es de vital importancia ya que el modelo conceptual debera soportar no slo las aplicaciones existentes, sino que debera estar preparado para futuras aplicaciones. En el diseo conceptual y de las vistas del usuario se especificarn las entidades de datos y se determinarn las aplicaciones que funcionarn sobre la base de datos, as mismo, se recopilarn datos estadsticos o estimaciones sobre la actividad de estas aplicaciones. Dichas estimaciones deberan girar en torno a la frecuencia de acceso, por parte de una aplicacin, a las distintas relaciones de las que hace uso, podra afinarse ms anotando los atributos de la relacin a la que accede. Desarrollado el trabajo hasta aqu, se puede abordar la confeccin del esquema conceptual global. Este esquema y la informacin relativa al acceso a los datos sirven de entrada al paso distintivo: el diseo de la distribucin. El objetivo de esta etapa consiste en disear los esquemas conceptuales locales que se distribuirn a lo largo de todos los puestos del sistema distribuido. Sera posible tratar cada entidad como una unidad de distribucin; en el caso del modelo relacional, cada entidad se corresponde con una relacin. Resulta bastante frecuente dividir cada relacin en subrelaciones menores denominadas fragmentos que luego se ubican en uno u otro sitio. De ah, que el proceso del diseo de la distribucin conste de dos actividades fundamentales: la fragmentacin y la asignacin. El ltimo paso del diseo de la distribucin es el diseo fsico, el cual proyecta los esquemas conceptuales locales sobre los dispositivos de almacenamiento fsico disponibles en los distintos sitios. Las entradas para este paso son los esquemas conceptuales locales y la informacin de acceso a los fragmentos. Por ltimo, se sabe que la actividad de desarrollo y diseo es un tipo de proceso que necesita de una monitorizacin y un ajuste peridicos, para que si se llegan a producir desviaciones, se pueda retornar a alguna de las fases anteriores. Diseo

12

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo

Existen diversas formas de afrontar el problema del diseo de la distribucin. Las ms usuales se muestran en la figura 3. En el primer caso, caso A, los dos procesos fundamentales, la fragmentacin y la asignacin, se abordan de forma simultnea. Esta metodologa se encuentra en desuso, sustituida por el enfoque en dos fases, caso B: la realizacin primeramente de la particin para luego asignar los fragmentos generados. El resto de los casos se comentan en la seccin referente a los distintos tipos de la fragmentacin. Antes de exponer las alternativas existentes de fragmentacin, se desean presentar las ventajas e inconvenientes de esta tcnica. Se ha comentado en la introduccin la conveniencia de descomponer las relaciones de la base de datos en pequeos fragmentos, pero no se ha justificado el hecho ni se han aportado razones para efectuarlo. Por ello, desde este punto se va a intentar aportar las razones necesarias para llevar a cabo esa descomposicin, esa fragmentacin. El principal problema de la fragmentacin radica en encontrar la unidad apropiada de distribucin. Una relacin no es una buena unidad por muchas razones. Primero, las vistas de la aplicacin normalmente son subconjuntos de relaciones. Adems, la localidad de los accesos de las aplicaciones no est definida sobre relaciones enteras pero s sobre subconjuntos de las mismas. Por ello, sera normal considerar como unidad de distribucin a estos subconjuntos de relaciones. Segundo, si las aplicaciones tienen vistas definidas sobre una determinada relacin (considerndola ahora una unidad de distribucin) que reside en varios sitios de la red, se puede optar por dos alternativas. Por un lado, la relacin no estar replicada y se almacena en un nico sitio, o existe rplica en todos o algunos de los sitios en los cuales reside la aplicacin. Las consecuencias de esta estrategia son la generacin de un volumen de accesos remotos innecesario. Adems, se pueden realizar rplicas innecesarias que causen problemas en la ejecucin de las actualizaciones y puede no ser deseable si el espacio de almacenamiento est limitado.

13

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo

Tercero, la descomposicin de una relacin en fragmentos, tratados cada uno de ellos como una unidad de distribucin, permite el proceso concurrente de las transacciones. Tambin la relacin de estas relaciones, normalmente, provocar la ejecucin paralela de una consulta al dividirla en una serie de subconsultas que operar sobre los fragmentos. Pero la fragmentacin tambin acarrea inconvenientes. Si las aplicaciones tienen requisitos tales que prevengan la descomposicin de la relacin en fragmentos mutuamente exclusivos, estas aplicaciones cuyas vistas estn definidas sobre ms de un fragmento pueden sufrir una degradacin en el rendimiento. Por tanto, puede ser necesario recuperar los datos de dos fragmentos y llevar a cabo sobre ellos operacin de unin y punto , lo cual es costoso. Un segundo problema se refiere al control semntico. Como resultado de la fragmentacin los atributos implicados en una dependencia se descomponen en diferentes fragmentos los cuales pueden destinarse a sitios diferentes. En este caso, la sencilla tarea de verificar las dependencias puede resultar una tarea de bsqueda de los datos implicados en un gran nmero de sitios. Tipos de fragmentacin Dado que una relacin se corresponde esencialmente con una tabla y la cuestin consiste en dividirla en fragmentos menores, inmediatamente surgen dos alternativas lgicas para llevar a cabo el proceso: la divisin horizontal y la divisin vertical. La divisin o fragmentacin horizontal trabaja sobre las tuplas, dividiendo la relacin en subrelaciones que contienen un subconjunto de las tuplas que alberga la primera. La fragmentacin vertical, en cambio, se basa en los atributos de la relacin para efectuar la divisin. Estos dos tipos de particin podran considerarse los fundamentales y bsicos. Sin embargo, existen otras alternativas. Fundamentalmente, se habla de fragmentacin mixta o hbrida cuando el proceso de particin hace uso de los dos tipos anteriores. La fragmentacin mixta puede llevarse a cabo de tres formas diferentes: desarrollando primero la fragmentacin

14

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo vertical y, posteriormente, aplicando la particin horizontal sobre los fragmentos verticales (denominada particin VH), o aplicando primero una divisin horizontal para luego, sobre los fragmentos generados, desarrollar una fragmentacin vertical (llamada particin HV), o bien, de forma directa considerando la semntica de las transacciones. Otro enfoque distinto y relativamente nuevo, consiste en aplicar sobre una relacin, de forma simultnea y no secuencial, la fragmentacin horizontal y la fragmentacin vertical; en este caso, se generara una rejilla y los fragmentos formaran las celdas de esa rejilla, cada celda ser exactamente un fragmento vertical y un fragmento horizontal (ntese que en este caso el grado de fragmentacin alcanzado es mximo, y no por ello la descomposicin resultar ms eficiente). Grado de fragmentacin. Cuando se va a fragmentar una base de datos deberamos sopesar qu grado de fragmentacin va a alcanzar, ya que ste ser un factor que influir notablemente en el desarrollo de la ejecucin de las consultas. El grado de fragmentacin puede variar desde una ausencia de la divisin, considerando a las relaciones unidades de fragmentacin; o bien, fragmentar a un grado en el cada tupla o atributo forme un fragmento. Ante estos dos casos extremos, evidentemente se ha de buscar un compromiso intermedio, el cual debera establecerse sobre las caractersticas de las aplicaciones que hacen uso de la base de datos. Dichas caractersticas se podrn formalizar en una serie de parmetros. De acuerdo con sus valores, se podr establecer el grado de fragmentacin del banco de datos. Grado de Fragmentacin Cuando se va a fragmentar una base de datos deberamos sopesar qu grado de fragmentacin va a alcanzar, ya que ste ser un factor que influir notablemente en el desarrollo de la ejecucin de las consultas. El grado de fragmentacin puede variar desde una ausencia de la divisin, considerando a las relaciones unidades de fragmentacin; o bien, fragmentar a un grado en el cada tupla o atributo forme un fragmento. Ante estos dos casos extremos, evidentemente se ha de buscar un

15

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo compromiso intermedio, el cual debera establecerse sobre las caractersticas de las aplicaciones que hacen uso de la base de datos. Dichas caractersticas se podrn formalizar en una serie de parmetros. De acuerdo con sus valores, se podr establecer el grado de fragmentacin del banco de datos. Reglas de correccin de la fragmentacin A continuacin se enuncian las tres reglas que se han de cumplir durante el proceso de fragmentacin, las cuales asegurarn la ausencia de cambios semnticos en la base de datos durante el proceso. Complecin. Si una relacin R se descompone en una serie de fragmentos R1, R2, ..., Rn, cada elemento de datos que pueda encontrarse en R deber poder encontrarse en uno o varios fragmentos Ri. Esta propiedad extremadamente importante asegura que los datos de la relacin global se proyectan sobre los fragmentos sin prdida alguna. Tenga en cuenta que en el caso horizontal el elemento de datos, normalmente, es una tupla, mientras que en el caso vertical es un atributo. Reconstruccin. Si una relacin R se descompone en una serie de fragmentos R1, R2, ..., Rn, puede definirse una operador relacional tal que el operador ser diferente dependiendo de las diferentes formas de fragmentacin. La reconstruccin de la relacin a partir de sus fragmentos asegura la preservacin de las restricciones definidas sobre los datos en forma de dependencias. Disyuncin. Si una relacin R se descompone horizontalmente en una serie de fragmentos R1, R2, ..., Rn, y un elemento de datos di se encuentra en algn fragmento Rj, entonces no se encuentra en otro fragmento Rk (k j). Esta regla asegura que los fragmentos horizontales sean disjuntos. Si una relacin R se descompone verticalmente, sus atributos primarios clave normalmente se repiten en todos sus fragmentos.

16

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo Alternativas de asignacin Partiendo del supuesto que el banco de datos se haya fragmentado correctamente, habr que decidir sobre la manera de asignar los fragmentos a los distintos sitios de la red. Cuando una serie de datos se asignan, stos pueden replicarse para mantener una copia. Las razones para la rplica giran en torno a la seguridad y a la eficiencia de las consultas de lectura. Si existen muchas reproducciones de un elemento de datos, en caso de fallo en el sistema se podra acceder a esos datos ubicados en sitios distintos. Adems, las consultas que acceden a los mismos datos pueden ejecutarse en paralelo, ya que habr copias en diferentes sitios. Por otra parte, la ejecucin de consultas de actualizacin, de escritura, implicara la actualizacin de todas las copias que existan en la red, cuyo proceso puede resultar problemtico y complicado. Por tanto, un buen parmetro para afrontar el grado de rplica consistira en sopesar la cantidad de consultas de lectura que se efectuarn, as como el nmero de consultas de escritura que se llevarn a cabo. En una red donde las consultas que se procesen sean mayoritariamente de lectura, se podra alcanzar un alto grado de rplica, no as en el caso contrario. Una base de datos fragmentada es aquella donde no existe rplica alguna. Los fragmentos se alojan en sitios donde nicamente existe una copia de cada uno de ellos a lo largo de toda la red. En caso de rplica, podemos considerar una base de datos totalmente replicada, donde existe una copia de todo el banco de datos en cada sitio, o considerar una base de datos parcialmente replicada donde existan copias de los fragmentos ubicados en diferentes sitios. El nmero de copias de un fragmento ser una de las posibles entradas a los algoritmos de asignacin, o una variable de decisin cuyo valor lo determine el algoritmo. La figura 5 compara las tres alternativas de rplica con respecto a distintas funciones de un sistema de base de datos distribuido. Rplica total Procesamiento de fcil Rplica parcial dificultad Particin similar

17

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo consultas Gestin del directorio Seguridad Realidad Informacin necesaria Un aspecto importante en el diseo de la distribucin es la cantidad de factores que contribuyen a un diseo ptimo. La organizacin lgica de la base de datos, la localizacin de las aplicaciones, las caractersticas de acceso de las aplicaciones a la base de datos y las caractersticas del sistema en cada sitio, tienen una decisiva influencia sobre la distribucin. La informacin necesaria para el diseo de la distribucin puede dividirse en cuatro categoras: la informacin del banco de datos, la informacin de la aplicacin, la informacin sobre la red de ordenadores y la informacin sobre los ordenadores en s. Las dos ltimas son de carcter cuantitativo y servirn, principalmente, para desarrollar el proceso de asignacin. Se entrar en detalle sobre la informacin empleada cuando se aborden los distintos algoritmos de fragmentacin y asignacin. fcil o inexistente muy alta posible aplicacin dificultad difcil alta realista similar fcil baja posible aplicacin Control de concurrencia moderado

2.6 Procesamiento distribuido de consultas Existen varios medios para calcular la respuesta a una consulta. En el caso de sistemas centralizado, el criterio principal para determinar el costo de una estrategia especfica es el nmero de accesos al disco. En un sistema distribuido es preciso tener en cuenta otros factores, como son: El costo de transmisin de datos en la red.
18

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo

El beneficio potencial que supondra en la ejecucin el que varias localidades procesaran en paralelo partes de la consulta. El costo relativo de la transferencia de datos en la red y la transferencia de datos entre la memoria y el disco vara en forma considerable, dependiendo del tipo de red y de la velocidad de los discos. Por tanto, en un caso general, no podemos tener en cuenta solo los costos del disco o los de la red. Es necesario llegar a un equilibrio adecuado entre los dos. Repeticin y fragmentacin Considere una consulta muy sencilla: encontrar todas las tuplas de la relacin depsito. Aunque la consulta es muy simple, de hecho es trivial; su procesamiento no es trivial, ya que es posible que la relacin depsito est fragmentada, repetido o las dos cosas, como ya se vio. Si la relacin deposito est repetida, es preciso decidir qu copia se va a utilizar. Si ninguna de las copias est fragmentada, se elige la copia que implique costos de transmisin ms reducidos. Pero si una copia est fragmentada, la eleccin no se tan sencilla, ya que es preciso calcular varios productos o uniones para reconstruir la relacin depsito. En tal caso, el nmero de estrategias para este ejemplo sencillo puede ser grande. De hecho, la eleccin de una estrategia puede ser una tarea tan compleja como hacer una consulta arbitraria.

Procesamiento de interseccin simple Considere la expresin en lgebra relacional: cliente x deposito x sucursal Suponemos que ninguna de las tres relaciones est repetida o fragmentada y que cliente est almacenada en la localidad Lc, deposito en la Ld y sucursal en la Lb.

19

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo Sea Li la localidad donde se origin la consulta. El sistema debe producir el resultado en la localidad Li. Entre las posibles estrategias para procesar esta consulta se encuentran las siguientes: Enviar copias de las tres relaciones a la localidad Li. Al emplear las tcnicas de procesamiento de consulta, escoger una estrategia para procesar en forma local la consulta completa en Li. Enviar una copia de la relacin cliente a la localidad Li y calcular cliente x depsito de Ld. Enviar cliente x depsito de Ld a Lb, donde se calcula (cliente x depsito) x sucursal. El resultado de esta operacin es enviado a Li. Pueden elaborarse estrategias similares a la anterior al intercambiar los papeles de Lc, Ld y Lb. No puede garantizarse que una estrategia sea la mejor en todos los casos. entre los factores que deben tomarse en cuenta estn la cantidad de datos que debe transmitirse, el costo de transmitir un bloque de datos entre dos localidades determinadas y la velocidad de procesamiento relativa en cada localidad. Estrategias de interseccin utilizando el paralelismo Considere un producto de cuatro relaciones: r1 x r2 r3 r4 donde la relacin r1 est almacenada en la localidad Li. Suponemos que el resultado ha de presentarse en la localidad Li. Existen, por supuesto muchas estrategias que se pueden considerar. Un mtodo atractivo sera utilizar la estrategia de interseccin encauzada. Por ejemplo, se puede enviar r1 a L2 y calcular r1 x r2 en L2. al mismo tiempo se puede enviar r3 a L4 y calcular r3 x r4 en L4.

20

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo

La localidad L2 puede enviar tuplas de (r1 x r2) a Li conforme se vayan produciendo, en vez de esperar a que se calcule el producto completo. De forma similar, L4 pude enviar tuplas de (r3 x r4) a Li. Una vez que las tuplas de (r1 x r2) y (r3 x r4) lleguen a Li, esta localidad podr empezar el clculo de (r1 x r2) x (r3 x r4) en paralelo con el clculo de (r1 x r2) en L2 y de (r3 x r4) en L4. Estrategia de seminterseccin Suponer que deseamos calcular la expresin r1 x r2, donde r1 y r2 estn almacenados en las localidades L1 y L2 respectivamente. Sean R1 y R2 los esquemas de r1 y r2. Suponer que queremos obtener el resultado en L1. Si hay muchas tuplas de r2 que no interseccionan con ninguna de r1, entonces el envo de r2 a S1 requiere el envo de tuplas que no contribuyen al resultado. Es conveniente borrar tales tuplas antes de enviar los datos a L1, particularmente si los costos de la red son muy elevados. Para hacerlo vemos la siguiente estrategia: Calcular temp1 " r1 " r2 (r1) en L1. enviar temp1 de L1 a L2. Calcular temp2 r2 x temp1 en L2. Enviar temp2 de L2 a L1. Calcular r1 x temp2 en L1. La estrategia anterior es ventajosa particularmente cuando en el producto participan relativamente pocas tuplas de r2. Es probable que suceda esta situacin si r1 es el resultado de una expresin de lgebra relacional que contenga la seleccin. Esta estrategia es conocida como una estrategia de semiproducto, despus del operador de semiproducto, indicado por x, de lgebra relacional. Conclusiones y consideraciones

21

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo A lo largo de este documento se ha intentado dar una visin global y genrica de los problemas y caractersticas que contiene el diseo de una base de datos distribuida. Se ha hecho especial hincapi en las tcnicas de fragmentacin horizontal y vertical a travs de mtodos y algoritmos muy frecuentes en la literatura referida al tema. Se espera que el lector no haya tenido demasiados problemas para su comprensin, las tcnicas son sencillas y se ha procurado incluir distintos ejemplos para facilitar el entendimiento. Igualmente, la puesta en prctica de los algoritmos, es decir, su codificacin, no es un proceso complicado si se poseen nociones en el desarrollo de algoritmos. Piense, por ejemplo, que los dos algoritmos de particin vertical presentados, no hacen ms que manipular matrices. Tambin debera tenerse presente la existencia de enfoques de fragmentacin distintos y, posiblemente, ms complejos, pero se debe pensar que ms eficientes. Sean, por ejemplo, las tcnicas de fragmentacin vertical basadas en grafos, como el algoritmo de Navathe y Ra que genera en un solo paso fragmentos verticales. Adems, estn apareciendo mtodos de fragmentacin mixta como el que se ha comentado. Si bien, estos mtodos son enfoques formales ms que prcticos, desarrollados por insignes investigadores en universidades, por tanto, lejos todava de su desarrollo comercial. Pese a la aparicin de los mtodos de bases de datos distribuidas hace ya aos, parece que el salto de lo centralizado a lo distribuido a escala comercial est por venir. Todava no se ha extendido suficientemente el esquema distribuido, pero se espera que prximamente se produzca el avance definitivo. Considere los dos componentes bsicos de los sistemas de bases de datos distribuidos (la propia base de datos y la red de ordenadores) y piense en la situacin actual de la informtica. Si las bases de datos es una de las ramas ms antiguas e importantes de la informtica, muchas empresas compran ordenadores para dedicarlos exclusivamente a la gestin de sus datos (pienso que, prcticamente, en el 100% de las PYMES se produce este hecho) y, como parece ser que se ha asumido por parte de todo tipo de empresarios los beneficios que acarrea la conexin de los ordenadores, la instalacin de una red, se puede concluir diciendo que el terreno ya

22

Bases de Datos Corporativas


Unidad II.- Bases de Datos Distribuidas Titular: Luis Armando Garca Eliseo est abonado para su extensin comercial. Slo falta que determinadas

multinacionales decidan apostar ms fuerte por este enfoque a travs de sus famosos sistemas gestores de bases de datos y que se produzca la consolidacin de la resolucin de los problemas que el enfoque distribuido acarrea. Como se ver, estas diferencias juegan un papel importante en la eleccin del mecanismo adecuado para manejar la distribucin de los datos. Bibliografa: http://html.rincondelvago.com/bases-de-datos-distribuidas_1.html

23

También podría gustarte