Afecta desempeño de la ejecución de los Query. Dependerá de las necesidades de nuestra aplicación. Grado de fragmentación
Condición de completitud. La descomposición de una relación R en los fragmentos R1, R2, …, Rn es completa si y solamente si cada elemento de datos en R se encuentra en algún de los Ri. Condición de Reconstrucción. Si la relación R se descompone en los fragmentos R1, R2, …, Rn, entonces debe existir algún operador relacional Ñ , tal que,R = Ñ 1£ i£ n Ri Condición de Fragmentos Disjuntos. Si la relación R se descompone en los fragmentos R1, R2, …, Rn, y el dato di está en Rj, entonces, no debe estar en ningún otro fragmento Rk (k¹ j). Correctitud fragmentación
Forma para asignación de fragmentos de las relaciones en cada uno de los sitios teniendo ya bien realizada nuestra fragmentación. Costos mínimos: costos de actualización entre sitios y costos de comunicación de datos Desempeño: minimizar el tiempo de respuesta y maximizar la salida de información a cada sitio. Alternativas de asignación
Mejora Querys de sólo lectura Confiabilidad Empeora Query de actualización Estrategias: No soportar replicación. Cada fragmento reside en un solo sitio. Soportar replicación completa. Cada fragmento en cada uno de los sitios. Soportar replicación parcial. Cada fragmento en algunos de los sitios.
Replicación
Replicación
En diseño de distribución influyen factores como: Información sobre el significado de los datos Información sobre las aplicaciones que los usan Información acerca de la red de comunicaciones Información acerca de los sistemas de cómputo
Requerimientos de información
Cada subconjunto puede contener datos que tienen propiedades comunes y se puede definir expresando cada fragmento como una operación de selección sobre la relación global
Considere la relación global: SUPPLIER( SNUM, NAME, CITY ) entonces, la fragmentación horizontal puede ser definida como: SUPPLIER1 = SLcity == "SF"SUPPLIER SUPPLIER1 = SLcity == "LA"SUPPLIER Esta fragmentación satisface la condición de completes si "SF" y "LA" son solamente los únicos valores posibles del atributo CITY. La condición de reconstrucción se logra con: SUPPLIER = SUPPLIER1 union SUPPLIER2 La condición de disjuntos se cumple claramente en este ejemplo. Fragm. Horizontal Primaria
La fragmentación derivada horizontal se define partiendo de una fragmentación horizontal. En esta operación se requiere de Semi-junta (Semi-Join) el cual nos sirve para derivar las tuplas o registros de dos relaciones. Las siguientes relaciones definen una fragmentación horizontal derivada de la relación SUPPLY. SUPPLY1 = SUPPLYSJsnum == snumSUPPLIER1 SUPPLY2 = SUPPLYSJsnum == snumSUPPLIER2
Fragm. Horizontal Derivada
Enfoques Agrupamiento (Clustering): Inicia asignando cada atributo a un fragmento, y en cada paso, algunos de los fragmentos satisfaciendo algún criterio se unen para formar un solo fragmento. Division: Inicia con una sola relación realizar un particionamiento basado en el comportamiento de acceso de las consultas sobre los atributos. Fragmentacion Vertical
Formula general: min( Costo Total ) Dadas: Restricciones tiempo de rta Restricciones capacidad de almacenamiento Restricciones en tiempo de procesamiento Costo total = procesamiento de consultas + almacenamiento Procesamiento de consultas = sumatoria del costo de procesamiento de todas las consultas Almacenamiento = sumatoria de costos de almacenar todos los fragmentos en los correspondientes nodos Modelo de asignación
Costo de almacenamiento por nodo = costo almacenamiento unitario en el nodo * tamaño del fragmento Costo del procesamiento por consulta = costo de procesamiento + costo de transmisión Costo de procesamiento = costo de acceso + costo de mantenimiento de integridad + costo debido a control de concurrencia Modelo de asignación
Costo de acceso = sumatoria(numero total de actualizaciones y lecturas realizadas por consulta en el fragmento i * costo unitario de procesamiento local en el fragmento i) i = cada fragmento involucrado en la consulta Costos de mantenimiento de integridad y costo de control de concurrencia se calculan similar al costo del control de acceso. Modelo de asignación
Costo de transmisión Procesamiento de actualizaciones = costo de envió de mensajes de actualización a los N nodos involucrados + costo de envió de mensaje de confirmación Procesamiento de consultas = costo de transmitir consulta a N nodos involucrados + costo de transmisión de respuestas de los N nodos a las N consultas Modelo de asignación
Tiempo de respuesta Para cada Qi el tiempo de respuesta <= máximo tiempo de respuesta esperado. Almacenamiento Costo de almacenamiento en Nodoi <= capacidad de almacenamiento de dicho nodo Tiempo procesamiento Carga de procesamiento Nodoi <= capacidad de procesamiento de dicho nodo
Restricciones a asignación
Página anterior | Volver al principio del trabajo | Página siguiente |