You are on page 1of 13

Diseo de bases de datos distribuidas La organizacin de sistemas distribuidos puede ser investigada a lo largo de tres dimensiones ortogonales segn

Levin & Morgan. Estos tres niveles son: 1. Nivel de distribucin 2. Comportamiento de los patrones de acceso. 3. Nivel de conocimiento en el comportamiento del patrn de acceso.

La imagen representa los tres niveles a lo largo de las dimensiones. En trminos del nivel de distribucin hay tres posibilidades. Primero: Que no haya distribucin; cada aplicacin y sus datos se ejecutan en un sitio y no hay comunicacin con algn otro programa o acceso a algn archivo de datos de otro sitio. Esto caracterizaba a los primeros das de trabajo en red pero ya no es tan comn en nuestros tiempos. Segundo: Distribucin de datos; Todos los programas son replicados en todos los sitios pero no los archivos de datos por consiguiente las peticiones de los usuarios son manejadas en el sitio donde fueron originados y solo los archivos de datos necesarios son movidos alrededor de la red. Datos + programas: los archivos de datos y los programas pueden ser compartidos. En el diagrama se muestra una distincin entre la distribucin de datos y la distribucin de datos + programas ilustrando las diferencias entre sistemas de computadora distribuidos homogneos y heterogneos. Indica correctamente que en un ambiente heterogneo es ms difcil e incluso imposible ejecutar un programa dado en diferente hardware bajo un diferente sistema operativo. A lo largo de la segunda dimensin del comportamiento de los patrones de acceso es posible identificar dos alternativas. Los patrones de acceso de peticiones de usuarios puede ser esttico, es decir que no cambian en el tiempo, o dinmico.

A lo largo de la tercera dimensin tenemos el nivel de conocimiento del comportamiento de los patrones de acceso. Podemos plantear la opcin de que el desarrollador no conozca nada acerca de estos patrones pero sera difcil construir un DBMS que cubriera esta cuestin sin informacin previa por eso, y para que sea ms fcil es necesario que el diseador o desarrollador tenga la informacin completa. Primero: Que no haya distribucin; cada aplicacin y sus datos se ejecutan en un sitio y no hay comunicacin con algn otro programa o acceso a algn archivo de datos de otro sitio. Esto caracterizaba a los primeros das de trabajo en red pero ya no es tan comn en nuestros tiempos. Segundo: Distribucin de datos; Todos los programas son replicados en todos los sitios pero no los archivos de datos por consiguiente las peticiones de los usuarios son manejadas en el sitio donde fueron originados y solo los archivos de datos necesarios son movidos alrededor de la red. Datos + programas: los archivos de datos y los programas pueden ser compartidos. En el diagrama se muestra una distincin entre la distribucin de datos y la distribucin de datos + programas ilustrando las diferencias entre sistemas de computadora distribuidos homogneos y heterogneos. Indica correctamente que en un ambiente heterogneo es ms difcil e incluso imposible ejecutar un programa dado en diferente hardware bajo un diferente sistema operativo. A lo largo de la segunda dimensin del comportamiento de los patrones de acceso es posible identificar dos alternativas. Los patrones de acceso de peticiones de usuarios puede ser esttico, es decir que no cambian en el tiempo, o dinmico. A lo largo de la tercera dimensin tenemos el nivel de conocimiento del comportamiento de los patrones de acceso. Se puede plantear la opcin de que el desarrollador no conozca nada acerca de estos patrones pero sera difcil construir un DBMS que cubriera esta cuestin sin informacin previa por eso, y para que sea mas fcil, es necesario que el diseador o desarrollador tenga la informacin completa. Se consideraran estrategias para el diseo de base de datos que se usan comnmente son principalmente dos enfoques. El enfoque Up-Down y el enfoque Bottom-Up que como su nombre lo indica son enfoques muy diferentes para el proceso de diseo pero como la mayora de los diseadores de software saben es muy raro que sea suficiente que una aplicacin se ajuste perfectamente a uno de estos dos enfoques. Proceso de diseo Top-Down La actividad para este proceso de diseo comienza con el anlisis de requerimientos que define el ambiente del sistema y determina tanto las necesidades de los datos como las del proceso. Con respecto al DBMS este es definido en base al desempeo, la confiabilidad y disponibilidad, economa y flexibilidad. El documento resultante de el anlisis de requerimientos es la entrada para el desarrollo de dos actividades paralelas que son el diseo conceptual y el diseo visual. El diseo visual se encarga de definir las interfaces para el usuario final, mientras que el diseo conceptual es el proceso por el cual la empresa es examinada para determinar los tipos de entidades y las relaciones entre esas entidades. En ambas actividades de diseo el usuario necesita especificar las entidades de datos y debe determinar la aplicacin que correr en a base de datos as como la informacin esttica acerca de la aplicacin.

El esquema conceptual global y la informacin de los patrones de acceso recopilados como resultado del diseo visual son entradas para el diseo de la distribucin. El objetivo en esta etapa es disear el esquema local conceptual distribuyendo las entidades sobre los sitios del sistema distribuido. Las relaciones distribuidas son comnmente divididas en sub-relaciones llamadas fragmentos los cuales estarn distribuidos. As entonces la actividad de diseo de distribucin consiste en dos pasos: Fragmentacin y asignacin. El ltimo paso en este proceso de diseo es el diseo fsico, en el cual mapeamos los esquemas conceptuales locales con los dispositivos de almacenamiento fsicos disponibles en los sitios correspondientes.
Global Schema

Fragmentation Schema

Allocation Schema

Local Mapping Schema

............

Local Mapping Schema

DataBase Manager System

DataBase Manager System

Local Database Sitio 1

............

Local Database

Sitio n

Proceso de diseo Bottom-Up Este tipo de proceso es conveniente cuando las bases de datos ya existen y las tareas del proceso de diseo involucran integrarlas en una sola base de datos. El punto de inicio de este proceso son los esquemas conceptuales locales individuales; el proceso consiste en integrar esos esquemas en un esquema conceptual global.
Global Schema

Schema Integration

Itermediate Schema Translator

............

Itermediate Schema Translator Local Conceptual Schema

Local Conceptual Schema

Problemas en el diseo de la distribucin Ya se haba mencionado anteriormente la necesidad de fragmentar pero no tenemos una idea clara de cmo y para qu hacerlo. Para comenzar sera bueno que contestramos las siguientes preguntas con respecto a la fragmentacin las cuales estn interrelacionadas. Por qu fragmentar?, Cmo deberamos fragmentar?, Qu tanto deberamos fragmentar?, Hay alguna forma de probar las correcciones de la descomposicin?, Cmo deberamos asignar?, Cul es la informacin necesaria para la fragmentacin y la asignacin? Razones para la fragmentacin Desde el punto de vista de la distribucin de datos no hay realmente una razn para la fragmentacin despus de todo en sistemas distribuidos la distribucin es realizada en la base de los archivos completos. Pero con respecto a la fragmentacin es necesaria debido a tres aspectos: 1. Encontrar la unidad de relacin apropiada; ya que el acceso a la aplicacin no se hace en la totalidad de las relaciones de la base pero si de un subconjunto de ellas. 2. Si tenemos las sub-relaciones como unidades de relacin cuando tratemos de accesar a datos que estn en otros sitios ser ms conveniente hacer la replicacin de los datos que estn en las subrelaciones en lugar de traer los datos de todas las relaciones. 3. Si tomamos las sub-relaciones como unidades de relacin se pueden ejecutar una cantidad de transacciones concurrentemente, adems la fragmentacin de relaciones tpicamente resulta en la ejecucin paralela de un nico query dividindolo en sub-queries que operan sobre los fragmentos. Pero como en todo hay costes y uno de ellos es que si necesitamos recuperar datos de dos fragmentos los obtenemos pero despus tendremos que unirlos y esto es costoso evitar esto es una de las principales problemticas de la fragmentacin. El segundo problema es referido al control de la semntica de los datos, especialmente en la revisin de la integridad. Alternativas de fragmentacin. Esencialmente las instancias de relacin son tablas y una de las situaciones es encontrar un mtodo o forma de convertir la tabla completa en sub-tablas ms pequeas. Tenemos dos alternativas para esto, dividirlas en forma horizontal o en forma vertical. La fragmentacin horizontal se da sobre las tuplas y la fragmentacin vertical se da sobre los atributos. Si se usa ms de una fragmentacin estas deben estar anidadas y si se utilizan fragmentaciones anidadas de diferentes tipos la fragmentacin se convierte en una fragmentacin hibrida. Grado de la fragmentacin El grado al cual debera ser fragmentada la base de datos es una decisin importante que afecta al desempeo de la ejecucin del query.

El grado de fragmentacin depender de las necesidades de nuestra aplicacin la cual correr en la base de datos, ahora que hemos visto los contras de tener fragmentos grandes o muy pequeos, nos tocara decidir el grado al que se fragmentara y ajustar nuestra aplicacin para que pueda funcionar con la fragmentacin. Correccin de las reglas en la fragmentacin. Hay tres reglas importantes que debemos reforzar cuando se va a realizar la fragmentacin: 1. Completitud: Esta referida a una descomposicin sin prdida de datos, es decir que se asegure que los datos en una relacin global pueden ser mapeados en fragmentos si ningn tipo de perdida. 2. Reconstruccin: la posibilidad de reconstruccin de una relacin global a partir de fragmentos de relaciones asegura que las restricciones definidas sobre los datos en forma de dependencias sean preservadas. 3. Disyuncin: Dice que si particionamos la relacin de forma horizontal un dato que tengamos en un fragmento no debe estar presente en algn otro de los fragmentos de la relacin. Alternativas de Asignacin. Esto se refiere a la forma en cmo asignaremos los fragmentos de las relaciones en cada uno de los sitios teniendo ya bien realizada nuestra fragmentacin. Cuando los datos son asignados estos quizs tambin sean replicados o mantenidos como una sola copia. La razn para la replicacin es confiabilidad y eficiencia de queries de solo lectura. Por otro lado en un sistema con replicacin los queries de actualizacin causaran problemas ya que el sistema debe asegurarse de que todas las copias de los datos sean correctamente actualizadas. Una base de datos no replicada comnmente es llamada base de datos particionada contiene fragmentos que son asignados en sitios y hay solo una copia de cualquiera de los fragmentos en la red. Requerimientos de informacin. En el proceso de diseo de la distribucin existen bastantes factores que contribuyen a un diseo optimo pero que a su vez causan complejidad a la hora de plantear un problema de distribucin; algunos de estos aspectos son : La organizacin lgica de las bases de datos La localizacin de las aplicaciones Las caractersticas de acceso de la aplicacin a la base de datos.

Fragmentacin horizontal. Como se explico anteriormente la fragmentacin horizontal est relacionada a la particin a lo largo de las tuplas; as cada fragmento tiene un subconjunto de las tuplas de la relacin. Fragmentacin horizontal primaria: esta es llevada a cabo usando predicados que estn definidos en la relacin.

Fragmentacin horizontal derivada: es la particin de las relaciones que resulta de predicados que han sido definidos en otras relaciones. Requerimientos de informacin de una fragmentacin horizontal Informacin acerca de la base de datos: Concierne a la informacin del esquema conceptual global de la base de datos, en este contexto es importante notar cmo estn conectadas las relaciones de la base de datos una con otra. Las conexiones entre los objetos de la base de datos en este caso llamadas relaciones deben ser absolutamente familiares para los que han manejado modelos de sistemas de bases de datos. La relacin al final de la conexin es llamada propietario de la conexin y la relacin que esta en la cabeza de la conexin es llamada miembro. Fragmentacin horizontal primaria sta est definida por una operacin de seleccin en las relaciones propietario del esquema de una base de datos, por lo tanto en una relacin dada Ri sus fragmentos horizontales estn dados por

Donde Fi es la frmula de seleccin usada para obtener el fragmento Ri. ntese que si Fi es una forma normal conjuntiva donde se exige que Fi sea un predicado de minterms1 Fragmentacin horizontal derivada Una fragmentacin horizontal derivada est definida sobre una relacin miembro de una conexin de acuerdo a una operacin de seleccin: propietario. Es importante recordar dos cosas. especificada por su

1. La conexin entre las relaciones de propietario y miembro estn definidas como un equi-join. 2. Un equi-join puede ser implementado por su significado de semijoins. El segundo punto es importante para nosotros ya que queremos particionar una relacin miembro de acuerdo a la fragmentacin de su propietario. Pero tambin queremos que el fragmento resultante sea definido solo sobre los atributos de las relaciones miembro. Por lo tanto dada una conexin miembro L donde el propietario de (L) =S y miembro de (L) es Ri los fragmentos horizontales derivados de R estn definidos como:

Donde es el mximo nmero de fragmentos que sern definidos en R, y = ( ), donde Fi es la frmula de acuerdo a la cual la fragmentacin horizontal primaria Si est definida. Es decir, la fragmentacin derivada es una seleccin en funcin de predicados definidos sobre atributos de otras relaciones o fragmentos; esto se debe a que la relacin R a fragmentar depende de la relacin Q. Adems, R hace referencia a Q mediante una clave

ajena. La fragmentacin se realiza mediante la operacin Ri = R Qi donde Qi corresponde al conjunto de fragmentos en los que se ha dividido la relacin Q. La semicombinacion ( ) se hace por el atributo que relacionan estas dos tablas.

Revisin de correcciones. Ahora debemos revisar los algoritmos de fragmentacin respecto a los 3 criterios de correccin descritos antes: Para que la fragmentacin horizontal sea correcta se tiene que cumplir que: La unin de todos los Ri sea la relacin original (R). La interseccin de todos los Ri sea vaca. La relacin original se recupera mediante UNION de los fragmentos.

Figura 1: Esquema de una fragmentacin horizontal. Fragmentacin vertical La fragmentacin vertical produce fragmentos los cuales contienen un subconjunto de los atributos as como la clave principal de la relacin. El objetivo de este tipo de fragmentaciones es particionar una relacin en un conjunto de relaciones ms pequeas tal que otras de las aplicaciones de los usuarios corrern en solo un fragmento. El particionamiento vertical es inherentemente ms complicado que el horizontal ya que en el horizontal si el nmero total de predicados simples es n hay 2n posibles predicados minterms que pueden ser definidos en ellos. Sin embargo para la fragmentacin vertical si una relacin tiene m atributos que no sean claves primarias el nmero de posibles fragmentos es igual a B(m) el cual es el numero de BELL. Existen dos tipos de enfoques heursticos para la fragmentacin vertical de relaciones globales: 1. Agrupacin: comienza con la asignacin de cada atributo a un fragmento y en cada paso se unen algunos de los fragmentos hasta que los criterios se satisfagan. 2. Particionamiento: comienza con una relacin y se decide realizar particionamientos benficos en base al comportamiento de acceso de las aplicaciones hacia los atributos. Requerimientos de informacin de una fragmentacin vertical. La informacin principal requerida por una fragmentacin vertical es la relacionada a las aplicaciones. Ya que el particionamiento vertical coloca en un fragmento aquellos atributos los cuales son accesados juntos.

Los principales datos requeridos relacionados a las aplicaciones son sus frecuencias de acceso. Algoritmo de agrupamiento La tarea fundamental en el diseo de un algoritmo de fragmentacin vertical es encontrar algunas formas de agrupamiento de los atributos de una relacin basada en la afinidad de los atributos. El algoritmo de agrupamiento es considerado apropiado por las siguientes razones. 1. Es diseado especficamente para determinar grupos de elementos similares, en comparacin con ordenarlos linealmente. 2. Los agrupamientos finales son intensivos en el orden en el cual los elementos son presentados al algoritmo, 3. El tiempo de computacin del algoritmo es razonable n2 donde n es el nmero de atributos. 4. Las relaciones secundarias entre los grupos de atributos agrupados son identificables. Algoritmo de particin El objetivo de la particin consiste en encontrar conjuntos de atributos a los que se acceda conjuntamente, o a un gran nmero de ellos, por los distintos grupos de aplicaciones. Por ejemplo, si es posible identificar dos atributos, A1 y A2, a los que accede nicamente la aplicacin q1, y unos atributos A3 y A4, a los que acceden dos aplicaciones q2 y q3, sera muy sencillo decidir qu fragmentos establecer. Por ello, es necesario encontrar un algoritmo que identifique estos grupos. Existen dos complicaciones que necesitan apuntarse. La primera es relativa a la particin. El procedimiento de particin nicamente divide el conjunto de atributos de dos formas: generando el conjunto AS y el conjunto AI. En el caso que el conjunto de atributos sea grande, seguramente ser necesario un mtodo de particin que soporte n-formas de divisin. El diseo de este algoritmo es posible, pero computacionalmente costoso. A lo largo de la diagonal de la matriz MGA es necesario probar 1, 2, ..., n - 1 puntos de divisin y para cada uno de estos verificar el lugar que maximice a z. Por tanto, la complejidad del algoritmo alcanzara un valor de O(2n). Sin embargo, puede llevarse a cabo una solucin alternativa consistente en una llamada iterativa al algoritmo de fragmentacin binaria para cada uno de los fragmentos obtenidos en la iteracin previa. La segunda complicacin se refiere a la localizacin de un bloque de atributos que debera formar un fragmento. Hay que considerar que el punto de particin es nico y simple, y que divide a la matriz MGA en una particin superior izquierda y en una particin con el resto de los atributos. La particin podra formarse en el medio de la matriz. En este caso, necesitamos modificar el algoritmo levemente. La columna ms a la izquierda de la matriz MGA se desplaza para convertirse en la columna ms a la derecha y la fila superior se desplaza para pasar a ser la inferior. A la operacin de desplazamiento le sigue la verificacin de las n - 1 posiciones de la diagonal para encontrar el mximo de z. La idea que esconde el desplazamiento consiste en mover el bloque de atributos que debera formar un grupo a la esquina superior izquierda, donde se identificar ms fcilmente. Con el aadido de la operacin de desplazamiento, la complejidad del algoritmo de particin se eleva en un factor n convirtindose en O(n2).

Fragmentacin mixta o hbrida La fragmentacin mixta es la mezcla de fragmentacin horizontal y vertical. Hay dos tipos de fragmentacin mixta [2]: 1. Fragmentacin VH Es una fragmentacin vertical seguida de una fragmentacin horizontal, sobre cada uno de los fragmentos verticales.

Figura 2. Esquema de una fragmentacin vertical-horizontal. Ejemplo fragmentacin vertical-horizontal En la siguiente relacin ALUMNOS (R)

Podra ser interesante realizar una fragmentacin vertical en la que se particionaran - los datos personales con los campos Nombre, Apellidos y Edad (FV1) - los datos acadmicos con los campos Campus, Titulacin y Cursos (FV2) Seguida de una fragmentacin horizontal por el campo Campus. De este modo se obtendran los siguientes fragmentos: Datos personales (FV1) del Campus Legans (FV1H1), Campus Getafe (FV1H2), Campus Colmenarejo (FV1H3) y datos acadmicos (FV2) del Campus Legans (FV2H1), Campus Getafe (FV2H2) y Campus Colmenarejo (FV2H3).

2. Fragmentacin HV. Es una fragmentacin horizontal seguida de una fragmentacin vertical, sobre cada uno de los fragmentos horizontales.

Figura 3. Esquema de una fragmentacin Horizontal-vertical. Ejemplo. En la relacin ALUMNOS podra ser interesante realizar una fragmentacin vertical por el campo Campus Campus de Legans (FH1) Campus de Getafe (FH2) Campus de Colmenarejo (FH3) Seguida de una fragmentacin vertical (V1) en la que por un lado estuvieran - los datos personales con los campos Nombre, Apellidos y Edad (campus de Legans FH1V1, campus Getafe FH2V1 y campus Colmenarejo FH3V1) - y otra (V2) de datos acadmicos con los campos Campus, Titulacin y Cursos (campus de Legans FH1V2, campus Getafe FH2V2 y campus Colmenarejo FH3V2). Asignacin de fragmentos La asignacin de recursos a travs de los nodos de una red de computadoras es un problema viejo que ha sido estudiado exhaustivamente, pero es preferible que poner archivos de datos individuales en una red de computadoras. Primero se requiere definir los problemas de asignacin. Cada fragmento (o cada copia de un fragmento) se debe asignar a un sitio determinado en el sistema distribuido. Este proceso se denomina distribucin de los datos. La eleccin de la sede y el grado de replicacin depende de los objetivos de rendimiento y disponibilidad para el sistema y de los tipos de frecuencias de transacciones introducidas en cada sitio. Por ejemplo, si se requiere una alta disponibilidad, y si las transacciones se pueden introducir en cualquier sitio y si la mayora de ellas son de obtencin de datos, entonces una BD completamente replicada ser una buena opcin.

Sin embargo, si por lo regular ciertas transacciones que tienen acceso a partes especficas de la BD se introducen en un solo sitio, se podra asignar el conjunto de fragmentos correspondiente exclusivamente a ese sitio. Los datos que se utilizan en mltiples sitios se pueden replicar en esos sitios. Si se efectan muchas actualizaciones, puede ser conveniente limitar la replicacin. Encontrar una solucin ptima, o siquiera buena, para el reparto de datos distribuidos es un problema de optimizacin muy complejo [1]. Alternativas de replicacin La replicacin de datos se refiere al almacenamiento de copias de datos en mltiples sitios conectados mediante una red de ordenadores. Pueden guardarse copias fragmentadas en varios sitios para satisfacer requerimientos de informacin especficos.

Como la existencia de copias de fragmentos puede mejorar la disponibilidad de los datos y el tiempo de respuesta, estas copias reducen los costes de comunicacin y de consultas totales [6]. Supngase que la tabla A est dividida en dos fragmentos A1 y A2. Dentro de una base de datos distribuida replicada, es posible el escenario de la figura 5 en el que el fragmento A1 se guarda en los sitios S1 y S2, mientras que el A2 se guarda en los sitios S2 y S3.

Figura 5. Replicacin de los dato Los datos replicados se someten a la regla de consistencia mutua. La regla de consistencia mutua requiere que todas las copias de fragmentos de datos sean idnticas. Por consiguiente, para mantener la consistencia de los datos entre las rplicas, el SGBDD debe garantizar que se realice una actualizacin de la base de datos en todos los sitios donde existan rplicas. Suponiendo que la base de datos est fragmentada correctamente, hay que decidir la asignacin de los fragmentos a diversos sitios en la red. Cuando se asignan los datos, o bien se pueden replicar o mantenerse una sola copia de los mismos. Las razones para la replicacin son la disponibilidad, fiabilidad y la eficiencia de consultas de slo lectura. Si hay mltiples copias de un elemento de datos, hay una buena probabilidad de que alguna copia est accesible en algn lugar, incluso cuando se producen fallos en el sistema. Por otra parte, las consultas de slo lectura que acceden a los mismos elementos de datos pueden ser ejecutados en paralelo desde la salida de copias en mltiples sitios. Por otra parte, la ejecucin de las transacciones de actualizacin causa problemas ya que el sistema tiene que garantizar que todas las copias de los datos se actualizan correctamente. De ah que la decisin con respecto a la replicacin dependa de la relacin existente entre consultas de slo lectura y consultas de actualizacin. Esta decisin afecta a casi todos los algoritmos de SGBDD y las funciones de control. Una base de datos no replicada (comnmente se llama base de datos particionada) contiene fragmentos que se asignan a los diferentes sitios, y slo hay una copia de cada fragmento en la red. En el caso de realizarse replicacin, la base de datos puede ubicarse en su totalidad en cada lugar (base de datos totalmente replicada), o los fragmentos pueden distribuirse en los nodos de tal manera que las copias de un fragmento puedan residir en varios emplazamientos (base de datos parcialmente replicada). En este ltimo caso el nmero de copias de un fragmento puede suponer un aumento de coste para el algoritmo de asignacin. En la Tabla 1 se comparan estas alternativas con respecto a varias funciones de los SGBD distribuidos.

Tabla 1 Comparacin de las alternativas de replicacin

Aunque la replicacin tiene algunos beneficios, tambin exige ms complejidad de procesamiento del SGBDD, porque cada copia de datos debe ser mantenida por el sistema. Para ilustrar la complejidad de un SGBDD, se deben considerar los procesos que el SGBDD debe realizar a la hora de gestionar la base de datos: Si la base de datos est fragmentada, el SGBDD debe decidir qu copia acceder. Una operacin de lectura selecciona la copia ms cercana para satisfacer la transaccin.

Una operacin de escritura requiere que todas las copias se seleccionen y actualicen para satisfacer la regla de consistencia mutua. El procesador de transacciones enva una solicitud de datos a cada procesador de datos para su ejecucin. El procesador de datos recibe y ejecuta cada solicitud y enva los datos de vuelta al procesador de transacciones. El procesador de transacciones construye las respuestas del procesador de datos. El problema se complica ms cuando se consideran factores adicionales tales como la topologa de red y los protocolos de comunicacin. Problema de asignacin. Asumiendo que existe un conjunto de fragmentos F={F1,F2,,Fn} y una red consistente en sitios S={S1,S2,,Sm} en los cuales un conjunto de aplicaciones Q={q1,q2,qn} est corriendo. El problema de asignacin involucra encontrar la ptima distribucin de F en S. Una de las ms importantes cuestiones que necesitamos discutir es la definicin de optimalidad. La optimalidad puede ser definida con respecto a dos mediciones. 1. Costos mnimos. El costo de una funcin consiste en el costo de almacenamiento de cada Fi en el sitio Sj, el costo de actualizar Fi en todos los sitios donde este almacenado y el costo de la comunicacin de datos. 2. Desempeo. La estrategia de la asignacin est diseada para mantener un desempeo mtrico. Como minimizar el tiempo de respuesta y maximizar la salida de informacin a cada sitio.

Requerimientos de informacin. En la etapa de asignacin necesitamos los datos cuantitativos acerca de la base de datos, las aplicaciones que corren sobre ella, las comunicaciones de la red, las capacidades de procesamiento y las limitantes de almacenamiento para cada sitio en la red. Informacin de la base de datos. Para llevar a cabo una fragmentacin horizontal definimos la seleccin de minterms. Ahora necesitamos extender la definicin de fragmentos, y definir la seleccin de un fragmento Fj con respecto a un query qi. Este es el nmero de tuplas de Fj que se necesitan ser accesadas para procesar qi. Informacin de la aplicacin. La mayora de la informacin relacionada a la aplicacin ya ha sido compilada durante la actividad de fragmentacin, pero en algunos de los casos es requerido por el modelo de asignacin. Informacin del sitio. Para cada sitio necesitamos conocer acerca de su capacidad de almacenamiento y procesamiento. Obviamente, aquellos valores pueden ser computados por medio de elaboradas funciones o por simples estimaciones. Informacin de la red. En nuestro modelo asumimos la existencia de una simple red donde el costo de comunicacin es definido en trminos de un marco de datos. As pues gij denotan los costos de comunicacin por marco entre los sitios Si y Sj.

You might also like