1. Investigar el uso de las BDD en diversos sectores productivos.
Los ambientes en los que se encuentra con mayor frecuencia el uso de las bases de datos distribuidas son:
- Cualquier organizacion que tiene una estructura descentralizada.
- Casos típicos de lo anterior son: organismos gubernamentales y/o de servicio público.
- La industria de la manufactura, particularmente, aquella con plantas múltiples. Por ejemplo, la industria automotriz.
- Aplicaciones de control y comando militar.
- Lineas de transportacion aerea.
- Cadenas hoteleras.
- Servicios bancarios y financieros
Sistemas
Comerciales.- Inicialmente fueron construidos con hardware dedicado
y
entornos centralizados, son, por sus características de distribución geográfica y necesidad de acceso
a sistemas distintos, ideales para implementarse en sistemas distribuidos.
Requieren ciertas características de fiabilidad, seguridad y protección.
Algunos ejemplos son:
• Sistemas de reservas de líneas aéreas.
• Aplicaciones bancarias.
• Cajas y gestión de grandes almacenes.
Redes
WAN.- Debido
al gran crecimiento de este tipo de redes (Internet), ha tomado gran
importancia en el intercambio de información a través de la red. Y para esto
tenemos los siguientes ejemplos:
• Los servicios comunes que brinda Internet:
Correo electrónico, servicio de noticias, transferencia de archivos, la World
Wide Web, etc.
Aplicaciones
Multimedia.- Son las últimas incorporaciones a los sistemas distribuidos.
Estas aplicaciones imponen ciertas necesidades de hardware para poder tener una
velocidad y regularidad de transferencia de una gran cantidad de datos. Los
ejemplos de estos sistemas son:
• Videoconferencia.
• Televigilancia.
• Juegos multiusuarios.
• Enseñanza asistida por computadora.
Áreas de
la informática aplicada a los Sistemas Distribuidos.- En este
punto se tienen en cuenta toda la variedad de aplicaciones de los sistemas
distribuidos, pues su diseño involucra a muchas áreas, por ejemplo:
• Comunicaciones.
• Sistemas operativos distribuidos.
• Base de datos distribuidas.
• Servidores distribuidos de archivos
• Lenguajes de programación distribuidos.
• Sistemas de tolerancia de fallos.
2. Investigar sobre transparencia y fragamentación.
Transparencia y Autonomía
En un sistema de base de datos distribuida es esencial
que el sistema reduzca al mínimo la necesidad de que el usuario se dé cuenta de
cómo está almacenada una relación,un sistema puede ocultar los detalles de la
distribución de la información en la red. Esto se denomina transparencia de la
red. La transparencia de la red se relaciona, en algún modo, a la autonomía
local. La transparencia de la red es el grado hasta el cual los usuarios del
sistema pueden ignorar los detalles del diseño distribuido. La autonomía local
es el grado hasta el cual el diseñador o administrador de una localidad pueden
ser independientes del resto del sistema distribuido . Los temas de
transparencia y autonomía serán considerados desde los siguientes puntos de
vista:
·
Nombre de los datos.
·
Repetición de los datos.
·
Fragmentación de los datos.
·
Localización de los fragmentos y copias.
·
Transparencia de la repetición y la fragmentación
·
No es conveniente requerir que los usuarios hagan
referencia a una copia específica de un elemento de información. 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 petición de
escritura.
·
Cuando se solicita un dato, no es necesario especificar
la copia. El sistema utiliza una tabla-catálogo para determinar cuáles son
todas las copias de ese dato.
·
De manera similar, no debe exigirse a los usuarios que
sepan cómo está fragmentado un elemento de información. Es posible que los
fragmentos verticales contengan id-tuplas, que representan direcciones de
tuplas. Los fragmentos horizontales pueden haberse obtenido por predicados de
selección complejos. Por tanto, un sistema de bases de datos distribuido debe
permitir las consultas que se hagan en términos de elementos de información sin
fragmentar. Esto no presenta problemas graves, ya que siempre es posible
reconstruir el elemento de información original a partir de sus fragmentos. Sin
embargo, este proceso puede ser ineficiente.
·
Transparencia de localización
·
Si el sistema es transparente en cuanto a repetición y
fragmentación, 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 localización se logra creando un
conjunto de seudónimos 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 seudónimos, no será necesario que el
usuario conozca la localización física de un dato. Además, el administrador de
la base de datos puede cambiar un dato de una localidad a otra sin afectar a
los usuarios.
Transparencia y actualizaciones
De alguna forma es más difícil hacer transparente la base
de datos para usuarios que la actualizan que para aquellos que sólo leen datos.
El problema principal es asegurarse de que se actualizan todas las copias de un
dato y también los fragmentos afectados.
En el caso más general, el problema de actualización de
información repetida y fragmentada está relacionado con el problema de
actualización de vistas.
Tipos de fragmentación:
Dado que una relación se corresponde esencialmente con
una tabla y la cuestión consiste en dividirla en fragmentos menores,
inmediatamente surgen dos alternativas lógicas para llevar a cabo el proceso:
la división horizontal y la división vertical. La división o fragmentación
horizontal trabaja sobre las tuplas, dividiendo la relación en subrelaciones
que contienen un subconjunto de las tuplas que alberga la primera. La
fragmentación vertical, en cambio, se basa en los atributos de la relación para
efectuar la división. Estos dos tipos de partición podrían considerarse los
fundamentales y básicos. Sin embargo, existen otras alternativas.
Fundamentalmente, se habla de fragmentación mixta o híbrida cuando el proceso
de partición hace uso de los dos tipos anteriores. La fragmentación mixta puede
llevarse a cabo de tres formas diferentes: desarrollando primero la
fragmentación vertical y, posteriormente, aplicando la partició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. Otro enfoque distinto y relativamente
nuevo, consiste en aplicar sobre una relación, de forma simultánea y no
secuencial, la fragmentación horizontal y la fragmentación 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 (nótese que en este caso el grado de fragmentación alcanzado es
máximo, y no por ello la descomposición resultará más eficiente).
Grado de Fragmentación
Cuando se va a fragmentar una base de datos deberíamos
sopesar qué grado de fragmentación va a alcanzar, ya que éste será un factor
que influirá notablemente en el desarrollo de la ejecución de las consultas. El
grado de fragmentación puede variar desde una ausencia de la división,
considerando a las relaciones unidades de fragmentación; 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
debería establecerse sobre las características de las aplicaciones que hacen
uso de la base de datos. Dichas características se podrán formalizar en una
serie de parámetros. De acuerdo con sus valores, se podrá establecer el grado
de fragmentación del banco de datos.
Reglas de corrección de la fragmentación
A continuación se enuncian las tres reglas que se han de
cumplir durante el proceso de fragmentación, las cuales asegurarán la ausencia
de cambios semánticos en la base de datos durante el proceso.
Compleción.
Si una relación 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 relación global se proyectan
sobre los fragmentos sin pérdida 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.
Reconstrucción.
Si una relación 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 fragmentación. La
reconstrucción de la relación a partir de sus fragmentos asegura la
preservación de las restricciones definidas sobre los datos en forma de
dependencias.
Disyunción.
Si una relación R se descompone horizontalmente en una serie de
fragmentos R1, R2, ..., Rn, y un elemento de datos di se encuentra en
algún fragmento Rj, entonces no se encuentra en otro fragmento Rk
(k j). Esta regla asegura que los fragmentos horizontales sean
disjuntos. Si una relación R se descompone verticalmente, sus atributos
primarios clave normalmente se repiten en todos sus fragmentos.
Fragmentación Horizontal:
Como se ha explicada anteriormente, la fragmentación
horizontal se realiza sobre las tuplas de la relación. Cada fragmento será un
subconjunto de las tuplas de la relación. Existen dos variantes de la
fragmentación horizontal: la primaria y la derivada. La fragmentación
horizontal primaria de una relación se desarrolla empleando los predicados
definidos en esa relación. Por el contrario, la fragmentación horizontal
derivada consiste en dividir una relación partiendo de los predicados definidos
sobre alguna otra.
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.
Fragmentación mixta o híbrida:
En muchos casos la fragmentación vertical u horizontal
del esquema de la base de datos no será suficiente para satisfacer los
requisitos de las aplicaciones. Como ya se citó al comienzo de este documento
podemos combinar ambas, utilizando por ello la denominada fragmentación mixta. Cuando
al proceso de fragmentación vertical le sigue una horizontal, es decir, se
fragmentan horizontalmente los fragmentos verticales resultantes, se habla de
la fragmentación mixta HV
Fuentes de Información: