20
FRAGMENTACIÓN LOCALIZACIÓN DE LOS DATOS INTEROPERABILIDAD

Fragmentacion - Informe Final

Embed Size (px)

Citation preview

Page 1: Fragmentacion - Informe Final

FRAGMENTACIÓNLOCALIZACIÓN DE LOS DATOS

INTEROPERABILIDAD

BASE DE DATOS II

SANDRA TAPIA - CRISTIAN ESPINOZAQUINTO "2"

Page 2: Fragmentacion - Informe Final

OBJETIVOS:

1. Conocer las principales características, ventajas y desventajas de los sistemas fragmentados.

2. Entender la manera en la cual se localizan los datos a nivel de servidor y cuales son sus implicaciones a nivel de cliente.

3. Darse cuenta de la importancia de la interoperabilidad de los SGBDD heterogéneos.

FRAGMENTACIÓN

Es una relación que corresponde a una tabla, consiste en dividirla en fragmentos menores, cada fragmento se guarda en sitio diferente y cuyo objetivo es buscar alternativas para dividir las tablas o instancias en otras más pequeñas. Para ello hay las siguientes alternativas lógicas, como son:

La fragmentación se puede realizar por tuplas individuales (fragmentación horizontal), por atributos individuales fragmentación vertical) o una combinación de ambas (fragmentación híbrida).

Fragmentos: Cada relación global puede ser dividida en porciones llamados fragmentos. El mapa resultante se denomina esquema de fragmentación. Una relación global puede dividirse en n fragmentos y un fragmento sólo puede pertenecer a una relación global. Los fragmentos se referencian por un nombre de relación global y un subíndice.

RAZONES PARA FRAGMENTAR

Encontrar unidad de distribución más adecuada. Disminuir cantidad de accesos remotos. Incrementar el nivel de concurrencia.

VENTAJAS DE LA FRAGMENTACIÓN DE TABLAS

Mejorar el rendimiento de las aplicaciones al trabajar con subconjuntos de relaciones

Da una respuesta eficiente a aplicaciones que trabajan con los mismos datos en diferentes nodos

Los fragmentos permiten aumentar el número de ejecuciones concurrentes.

Page 3: Fragmentacion - Informe Final

DESVENTAJAS DE LA FRAGMENTACIÓN DE TABLAS

Disminuye la eficiencia en las aplicaciones que trabajan con varios fragmentos La comprobación de las restricciones de integridad puede ser más costosa.

Fig. 1: Ejemplo de una empresa con una BD distribuida[12].

Fig. 2: Arquitectura de referencia para una BDD[13].

Page 4: Fragmentacion - Informe Final

CONDICIONES PARA DEFINIR FRAGMENTOS

Se deben cumplir tres reglas durante el proceso de fragmentación. Los cuales se explicara más detalladamente en los grados de fragmentación.

Completitud Reconstrucción Disyunción

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 fragmento.

Reconstrucción: Si la relación R se descompone en los fragmentos R1, R2, ..., Rn, entonces debe existir algún operador que permita reconstruir la Relación Original R.

Disyunción: 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.

TIPOS DE FRAGMENTACIÓN.

La forma en cómo se pueden extraer los datos al ser consultados en un ambiente distribuido, se puede hacer una fragmentación de distintas tablas pertenecientes a diversas Bases de Datos localizadas en diversos servidores.

Dado que una relación que corresponde esencialmente con una tabla esta se la puede dividir en fragmentos menores, inmediatamente surgen alternativas lógicas para llevar a cabo el proceso: Existen tres tipos de fragmentación:

1. Fragmentación horizontal 2. Fragmentación vertical 3. Fragmentación híbrida

FRAGMENTACIÓN HORIZONTAL

Fragmentación HorizontalSe realiza sobre las tuplas de la relación, es decir que cada fragmento será un subconjunto de las tuplas de la relación.

Una tabla T se divide en subconjuntos, T1, T2, ...Tn. Los fragmentos se definen mediante una operación de selección. Su reconstrucción se realizará mediante la unión de los fragmentos componentes.

Existen dos tipos de fragmentación como es: fragmentación horizontal primaria y la fragmentación horizontal derivada.

Page 5: Fragmentacion - Informe Final

La fragmentación horizontal primaria. Consiste en particionar las tuplas (columnas) de una relación global en subconjuntos, donde cada subconjunto tenga propiedades comunes, se puede definir expresando cada fragmento como una operación de selección sobre la relación global.

Fig. 3: Proceso de fragmentación horizontal de la Tabla Productos.

Page 6: Fragmentacion - Informe Final
Page 7: Fragmentacion - Informe Final

La fragmentación horizontal derivada Consiste en dividir una relación partiendo de los predicados definidos sobre alguna otra, debido a que la relación R depende de la relación Q, sobre cuyos atributos está definido el predicado de la fragmentación Las tres entradas necesarias para desarrollar la fragmentación horizontal derivada son las siguientes: el conjunto de particiones de la relación propietaria, la relación miembro y el conjunto de predicados resultados de aplicar el semi−yunto entre la propietaria y la miembro.

Es decir La fragmentación de la tabla primaria, se aplica a tablas secundarias, o bien se debe partir de una fragmentación horizontal primaria. Nota: La relación al final de la conexión es llamada propietario de la conexión y la relación que está en la cabeza de la conexión es llamada miembro.

FRAGMENTACIÓN VERTICAL

El objetivo de la fragmentación vertical consiste en dividir la relación en un conjunto de relaciones más pequeñas tal que algunas de las aplicaciones de usuario sólo hagan uso de un fragmento. Sobre este marco, una fragmentación óptima es aquella que produce un esquema de división que minimiza el tiempo de ejecución de las aplicaciones que emplean esos fragmentos.

La fragmentación vertical se basa en los atributos de la relación para realizar la división, es decir: la subdivisión de atributos en grupos. La fragmentación es correcta si cada atributo se mapea en al menos un atributo del fragmento. La partición vertical resulta más complicada que la horizontal. Esto se debe al aumento del número total de alternativas que tenemos disponibles.

FRAGMENTACIÓN MIXTA

La fragmentación mixta puede llevarse a cabo de tres formas diferentes: desarrollando primero la fragmentación vertical y, posteriormente, aplicando la fragmentación horizontal sobre los fragmentos verticales (denominada partición VH), o aplicando primero una división horizontal para luego, sobre los fragmentos generados, desarrollar una fragmentación vertical (llamada partición HV), o bien, de forma directa considerando la semántica de las transacciones.

Page 8: Fragmentacion - Informe Final

Fig. 4: Proceso de fragmentación vertical de la Tabla Productos.

Fig. 5: Proceso de fragmentación hibrida de la Tabla Productos.

Page 9: Fragmentacion - Informe Final

LOCALIZACIÓN DE LOS DATOS

La situación física y la implementación de la BD es transparente para los programas de aplicaciones y se puede mover y reestructurar la BD física sin afectar a los programas.   Físicamente una BD no es más que un conjunto de archivos que se encuentra en alguna parte del disco. La situación física de estos archivos es irrelevante para el funcionamiento de la BD (aunque es importante para su rendimiento).   Los archivos son binarios y sólo se puede acceder a ellos utilizando el software del núcleo de la BD. La consulta de los datos de los archivos de la base de datos se realiza generalmente con una de las herramientas de SQL[8].

Independencia lógica de datos. Es la inmunidad de las aplicaciones de usuario a los cambios en la estructura lógica de la base de datos. Esto permite que un cambio en la definición de un esquema no debe afectar a las aplicaciones de usuario.

Por ejemplo, el agregar un nuevo atributo a una relación, la creación de una nueva relación, el reordenamiento lógico de algunos atributos.

Independencia física de datos. Se refiere al ocultamiento de los detalles sobre las estructuras de almacenamiento a las aplicaciones de usuario. Esto es, la descripción física de datos puede cambiar sin afectar a las aplicaciones de usuario.

Por ejemplo, los datos pueden ser movidos de un disco a otro, o la organización de los datos puede cambiar.

La transparencia al nivel de red se refiere a que los datos en un SBDD se accesan sobre una red de computadoras, sin embargo, las aplicaciones no deben notar su existencia. La transparencia al nivel de red conlleva a dos cosas:

Transparencia sobre la localización de datos. Esto es, el comando que se usa es independiente de la ubicación de los datos en la red y del lugar en donde la operación se lleve a cabo.

Transparencia sobre el esquema de nombramiento. Lo anterior se logra proporcionando un nombre único a cada objeto en el sistema distribuido. Así, no se debe mezclar la información de la localización con en el nombre de un objeto.

Page 10: Fragmentacion - Informe Final

Fig. 6: Características de la localización de datos en una BDD

Page 11: Fragmentacion - Informe Final

INTEROPERABILIDAD

Posibilita que los diferentes SGBDD heterogéneos tengan la capacidad de interactuar y compartir funciones e información entre ellos. Para ello utilizan diferentes protocolos de comunicación CLIENTE-SERVIDOR, los cuales permiten flujo de información entre estos sistemas[9].

La interoperabilidad consiste en que sistemas heterogéneos dispongan de mecanismos que permitan intercambiar procesos y/o datos[11].

CARACTERÍSTICAS

Comparten funcionalidades

Comunicación efectiva a pesar de no ser 100% compatible

Estabilidad y fácil evolución

Fig. 7: Ejemplo de un sistema inter-operable[14].

Es la principal dificultad en el desarrollo de aplicaciones heterogéneas para BDD, es decir, cuando los servidores utilizan más de un SGBD diferente.

Page 12: Fragmentacion - Informe Final

Significa capacidad para la interacción entre diferentes SGBDs.

Requiere la disponibilidad de funciones para la adaptación y conversión, de forma que sea posible el intercambio de información entre los diversos SGBDs.

Es posible gracias a la existencia de protocolos estándares adecuados:

a. ODBC (Open Database Connectivity): para permitir que BD heterogéneas que se comuniquen entre ellas.

b. DTP (X-Open Distributed Transaction Processing): una versión estandarizada del protocolo de dos fases que asegura la posibilidad de que diferentes SGBD interactuen en la misma transacción.

CONCLUSIONES

Como conclusión, podemos decir:

• Podemos diseñar sistemas distribuidos que permitan dar solución a la necesidad de dividir en diferentes servidores la información, siendo esta una opción viable para empresas multinacionales o entidades de gobierno que deseen trabajar sus datos locales con cierta independencia.

• La transparencia a nivel de usuario quizá es una de las mayores funcionalidades de los sistemas de BDD ya que cualquier operación importante a nivel de servidor no afectara el funcionamiento del mismo dando como resultado una disponibilidad de datos en operaciones de mantenimiento.

• En un mercado con tanta oferta de SGBDD es importante contar con diferentes estándares de comunicación e interacción efectiva que permita la integración de los diferentes sistemas y una interoperabilidad y funcionabilidad efectiva.

BIBLIOGRAFÍA

[1][2][3]4[]“FRAGMENTACIÓN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS”, López Tulcanaza Verónica Alexandra - TESIS PREVIA A LA OBTENCIÓN DEL TITULO DE INGENIERA EN SISTEMAS COMPUTACIONALES. Universidad Tecnica del Norte, Ibarra – 2010. Pág 26-37

[5][6][7]http://carlosjacobo.wordpress.com/fragmentacion/

[8]http://ccp.ucr.ac.cr/bvp/pdf/desarrollohumano/bd_distribuidas-rca.pdf

Page 13: Fragmentacion - Informe Final

[9]http://alarcos.inf-cr.uclm.es/doc/aplicabbdd/Documentos/teoria/introducci%C3%B3n%20al%20desarrollo%20aplicaciones%20con%20bases%20de%20datos.pdf, Pág 24.

[10]http://www.fing.edu.uy/inco/grupos/csi/esp/Cursos/cursos_posg/Inter2002/transparencias/introduccion.pdf

[11]http://www.abartiateam.com/interoperabilidad

[12]http://www.programacionweb.net/foros/mensaje/?num=16941

[13]http://html.rincondelvago.com/sistemas-de-bases-de-datos_1.html

[14]http://alfa.facyt.uc.edu.ve/computacion/pensum/cs0347/download/exposiciones2006-2007/BDH.pdf