Download haz clic aquí para saber más de este tema
Document related concepts
Transcript
Transparencia de distribución La transparencia de distribución permite manejar una base de datos físicamente dispersa como si fuera centralizada. El nivel de transparencia soportado por el Sistema de Administración de Base de Datos Distribuida (DDBMS) varía de sistema a sistema. Se reconocen tres niveles de transparencia de distribución (Rob, 2004): La transparencia de fragmentación es el mayor nivel de transparencia. El usuario o programador no necesita saber que una base de datos está en particiones; por consiguiente, ni los hombres ni la ubicación de los fragmentos se especifican antes de acceder a los datos. La transparencia de ubicación existe cuando el usuario o programador debe especificar los nombres de los fragmentos de la base de datos, pero no su ubucación. La transparencia de ubicación local existe cuando el usuario o programador debe especificar tanto los nombres como las ubicaciones de los fragmentos. La transparencia de distribución permite que una base de datos distribuida sea tratada como una sola base de datos lógica. Si un sistema de administración de base de datos distribuida exhibe transparencia de distribución, el usuario no necesita saber: que los datos están en particiones, que los datos pueden ser replicados en varios sitios, o la ubicación de los datos. En la Tabla 1 se resumen las características de la transparencia de distribución. Si la instrucción SQL requiere: Nombre del fragmento Nombre de la ubicación Luego el DDBMS soporta Nivel de transparencia de distribución Sí Sí Mapeo local Bajo Sí No Transparencia de ubicación Medio No No Transparencia de fragmentación Alto Tabla 1. Resumen de características de transparencia de distribución. Al examinar la Tabla 1, podríamos preguntarnos por qué no existe referencia a una situación en la cual el nombre del fragmento es "No" y el de la ubicación es "Sí". La razón por la que no se incluye este escenario es simple: no puede tenerse el nombre de una ubicación que no haga referencia a un fragmento existente (si no necesita especificarse el nombre de un fragmento, su ubicación claramente no viene al caso). Para ilustrar el uso de varios niveles de trasparencia, vamos a suponer que se tiene una tabla EMPLEADO que contiene los atributos EMP_NOMBRE, EMP_NAC, EMP_DIR, EMP_DEP y EMP_SALARIO. Los datos EMPLEADO están distribuidos en tres lugares: Veracruz, Monterrey y DF. La tabla está dividida por ubicación, es decir, todos los datos de los empleados de Veracruz están guardados en el fragmento E1, los datos de los empleados de Monterrey en el fragmento E2 y los de DF en el fragmento E3. Esto lo podemos ver en la Figura 1. Figura 1. Ubicaciones de los fragmentos. Bien, ahora supongamos que el usuario desea poner una lista de todos los empleados con fecha de nacimiento anterior al 1 de enero de 1940. Para enfocarse en los temas de transparencia, también supongamos que la tabla EMPLEADO está fragmentada y que cada fragmento es único (la condición de fragmento único indica que todas las filas son únicas, sin hacer caso de qué fragmento esté localizado en elllas). Por último, supongamos también que ninguna parte de la base de datos está replicada en algún otro sitio de la red. Según el nivel de soporte de la transparencia de distribución, pueden examinarse tres casos de consulta: CASO 1: LA BASE DE DATOS SOPORTA TRANSPARENCIA DE FRAGMENTACIÓN La consulta se ajusta al formato de consulta de base de datos no distribuida, es decir, no especifica nombres de ubicaciones de fragmento. La consulta dice así: SELECT * FROM EMPLEADO WHERE EMP_NAC < '01-ENE-1940'; CASO 2: LA BASE DE DATOS SOPORTA TRANSPARENCIA DE UBICACIÓN En la consulta deben especificarse los nombres de fragmento, mas No su ubicación. La consulta dice así: SELECT * FROM E1 WHERE EMP_NAC < '01-ENE-1940'; UNION SELECT * FROM E2 WHERE EMP_NAC < '01-ENE-1940'; UNION SELECT * FROM E3 WHERE EMP_NAC < '01-ENE-1940'; CASO 3: LA BASE DE DATOS SOPORTA TRANSPARENCIA DE UBICACIÓN LOCAL En la consulta deben especificarse tanto el nombre como la ubicación del fragmento. Si se utiliza pseudo SQL, la consulta dice así: SELECT * FROM E1 NODE VERACRUZ WHERE EMP_NAC < '01-ENE-1940'; UNION SELECT * FROM E2 NODE MONTERREY WHERE EMP_NAC < '01-ENE-1940'; UNION SELECT * FROM E3 NODE DF WHERE EMP_NAC < '01-ENE-1940'; La palabra NODE indica la ubicación del fragmento de la base de datos. Se utiliza NODE para propósitos de ilustración y no forma parte de la sintaxis SQL. Al examinarse los formatos de consulta precedentes, se ve la forma en la que la transparencia de distribución afecta la interacción de los usuarios y programadores con la base de datos. La transparencia de distribución es soportada por un Diccionario de Datos Distribuidos (DDD, por sus siglas en inglés: Data Distributed Dictionara) o un Catálogo de Datos Distribuidos (DDC, por sus siglas en inglés: Data Distributed Catalog). El DDC contiene la descripción de toda la base de datos tal como la ve su administrador. La descripción de la base de datos, conocida como esquema global distribuido, en el esquema de base de datos común utilizado por procesadores de transacciones locales, para transformar las consultas de usuarios en subconsultas (solicitudes remotas) que serán procesadas por diferentes procesadores de datos. El DDC es en sí mismo distribuido, y está replicado en los nodos de red; por consiguiente, el DDC debe mantener consistencia mediante la actualización en todos los sitios. Para concluir, debemos tomar en cuenta que algunas versiones actuales de DDBMS limitan el nivel de soporte de transparencia; por ejemplo, podría distribuirse una base de datos, mas no una tabla, a través de varios sitios. Una condición como ésa indica que el DDBMS soporta transparencia de ubicación, pero no de fragmentación.