Transparencia El concepto de transparencia de un sistema distribuido va ligado...

Anuncio
Transparencia
El concepto de transparencia de un sistema distribuido va ligado a la idea de que todo el
sistema funcione de forma similar en todos los puntos de la red, independientemente de la
posición del usuario. Queda como labor del sistema operativo el establecer los mecanismos
que oculten la naturaleza distribuida del sistema y que permitan trabajar a los usuarios
como si de un único equipo se tratara.
En un sistema transparente, las diferentes copias de un archivo deben aparecer al usuario
como un único archivo. Queda como labor del sistema operativo el controlar las copias,
actualizarlas en caso de modificación y en general, la unicidad de los recursos y el control
de la concurrencia.
El que el sistema disponga de varios procesadores debe lograr un mayor rendimiento del
sistema, pero el sistema operativo debe controlar que tanto los usuario como los
programadores vean el núcleo del sistema distribuido como un único procesador. El
paralelismo es otro punto clave que debe controlar el sistema operativo, que debe distribuir
las tareas entre los distintos procesadores como en un sistema multiprocesador, pero con la
dificultad añadida de que ésta tarea hay que realizarla a través de varios ordenadores.
El termino Trasparencia esta definido como: "La ocultación de la separación entre el
usuario y el programador de la aplicación, tal que el sistema es percibido como un todo y
no como una colección de componentes independientes". Las implicaciones de la
Trasparencia son de gran influencia en el diseño de los sistemas de software.
ANSA [1987] identifica 8 formas de trasparencia:
* Acceso Trasparente: permite acceder a archivos locales o remotos y a otros tipos de
objetos usando las mismas instrucciones.
* Localización Trasparente: permite accesar a un objeto determinado sin necesidad de
conocer su localización.
* Concurrencia Trasparente: permite a varios usuarios o programas de aplicaciones a operar
concurrentemente o compartiendo datos sin una interface entre ellos.
* Replicación Trasparente: permite múltiples instancias de archivos y otros datos usados e
incrementa la veracidad y desempeño sin el conocimiento de las replicas por parte de los
usuarios o por los programas de aplicación.
* Trasparencia en Fallas: posibilita el ocultamiento de fallas, permitiendo a los usuarios y
programas de aplicación completar sus tareas a pesar de fallas de componentes de hardware
o de software.
* Trasparencia en Migración: permite el movimiento de los objetos del sistema sin afectar
la operación de los usuarios de los programas de aplicación.
* Trasparencia en el Desempeño: permite al sistema ser reconfigurado para mejorar el
desempeño al variar la carga, por ejemplo.
* Escalabilidad Trasparente: permite al sistema y a las aplicaciones expandirse en forma
escalar sin cambiar la estructura del sistema o los algoritmos de aplicación.
En el tema de referente a Elementos de Diseño que se encuentra más adelante en esta obra,
se tocará el tema de Trasparencia en una forma más amplia.
Heterogéneos: Nos referimos a cuando el equipo elegido tanto en hardware como en
software presentan problemas de compatibilidad y requiere de equipos especiales o
software de colectividad para asegurar el funcionamiento del mismo.
Heterogeneidad. La heterogeneidad se puede presentar a varios niveles: hardware, sistema
de comunicaciones, sistema operativo o SMBD. Para el caso de SMBD heterogéneos ésta
se puede presentar debido al modelo de datos, al lenguaje de consultas o a los algoritmos
para manejo de transacciones.
Autonomía. La autonomía se puede presentar a diferentes niveles:
Autonomía de diseño. La habilidad de un componente del SMBD para decidir cuestiones
relacionadas a su propio diseño.
Autonomía de comunicación. La habilidad de un componente del SMBD para decidir como
y cuando comunicarse con otros SMBD.
Autonomía de ejecución. La habilidad de un componente del SMBD para ejecutar
operaciones locales de la manera que él quiera.
Figura 2.9. Arquitectura de un SMBDD homogéneo.
Desde el punto de vista funcional y de organización de datos, los sistemas de datos
distribuidos están divididos en dos clases separadas, basados en dos filosofía totalmente
diferentes y diseñados para satisfacer necesidades diferentes:
Sistemas de manejo de bases de datos distribuidos homogéneos
Sistemas de manejo de bases de datos distribuidos heterogéneos
Un SMBDD homogéneo tiene múltiples colecciones de datos; integra múltiples recursos de
datos como se muestra en la Figura 2.9. Los sistemas homogéneos se parecen a un sistema
centralizado, pero en lugar de almacenar todos los datos en un solo lugar, los datos se
distribuyen en varios sitios comunicados por la red. No existen usuarios locales y todos
ellos accesan la base de datos a través de una interfaz global. El esquema global es la unión
de toda las descripciones de datos locales y las vistas de los usuarios se definen sobre el
esquema global.
Para manejar los aspectos de la distribución, se deben agregar dos niveles a la arquitectura
estándar ANSI-SPARC, como se muestra en la Figura 2.10. El esquema de fragmentación
describe la forma en que las relaciones globales se dividen entre las bases de datos locales.
La Figura 2.11 presenta el ejemplo de una relación, R, la cual se divide en cinco
fragmentos. El esquema de asignamiento especifica el lugar en el cual cada fragmento es
almacenado. De aquí, los fragmentos pueden migrar de un sitio a otro en respuesta a
cambios en los patrones de acceso.
Figura 2.10. Arquitectura de los esquemas de un SMBDD homogéneo.
1.3 Autonomía en BDD
Para lograr la independencia entre bases de datos componentes de un sistema distribuido, es
necesario considerar los tipos de autonomía descritos por [Sheth y Larson 1990], los cuales
se detallan a continuación:
Autonomía de diseño.- La capacidad de que cada Base de Datos Componente (BDC) decida
los aspectos concernientes con su diseño. Es decir, las personas involucradas son libres de
decidir cualquier particularidad e incluso decidir que DBMS usar. Los aspectos a
considerar en la autonomía de diseño son:
El universo de datos relevante para el sistema
La representación (modelo de datos, lenguaje de consultas) y el nombrado de los datos
La conceptualización o interpretación semántica de los datos (heterogeneidad semántica)
Restricciones usadas para administrar los datos
La funcionalidad del sistema
La asociación y compartición con otros sistemas y
La implementación (p.e. registros y estructuras de archivos).
Autonomía de comunicación.- La habilidad de que una BDC decida comunicarse o no con
otro componente de una misma federación.
Autonomía de ejecución.- Es la habilidad de una BDC para ejecutar operaciones locales sin
la interferencia de operaciones externas, en el orden que la BDC lo decida.
Autonomía de asociación.- Cada BDC decide cuanto y cuando puede compartir su
funcionalidad y recursos con otros componentes, inclusive la capacidad de asociarse o
retirarse de una o más federaciones.
Descargar