El próposito de establecer una arquitectura de un sistema de bases de datos distribuidas es ofrecer un nivel de transparencia adecuado para el manejo de la información. La transparencia se puede entender como la separación de la semántica de alto nivel de un sistema de las aspectos de bajo nivel relacionados a la implementación del mismo. Un nivel de transparencia adecuado permite ocultar los detalles de implementación a las capas de alto nivel de un sistema y a otros usuarios.
En sistemas de bases de datos distribuidos el propósito fundamental de la transparencia es proporcionar independencia de datos en el ambiente distribuido. Se pueden encontrar diferentes aspectos relacionados con la transparencia. Por ejemplo, puede existir transparencia en el manejo de la red de comunicación, transparencia en el manejo de copias repetidas o transparencia en la distribución o fragmentación de la información.
La independencia de datos es la inmunidad de las aplicaciones de usuario a los cambios en la definición y/u organización de los datos y viceversa. La independencia de datos se puede dar en dos aspectos: lógica y física.
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:
La transparencia sobre replicación de datos se refiere a que si existen réplicas de objetos de la base de datos, su existencia debe ser controlada por el sistema no por el usuario. Se debe tener en cuenta que al cuando el usuario se encarga de manejar las réplicas en un sistema, el trabajo de éste es mínimo por lo que se puede obtener una eficiencia mayor. Sin embargo, el usuario puede olvidarse de mantener la consistencia de las réplicas teniendo así datos diferentes.
La transparencia a nivel de fragmentación de datos permite que cuando los objetos de la bases de datos están fragmentados, el sistema tiene que manejar la conversión de consultas de usuario definidas sobre relaciones globales a consultas definidas sobre fragmentos. Así también, será necesario mezclar las respuestas a consultas fragmentadas para obtener una sola respuesta a una consulta global. El acceso a una base de datos distribuida debe hacerse en forma transparente.
¨
ENO |
ENOMBRE |
TITULO |
E1 |
Juan Rodríguez |
Ingeniero Eléctrico |
E2 |
Miguel Sánchez |
Analista de Sistemas |
E3 |
Armando Legarreta |
Ingeniero Mecánico |
E4 |
Beatriz Molleda |
Programador |
E5 |
Jorge Castañeda |
Analista de Sistemas |
E6 |
Luis Chávez |
Ingeniero Eléctrico |
E7 |
Roberto Dávila |
Ingeniero Mecánico |
E8 |
Julia Jiménez |
Analista de Sistemas |
ENO |
JNO |
PUESTO |
DUR |
E1 |
J1 |
Administrador |
12 |
E2 |
J1 |
Analista |
24 |
E2 |
J2 |
Analista |
6 |
E3 |
J3 |
Consultor |
10 |
E3 |
J4 |
Ingeniero |
48 |
E4 |
J2 |
Programador |
18 |
E5 |
J2 |
Administrador |
24 |
E6 |
J4 |
Administrador |
48 |
E7 |
J3 |
Ingeniero |
36 |
E7 |
J5 |
Ingeniero |
23 |
E8 |
J3 |
Administrador |
40 |
JNO |
JNOMBRE |
PRESUPUESTO |
LUGAR |
J1 |
Instrumentación |
150000 |
Monterrey |
J2 |
Desarrollo de bases de datos |
135000 |
México |
J3 |
CAD/CAM |
250000 |
Puebla |
J4 |
Mantenimiento |
310000 |
México |
J5 |
CAD/CAM |
500000 |
Monterrey |
TITULO |
SALARIO |
Ingeniero Eléctrico |
40000 |
Analista de Sistemas |
34000 |
Ingeniero Mecánico |
27000 |
Programador |
24000 |
Figura 2.1. Bases de datos de una empresa con cuatro relaciones.
Si se quisiera obtener todos los empleados y sus salarios en la corporación quienes han trabajado más de 12 meses se haría la consulta siguiente en SQL:
Se debe tener en cuenta que en cada sitio de la corporación puede haber esquemas diferentes o repetidos. Por ejemplo, en la Figura 2.2 se presentan esquemas diferentes para el manejo de proyectos, empleados y puestos en cada sitio de la bases de datos del Ejemplo 2.1.
Figura 2.2. Diferentes sitios de un corporación.
En resumen, la transparencia tiene como punto central la independencia de datos. Los diferentes niveles de transparencia se puede organizar en capas como se muestra en la Figura 2.3. En el primer nivel se soporta la transparencia de red. En el segundo nivel se permite la transparencia de replicación de datos. En el tercer nivel se permite la transparencia de la fragmentación. Finalmente, en el último nivel se permite la transparencia de acceso (por medio de lenguaje de manipulación de datos).
La responsabilidad sobre el manejo de transparencia debe estar compartida tanto por el sistema operativo, el sistema de manejo de bases de datos y el lenguaje de acceso a la base de datos distribuida. Entre estos tres módulos se deben resolver los aspectos sobre el procesamiento distribuido de consultas y sobre el manejo de nombres de objetos distribuidos.
Figura 2.3. Organización en capas de los niveles de transparencia.