Logo Studenta

Manejo de Fragmentación y Replicación en Bases de Datos Distribuidas

¡Este material tiene más páginas!

Vista previa del material en texto

INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY 
CAMPUS ESTADO DE MÉXICO 
MANEJO DE FRAGMENTACIÓN Y REPLICACIÓN 
. TRANSPARENTE EN BASES DE DATOS 
RELACIONALES DISTRIBUIDAS 
TESIS PARA OPTAR EL GRADO 
DE MAESTRO EN CIENCIAS COMPUTACIONALES 
PRESENTA 
FRANCISCO JAVIER FLAMENCO SANDOVAL 
Asesor: Dr. JUAN FRANCISCO CORONA B. 
Comité de Tesis: Dr. JESÚS SÁNCHEZ VELÁZQUEZ 
MC. FRANCISCO CAMARGO SANTACRUZ 
Jurado: Dr. JESÚS SÁNCHEZ VELÁZQUEZ Presidente 
MC. FRANCISCO CAMARGO SANTACRUZ Secretario 
Dr. JUAN FRANCISCO CORONA BURGUEÑO Vocal 
Atizapán de Zaragoza, Edo. Méx., Diciembre de 1996 
~INl!DiC!c. IOif riij~~úll.S> ........................................................................................................................... 9 
~ ilNlffiO!t>~CC.!ÓINl ............................................................................................................................... 10 
2 CONIDTO ijflNlf!K<úíJL ................................................................................................................... 13 
2.1 LOS SISTEMAS DISTRIBUIDOS ...................................................................... 13 
2.1.2 Generalidades .......................................................................................... 14 
2.1.3 Objetivos en el Diseño de Sistemas Distribuidos .............. 15 
2.1.4 El Subsistema de Comunicación .................................................. 16 
2.1.4.l Parámetros de Desempeño ....................................................... 16 
2.1.4.2 Requerimientos de Desempeño ............................................... 17 
2.1.4.3 Requerimientos de Confiabilidad ............................................ 17 
2.1.4.4 Tipos de Redes .............................................................................. 17 
2.1.4.5 Los Paquetes .................................................................................. 18 
2.1.4.6 El Trabajo entre Redes ............................................................... 18 
2.1.5 Comunicación entre Procesos ....................................................... 18 
2.1.5.1 El Paradigma Cliente Servidor ................................................. 19 
2.1.5.2 Llamadas a Procedimientos Remotos ..................................... 19 
2.1.6 La Coordinación entre Procesos ................................................ 19 
2.1.7 Transacciones ........................................................................................ 20 
2.1.8 Tolerancia a Fallas .............................................................................. 21 
2.2 LOS SISTEMAS MANEJADORES DE BASES DE DATOS ...................... 21 
2.2.1 Objetivos .................................................................................................... 22 
2.2.2 Abstracción de Datos ......................................................................... 22 
2.2.3 Modelos de Datos ................................................................................. 23 
2.2.3.1 Modelos Lógicos de Datos Basados en Objetos ................... 23 
2.2.3.2 Modelos Lógicos de Datos Basados en Registros ................ 23 
2.2.3.3 Modelos Físicos de Datos ........................................................... 24 
2.2.4 Instancias y Esquemas ...................................................................... 24 
2.2.5 Independencia de Datos ................................................................. 24 
2.2.6 Lenguajes de Definición de Datos ............................................ 25 
2.2. 7 Lenguajes de Manipulación de Datos ..................................... 25 
2.2.8 Manejadores de Bases de Datos ................................................. 25 
.3 l05 515TCMA5 f ílM fl MfU1tJO Dt !NfOW<MílCIÓN bk!5DC rlNALE.5 DC 
l05 '°' J dlJ L05 so· 1 .................................................................................................................... 26 
3.1 SISTEMAS BASADOS EN ARCHIVOS .................... : ....................................... 26 
3.2 BASES DE DATOS JERÁRQUICAS Y DE RED ........................................... 26 
3.3 LAS BASES DE DATOS RELACIONALES ..................................................... 27 
4 
Ftl<IINII 
3.4 MODELOS DE BASES DE DATOS DISTRIBUIDAS Y 
EXTENDIDAS ............................................................................................................. 28 
3.5 BASES DE DATOS ORIENTADAS A OBJETOS ......................................... 29 
3.6 HIPERTEXT0 .............................................................................................................. 29 
3. 7 BASES DE DATOS INTELIGENTES ............................................................... 29 
3.8 TRABAJOS PARA ENCAUSAR LA INVESTIGACIÓN DE 
SISTEMAS MANEJADORES DE BASES DE DATOS EN 
LOS 90's ....................................................................................................................... 30 
3.8.l Manifiesto de los Sistemas de Bases de Datos 
de la Tercera Generación ................................................................. 30 
3.8.2 Manifiesto de los Sistemas de Bases de Datos 
Orientados a Objetos ........................................................................ .32 
3.8.3 El Grupo de Trabajo de la National Science 
Foundation ............................................................................................. 32 
~ l05 SI.STU1úllS MANrJ~bO~f.5 IM:: ~~5r.5 bf b~T05 DI.SnUlf''JlbOS ....................... .34 
4.1 VENTAJAS Y DESVENTAJAS .............................................................................. .34 
4.2 ARQUITECTURA DE UNA BASE DE DATOS 
DISTRIBUIDA ............................................................................................................ 3 5 
4.2.1 Arquitectura de un Sistema Manejador de Bases 
Datos Distribuidas ................................................................................... 39 
4.2.2 Arquitectura de los Sistemas Multi Base de Datos ......... 42 
4.2.3 El Directorio Global... .......................................................................... 43 
4.3 TRANSPARENCIA ..................................................................................................... 44 
4.3.l Transparencia de Red ........................................................................ 45 
4.3.2 Transparencia de Replicación ....................................................... 45 
4.3.3 Transparencia de Fragmentación ............................................... 45 
4.4 DISEÑO DE BASES DE DATOS DISTRIBUIDAS ..................................... 45 
4.4. l El Diseño Ascendente y Descendente del 
Esquema Global ......................................................................................... 46 
4.4.2 Diseño de Fragmentación ................................................................ 47 
4.4.3 Diseño de Localización de Fragmentos .................................. 48 
4.5 PASO DE CONSULTAS GLOBALES A CONSULTAS EN 
FRAGMENTOS ........................................................................................................... 48 
4.6 ESTRATEGIAS DE ACCES0 ................................................................................ 56 
4.6.l Modelado de Consultas para su Análisis ................................ 57 
4.6.2 Modelado para Optimar Consultas ...................................... : ..... 61 
4. 7 ADMINISTRACIÓN DE TRANSACCIONES ................................................. 63 
4.7.l Objetivos en la Administración de Transacciones ........... 64 
5 
YIÍQINl1 
4. 7.2 Las Transacciones Distribuidas ................................................... 65 
4.8 CONTROL DE CONCURRENCIAS ................................................................... 69 
4.8.1 Candados a dos Fases ......................................................................... 70 
4.8.2 Detección y Prevención de Abrazos Mortales ..................... 71 
4.8.3 Estampillas de Tiempo .......................................................................71 
4.8.4 Método Optimista para el Control de Concurrencias .... 72 
4. 9 ADMINISTRACIÓN ................................................................................................ 72 
4.9.1 Catálogo ..................................................................................................... 73 
4.9.1.1 Contenido de los Catálogos ...................................................... 73 
4.9.1.2 Distribución de los Catálogos ................................................... 73 
4.9.1.3 Nombre de Objetos y Administración 
Autónoma ....................................................................................... 74 
4.10 CONCLUSIONES DEL CAPÍTULO 4 ................................................ 74 
5 ~lc:W(~rAJM!lc~TrAl5 fdlJfüí~ (Ou'!J-SiTOC\\JJm \\JJ~ 5!S>UT1\rill í\\tfll~lCJIAJ!DJO~ IO)IE DrAISilr.5 
ble brAIT05 bl5Tr<.l~lb0 .............................................................................................................. 11 
5.1 LA ARQUITECTURA CLIENTE SERVIDOR ................................................. 77 
5.2 LENGUAJES TRANSACCIONALES ................................................................... 80 
5.2.1 El Nombre de los Objetos en Transact-SQL.. ....................... 80 
5.2.2 Lenguaje de Definición de Datos ................................................. 80 
5.2.3 Lenguaje de Manipulación de Datos .......................................... 81 
5.2.4 Lenguaje de Control... ........................................................................ 82 
5.2.5 Instrucciones para el Control de Flujo ................................... 83 
5.2.6 Declaración de Variables .................................................................. 84 
5.2. 7 Procedimientos Almacenados ........................................................ 84 
5.2.8 Disparadores (TRIGGERS) ............................................................. 86 
5.2.9 Manejo de Transacciones ................................................................. 87 
5.3 HERRAMIENTAS PARA EL TRABAJO DISTRIBUID0 ........................... 88 
5.3.1 Protocolo de Compromiso a Dos Fases ................................... 88 
5.3.2 Manipulación de Datos Distribuidos ........................................ 89 
5.3.3 Servicios de Replicación de Datos .............................................. 90 
5.3.4 Open Server ............................................................................................. 91 
5.3.5 Replication Server ............................................................................. : .. 93 
5.3.6 Navigation Server ................................................................................. 94 
5.4 CONCLUSIONES DEL CAPÍTULO 5 .................................................. 95 
<í. fW<ODlleruÍTICdlJ f dü~~ ILl btSJ~~~(OIL10 lDJIE ~~ lli\ÓICl~lO ICl!E 
r~~~MfNT 61(1ÓN T f{ff'UCdll<C.!Ó~ TIK<~N~r ~~f~T!E'. ............................................................. 9 7 
6 .1 NIVELES DE TRANSPARENCIA EN LA DISTRIBUCIÓN ................... 97 
6 
t'IÍQINII 
6.1.l Transparencia en Aplicaciones Simples de 
Sólo Lectura ............................................................................................ 97 
6.1.2 Transparencia en Aplicaciones Complejas de 
Sólo Lectura ............................................................................................ 99 
6.1.3 Transparencia en Aplicaciones que Modifican Datos .... 100 
6.2 MODIFICACIONES EN EL LENGUAJE DE DEFINICIÓN 
DE DATOS ................................................................................................................. 102 
6.2. l Definición ~e Bases de Datos Fragmentada con 
Enfoque Descendente ........................................................................... 102 
6.2.2 Definición de Bases de Datos Fragmentada con 
Enfoque Ascendente ............................................................................. .-.103 
6.3 MECANISMOS PARA LECTURA Y ESCRITURA EN 
FRAGMENTOS REPUCADOS ............................................................................ 105 
6.3. l Copias Sincrónicas: se lee una copia, se 
actualizan todas .................................................................................... 105 
6.3.2 Copias Sincrónicas: lectura y actualización 
basadas en quórum ............................................................................. 106 
6.3.3 Copias Sincrónicas: actualización de una o todas las 
copias, dependiendo del tipo y montq de la 
operación ................................................................................................... 106 
6.3.4 Copias Asincrónicas: primaria actualizable, 
secundarias de lectura; datos no voluminosos .................. 107 
6.3.5 Copias Asincrónicas: todas actualizables ............................... 107 
6.3.6 Copias Asincrónicas: primarias actualizables 
secundarias de lectura; datos voluminosos ......................... 107 
6.4 CONCLUSIONES DEL CAPÍTULO 6 .................................................. 107 
71 lM~r.lflJo f illi\W'l!crí\[IN!r~c~ó~ ffj¡[c 'lllNI rUOINlffO~ ~lO!g}ríll ffj¡[é rD>tSif!K\ilD~(!Ó~ ............ 109 
7.1 DISEÑO DEL SISTEMA ......................................................................................... 109 
7.1.l Instrucciones a Procesar ................................................................ 110 
7.1.2 Catálogo de Datos ............................................................................... 112 
7.1.3 Bases de Datos para Implementar Ejemplos ...................... 114 · 
7.2 DISEÑO E IMPLEMENTACIÓN DE MECANISMOS PARA 
EL MONITOR GLOBAL DE DISTRIBUCIÓN ............................................. 115 
7.2.l Componentes del Monitor Global de Transacciones ...... 115 
7.2.2 Receptor de Transacciones Globales ........................................ 116 
7.2.3 Analizador de Semántica de Transacciones Globales .... 118 
7.2.4 Manejador del Lenguaje de Definición de Datos ............. 119 
7 
rtíQIHtl 
7.2.5 Módulo de Descomposición de Transacciones ................. 120 
7 .2.6 Optimizador de Consultas .............................................................. 121 
7.2. 7 Calendarizador de Transacciones Globales .......................... 121 
7.2.8 Despachador Global... ......................................................................... 122 
7.3 RUTINAS EMPLEADAS EN LA IMPLEMENTACIÓN .............................. 122 
7.3.1 Definiciones y Encabezados ............................................................ 122 
7.3.2 Conexiones al Monitor Global y a Nodos ............................... 124 
7.3.3 Consultas a Servidores SQL. .......................................................... 124 
7.3.4 Modificacio~es en el Leguaje de Definición de Datos .... 125 
7.3.5 Protocolo de Compromiso a Dos Fases ................................... 126 
7.3.6 Lecturas y Escrituras Distribuidas ............................................ 127 
7.4 EVALUACION DEL SISTEMA ............................................................. 129 
7.5 COMPARACIÓN CON OTRAS FORMAS DE DISTRIBUIR 
LOS DATOS .................................................................................. 130 
7.6 PROPUESTAS PARA FUTURAS INVESTIGACIONES ...................... 131 
7.7 CONCLUSIONES DEL CAPÍTULO 7 ............................................... 131 
6 {01Nltl~5~ÓINl .................................................................................................................................... 133 
si iylili:)l!(()qjlf(,~u,[h1! .................................................................................................................................. 13s 
\\Ji~ .05ill~(~O [íllt. '.1>1(~11.«l~J ...................................................................................................................... l 3 7 
8 
Fig. 4.1 
Fig. 4.2 
Fig. 4.3 
Fig. 4.4 
Fig. 4.5 
Fig. 4.6 
Fig. 4.7 
Fig. 4.8 
Fig. 4.9 
Fig. 4.10 
Fig. 4.11 
Fig. 4.12 
Fig. 4.13 
Fig. 4.14 
Fig. 4.15 
Fig. 4.16 
Fig. 4.17Fig. 4.18 
Fig. 4.19 
Fig. 5.1 
Fig. 6.1 
Fig. 6.2 
Fig. 6.3 
Fig. 7.1 
Fig. 7.2 
Fig. 7.3 
Fig. 7.4 
Fig. 7.5 
Fig. 7.6 
Fig. 7.7 
Fig. 7.8 
YA<UNII 
Alternativas de Implementación en Sistema Manejador de Bases de 
Datos Distribuidas.............................................................................................................. 36 
Arquitectura Referencial para una Base de Datos Distribuidas............................. 37 
Fragmentos e Imágenes Físicas para una Relación Global................................... 38 
Arquitectura de Esquemas para una un Base de Datos Distribuida.................... 39 
Esquema Funcional de un Sistema Manejador de Bases de 
Datos Distribuido............................................................................................................... 40 
Componentes de un Sistema Manejador de Bases de Datos Distribuido........... 41 
Arquitectura de Sistemas Multi Base de Datos con ECG....................................... 42 
Arquitectura de Sistemas Mulli Base de Datos sin ECG (Litwin. 1998) ................... 43 
Componentes de un Sistema Multi Base de Datos................................................... 44 
Direcciones en el Diseño de la Distribución............................................................... 46 
Árbol de Operaciones..................................................................................................... 50 
Join no Distribuido............................................................................................................ 63 
Join Distribuido.................................................................................................................. 63 
Uniones paciales.............................................................................................................. 63 
Comunicación en el Protocolo de Compromiso a Dos Fases............................... 67 
Transacciones Distribuidas con Estructura Centralizada ......................................... 68 
Transacciones Distribuidas con Estruchxa Jeráquica ............................................. 68 
Transacciones Distribuidas con Estructura Linear ...................................................... 68 
Transacciones Distribuidas con Estructura Distribuida .............................................. 68 
Funciones de Comunicación Cliente - Servidor en Sybase .................................... 79 
Aplicación de sólo Lectura en diferentes Niveles de Transparencia................... 98 
Aplicación SUPOFPART con Diferentes niveles de Transparencia................................... 99 
Aplicación de Modificación de Datos con Diferentes Niveles de 
Distribución Transparente................................................................................................... 101 
Componentes del Sistema............................................................................................. 109 
Catálogo Global de la Base de Datos........................................................................ 112 
Ejemplo para mostrar la Implementación.................................................................. 115 
Propuesta para la Implementación de un Monitor 
Global de Transacciones................................................................................................ 116 
Receptor de Transacciones........................................................................................... 117 
Receptor. Analizador de Semántica de Solicitudes Globales, 
Manejador de LOO y Catálogo Global....................................................................... 118 
Componentes Relacionados con el Calendorizador de Transacciones............ 121 
Esquema de la Programación del Monitor Global de Distribución...................... 123 
9 
El progreso que ha presentado la tecnología de redes en los últimos años. al igual que la 
comercialización de bases de datos de tipo relacional ha sido dramático. La combinación de 
ambas tecnologías. y el avance en las investigaciones sobre sistemas distribuidos han dado 
origen a las Bases de Datos Relacionales Distribuidas. caracterizadas por dos propiedades 
principales [Belford.1982): 
• La creación de subconjuntos de bases de datos en varias computadoras. que pueden 
encontrarse. o no. en lugares geográficamente lejanos. Con la capacidad de accesar y 
manipular todos los subconjuntos. 
• Las computadoras están enlazadas por una red. Todos los datos son administrados por un 
solo Sistema Manejador de Bases de Datos, y los usuarios del sistema no tienen porque 
percatarse de la distribución del sistema. 
Ya desde 1988 Stonebraker [Stonebraker. 1988) anunciaba que las bases de datos 
centralizadas se.rían obsoletas dentro de l O años. sin embargo en la actualidad aún son 
populares y se emplean tanto en pequeñas como en grandes empresas. 
El paso de Sistemas Manejadores de Bases de Datos Centralizados a Sistemas Manejadores de 
Bases de Datos Distribuidas (SMBDD) en su forma comercial ha sido lento y parcial. Dos de las 
principales causas de este retardo han sido la deficiencia en las líneas de comunicación y la 
falta de transparencia en fragmentación. replicación y localización de los datos. La falta de 
transparencia en sistemas comerciales deja en manos del usuario una serie de decisiones 
complejas. que de no ser tomadas adecuadamente implican reingeniería y costos 
adicionales. 
Tanto la aparición de nuevas tecnologías de redes más confiables. como la de productos que 
permiten mayor transparencia en el uso de replicas y de fragmentación, auguran una pronta 
implementación masiva de SMBDD a muy corto plazo. 
Este trabajo cubre los siguientes objetivos: 
• Presentar algunos conceptos y técnicas especificas que las investigaciones en el área de 
Sistemas Distribuidos han aportado para el desarrollo de SMBDDs. 
• Hacer un análisis del estado del arte en materia de Manejadores de Bases de Datos. 
10 
• Presentar los diseños clásicos de Sistemas Manejadores de Bases de Datos Distribuidas y 
proponer la manera como debe ser implementados. en futuras investigaciones. 
• Implementar una parte del prototipo de tal forma que se provea fragmentación y 
replicación transparente. 
Para lograr los objetivos se han desarrollado los siguientes capítulos: 
Capítulo 2. Este capítulo se divide en dos partes. la primera se dedica a los Sistemas 
Distribuidos y la Segunda a los Sistemas Manejadores de Bases de Datos. En la primera parte se 
hace una presentación general de los conceptos relevantes en las áreas de Sistemas 
Distribuidos: visión general del área. el subsistema de comunicación. características con que 
debe contar un sistema de esta clase y algunas técnicas de comunicación entre procesos. La 
segunda parte, dedicada a los Sistemas Manejadores de Bases de Datos. menciona sus 
objetivos. define sus características y se mencionan los principales modelos. 
Capítulo 3. Considera los principales rumbos que ha tomado el manejo de información en las 
últimas tres décadas y las líneas de investigación que se trabajan en la actualidad. En este 
capítulo se pueden encontrar algunas referencias para ubicar el contexto de las 
investigaciones en el área de Bases de Datos. 
Capítulo 4. El capítulo, es una descripción de los modelos clásicos de SMBDDs. Los conceptos 
principales en el área de SMBDD son desarrollados en 9 temas: ventajas y desventajas. 
arquitectura. transparencia. diseño, consultas. acceso. administración de transacciones. 
control de concurrencias y administración del sistema. 
Capítulo 5. Este capítulo se divide en tres partes principales. La primera se refiere a la 
arquitectura cliente servidor en los Sistemas Manejadores de Bases de Datos (SMBD). La 
segunda presenta la forma en que trabajan los servidores SQL. Por último se describen algunas 
herramientas que suelen proveerse con los servidores SQL para permitir la distribución del 
sistema. 
Capítulo 6. Marca tres aspectos que debe cubrir la transparencia defragmentación y 
replicación en un SMBDD: Transpaencia para el programador de las apUcaciones. 
transparencia en el lenguaje de definición de datos y transparencia en los mecanismos de 
lectura y escritura. 
11 
Capítulo 7. Trata sobre el diseño e implementación de un módulo de replicación y 
fragmentación transparente. que cubre la problemática planteada en el capítulo 6. Primero 
se expone el diseño del sistema y se presentan algunas tablas que sirven de ejemplo para 
entender su funcionamiento. Posteriormente se describe cada uno de los componentes del 
sistema y por último se presentan algunas de las rutinas que sirvieron para la implementación 
de un prototipo de sistema distribuido. 
Capítulo 8. Presenta resultados y conclusiones de esta investigación. 
12 
los servicios de información que proporcionan las computadoras. nacieron en forma 
centralizada. es decir. en un principio las computadoras trabajaban para un sólo usuario. 
Posteriormente se inició el trabajo con tiempo compartido y después el trabajo con pequeñas 
redes. de tal forma que. en poco tiempo se han transformado en sistemas distribuidos. En este 
marco los sistemas distribuidos han sido de gan interés ya que se conforman por un conjunto 
de computadoras. frecuentemente heterogéneas. que se comunican a través de una red y 
cooperan para realizar un trabajo común [Coulouris 1994). Estos sistemas permiten compartir 
recursos e información en áreas extensas conjuntando el poder de varias computadoras para 
adquirir. de esta forma. mayor capacidad de procesamiento. los Sistemas Distribuidos brindan 
características como escalabilidad. autonomia. transparencia y tolerancia a follas. 
Por otra parte. el procesamiento de datos estructurados. en la actualidad se realiza a través 
de colecciones de datos relacionados y un conjunto de programas para acceder a esos 
datos. El objetivo primordial de un Sistema Manejador de Bases de Datos (SMBD) es 
proporcionar un. entorno que sea a la vez conveniente y eficiente para ser utilizado al extraer 
y almacenar información de la base de datos [Korth. Silberschatz 1993). La importancia de la 
información en la mayoría de las organizaciones y por tanto el valor de la base de datos. ha 
llevado al desarrollo de una gran cantidad de conceptos y técnicas para la gestión eficiente 
de la información. Los dos temas a tratar en este capítulo son los Sistemas Distribuidos y los 
Sistemas Manejadores de Bases de Datos. 
2.1 LOS SISTEMAS DISTRIBUIDOS 
los sistemas distribuidos permiten compartir recursos e información en áreas extensas. de modo 
que se pueden utilizar varias computadoras pequeñas para resolver grandes problemas. 
Desde hace más de 20 años. los investigadores en el área de Sistemas Distribuidos han 
propuesto toda clase de técnicas para diseñar software distribuido. Soluciones satisfactorias 
han surgido en muchas áreas. estándares han sido establecidos y en la actualidad los sistemas 
distribuidos son ampliamente usados en escuelas. fábricas y empresas [Sánchez. 1995). 
A continuación se presentan algunos aspectos que han influido en la investigación y desarrollo 
de Sistemas de Bases de Datos Distribuidas. 
13 
2.1.2 Generalidades 
"Un sistema distribuido consiste en una colección de computadoras autónomas unidas por 
una red computacional y equipado con software de sistema distribuido. El software de 
sistema distribuido le permite a las computadoras coordinar sus actividades y compartir sus 
recursos de hardware. software y datos. Los usuarios de un sistema distribuido bien diseñado 
deben percibir una facilidad única e integrada de cómputo a pesar de que ésta sea 
implementada por muchas computadoras en diferentes lugares" [Couloris 1994). 
Podemos señalar como características ideales de un sistema distribuido. las siguientes: 
• Se usa un sistema de comunicación 
• Ausencia de un estado global perceptible por un observador 
• Sincronización del trabajo 
• Los recursos se compaten 
• Permiten Apertura. Capacidad de comunicación con otros equipos de diferente 
arquitectura y ofrecidos por diferentes proveedores. 
• Facilitan la Concurrencia. 
• Proporcionan· Escalabilidad. Aumentan la capacidad de los equipos y permite añadir 
nuevas computadoras al sistema sin necesidad de modificar su estructura. 
• Toleran Fallas: Permiten que el sistema siga funcionando a pesar de que una computadora 
no funcione o un periférico se dañe. 
• Se dan en un ambiente transparente. El usuario no requiere conocer detalles sobre la 
distribución del sistema. 
Los primeros intentos de desarrollo de esta tecnología inicia a finales de los 70's con sistemas 
de archivos distribuidos (Xerox DFSJ. y el uso de pilas de procesadores para una red de 
computadoras (Cambridge Distributed Computing System). Con la llegada de las estaciones 
de trabajo y minicomputadores se logran mejores interfaces gráficas y nuevos desarrollos de 
software. Sin embargo, la falta de conectividad no les permite un trabajo realmente 
cooperativo. 
Entre los mejores trabajos de interconectividad para equipos personales encontramos los 
realizados en el Centro de Investigación de Xerox Palo Alto de 1971 a 1980. los cuales 
incluyen: 
• El desarrollo de un servidor de archivos e impresoras para estaciones de trabajo personal. 
• La primer red local de alta velocidad (La red Ethernet). 
• Varios Sistemas Distribuidos de tipo experimental. 
14 
Desde la década de los ochentas a la fecha, la investigación y el desarrollo de sistemas 
distribuidos se ha incrementado a un ritmo acelerado generando productos como Accent. 
Mach, Amoeba. Argus. V-system y Chorus. 
2.1.3 Objetivos en el Diseño de Sistemas Distribuidos 
Para lograr las características deseables de un sistema distribuido de tal forma que faciliten la 
interacción entre las personas. computadoras y programas relacionadas con él. es necesario 
considerar: 
la resolución de nombres. Los nombres que se asignan a los recursos u objetos de un sistema 
distribuido para ofrecer sus servicios en forma transparente. deben tener un significado global 
que sea independiente de la localidad. y deben ser soportados por un sistema de 
interpretación de nombres que permita a los programas accesar los recursos adecuados. Uno 
meta del diseño es establecer un esquema de nombres escalables con traducción eficiente y 
alto grado de desempeño. 
la comunlcacló·n. El desempeño y lo disponibilidad de las técnicas de comunicación usadas 
paro la implementación del sistema distribuido son críticos en el funcionamiento del mismo. En 
este aspecto. la meta a alcanza es hacer óptima la implementación de las comunicaciones 
en el sistema. mediante un modelo de progamación de alto nivel para su uso. 
Estructura del Software. La apertura se alcanzo gracias al diseño y construcción de 
componentes de software con interfaces bien definidas. La abstracción de datos es una 
técnica de diseño importante para los sistemas dislribuidos. Los servicios pueden ser vistos 
como los administradores de objetos de un tipo de datos; la interfaz a un servicio puede ser 
vista como un conjunto de operaciones. En este caso. lo meta es estructurar un sistema en el 
que se puedan introducir nuevos servicios. para trabajar en conjunto con los ya existentes. sin 
duplicar elementos de los servicios establecidos. 
Carga de Trabajo por Nodo. Uno de las metas en el diseño es repartir los procesos para que las 
comunicaciones y el procesamiento se realicen en forma óptima. 
Mantenimiento de la consistencia. Existen varios problemas relacionados con la consistencia 
que surgen al trabajar con sistemas distribuidos. El mantenimiento de la consistencia puede 
ser costoso y lo meta del diseño es el equilibrio entre consistencia y costo razonable. 
15 
2.1.4 El Subsistema de Comunicación 
En esta sección veremos en una forma general el subsistema de comunicación. Este 
subsistema se conforma por varios componentes de hardware(interfaces. ruteadores. 
switches ... ) y software (protocolos y manejadores de comunicación). Todos estos 
componentes forman la red de comunicaciones. 
2.1.4.1 Parámetros de Desempeño 
Entre los parámetros que afectan el desempeño de la red tenemos aquellos relacionados con 
la velocidad con la que un mensaje es transmitido entre dos computadoras conectadas a 
través de la red. Estos parámetros son la latencia y la tasa de transferencia de datos punto a 
punto. 
latencia. Es el tiempo requerido para transmitir un mensaje vacío entre dos computadoras. 
Esta medida involucra tanto al acceso del transmisor y del receptor a la red. como a la red 
misma. La latencia se determina principalmente por el modo de trabajo del software y rutinas 
de retardo para el acceso. 
la tasa de transferencia de datos punto a punto es la velocidad a la cual los datos pueden ser 
transmitidos entre dos computadoras en la red, una vez que la transmisión fue iniciada. La 
tasa de trasferencia esta determinada principalmente por las características físicas de la red y 
se mide en bits por segundo. 
Siguiendo estas definiciones. el tiempo requerido por una red para transmitir un mensaje entre 
dos computadoras es: 
Tiempo de transferencia de mensaje= latencia + longilud / tasa de lransferencia de dalos (2. 1 ) 
El ancho de banda de una red es una medida que nos indica el total del volumen de tráfico 
que puede ser enviado a través de la red en un tiempo dado. En muchas tecnologías se 
utiliza toda la capacidad de transmisión para enviar cualquier mensaje y el ancho de banda 
es igual a la tasa de transferencia de datos. Pero en la mayoría de las redes amplias se 
pueden mandar varios mensajes a través de varios canales a la vez. El desempeño de la red 
se deteriora en condiciones de tráfico. cuando hay muchos mensajes en la red al mismo 
tiempo. El tráfico. la latencia. la tasa de transferencia y el ancho de banda de una red 
dependen de la tecnología de red empleada. 
16 
2.1.4.2 Requerimientos de Desempeño 
Los accesos tanto a los discos. como a la red son muy lentos en comparación con la 
velocidad de procesamiento del CPU. Es por esto que normalmente el procesador puede 
trabajar con varias tareas a la vez. mientras espera la llegada de nuevos mensajes o 
respuestas. Es deseable que los accesos a la red sean proporcionales a los de un disco. lo cual 
no siempre es posible debido a la limitación en el ancho de banda de las redes y tasa de 
transferencia. aunado a la sobrecarga que acompaña a los mensajes en la red. Actualmente 
los disco trabajan con un tiempo de acceso de entre 1 O y 20 milisegundos, por lo que una 
petición de lectura no puede ser menor a este tiempo teniendo latencias de 5 milisegundos y 
tasas de 200 kb/s que incluyan información para la transmisión de los mensajes. 
2.1.4.3 Requerimientos de Confiabilidad 
El sistema distribuido en sí. debe ser confiable a pesar de que la red tenga problemas. El 
sistema puede requerir comunicación confiable. o bien. implementar mecanismos que 
detecten fallas y corrijan el problema mediante software. 
2.1.4.4 Tipos de Redes 
Las redes pueden ser divididas en dos grandes clases: 
Redes de Área Local: conduce mensajes a una velocidad relativamente alta entre cualquiera 
de las computadoras conectadas a un medio de comunicación común. como fibra óptica o 
cable coaxial. localizadas en el mismo edificio o campus. El medio provee conexión directa 
entre todas las máquinas por lo que no se requiere asignar rutas a los mensajes. En este tipo 
de redes la latencia es baja a excepción de las ocasiones en que el tráfico es muy grande. 
En la actualidad la tasa de transferencia de las redes de área local se encuentra entre 0.2 y 
100 mega bits por segundo. 
Redes de Álea Amplia. Conduce los mensajes a una velocidad baja (la latencia típica está en 
el rango de 0.1 y 0.5 segundos con una tasa de transferencia de 20 a 500 kbits por segundo). 
En este caso los mensajes se intercambian entre computadoras separadas por grandes 
distancias. Cada computadora suele llamarse host y se pueden localizar en diferentes 
ciudades. países o continentes. El medio de comunicación está formado por un conjunto de 
circuitos de enlaces y ruteadores que manejan la red. La operación de ruteo consiste en 
enviar los mensajes hacia los nodos indicados. y el tiempo total de transmisión para un 
mensaje. depende de la ruta seguida. 
17 
la latencia y tasa de transferencia con la que trabajan actualmente las redes de área amplia 
no ha cumplido satisfactoriamente los requerimientos de los sistemas distribuidos. pero se 
espera un incremento de los mismos con el cambio de las redes actuales a redes ISDN 
(lntegrated Sevices Digital Network) y B-ISDN que cubren velocidades desde 64 kilobits por 
segundo hasta 150 megabits por segundo. 
2.1.4.5 Los Paquetes 
En la mayoría de las aplicaciones. las transmisiones se realizan utilizando los mensajes como 
unidad de transmisión. los mensajes son unidades de longitud arbitraria. sin embargo, para 
viajar por la red deben ser divididos en paquetes. la forma simple de un paquete es una 
secuencia de elementos de datos en formato binario de longitud restringida, unida a 
información referente a la forma de manejar el paquete como la dirección de origen y la 
dirección destino. 
2.1.4.6 Trabajo entre Redes 
Una característica propia de los sistemas distribuidos es la apertura. la apertura debe permitir 
el empleo de diferentes tipos de redes. que formen una red integrada. a pesar de contener 
dispositivos diseñados por diferentes proveedores y computadoras con arquitectura 
heterogénea. Con este tipo de trabajo un sistema distribuido se puede extender a un gran 
número de computadoras. la forma de unir las diversas redes es mediante ruteadores y 
gateways (computadoras de propósito general que controlan y dirigen el tráfico de la red). y 
añadiendo protocolos que soportan el direccionamiento y transmisión a través de una gran 
red virtual. 
2.1.5 Comunicación entre Procesos 
Para que un proceso pueda enviar mensajes a otro. se deben poner los dalos en un formato 
común para cualquier tipo de máquina. El proceso que envía los datos los debe reunir para 
que se manden por bloque o paquetes. Es necesario que se consideren .las funciones de 
enviar mensaje y recibir mensaje. Además es necesario saber si estas funciones han de 
detener el proceso (ser bloqueante) o no (no bloqueantes). Se puede suponer que la red es 
confiable. por lo cual al enviar un mensaje podemos tener la certeza de que va a llegar. o 
bien, puede ser que la red sea no confiable. para lo que necesitaremos implementar 
protocolos que permitan trabajar en caso de fallas. 
18 
2.1.5.1 El Paradigma Cliente Servidor 
El empleo de un modelo de comunicación cliente servidor. requiere de un protocolo 
petición-respuesta; estos protocolos soportan tres operaciones fundamentales: 
• RealizarOperación (PuertoServidor; mensaje_de_petición; mensaje_de_respuesta). Esta 
operación manda una petición al servidor y recibe su respuesta. Puede ser implementada 
usando una operación de envío de mensaje y otra de recepción. Esta operación bloquea 
al cliente que la ejecuta hasta recibir respuesta. pero se acostumbra a utilizar 
temporizadores para evitar bloqueos indefinidos por fallas en la red. 
• ObtenerPetición (PuertoServidor; Mensaje): Esta operación la realiza el servidor para recibir 
peticiones de los clientes. 
• EnviarRespuesta (PuertoCliente; Mensaje): Después de recibir una petición el servidor la 
procesa y envía su respuesta al cliente con esta operación. 
2.1.5.2 Llamadas a Procedimientos Remotos 
Las RPC son formas de implementar protocolos de comunicación. El objetivo de estas 
instrucciones es dar un nivel más alto a la semántica para comunicar a los procesos. Entre los 
principales aspectos de la semántica de un RPC se encuentran: 
• Un RPC tiene una sintaxis parecida a la de una llamadalocal de procedimiento. pero la 
ejecución de este procedimiento es en otra computadora. 
• Al definir un RPC se especifican parámetros de entrada y de salida. Los parámetros de 
entrada son enviados al servidor. mandando los valores de los argumentos en el mensaje 
de petición. Los parámetros de salida son enviados al cliente en respuesta a su petición y el 
valor es guardado en la variable especificada por un parámetro. 
• Un RPC no puede utilizar las variables globales del proceso origen. pues se ejecuta en un 
ambiente diferente. 
• Los argumentos de un RPC y los resultados no pueden incluir estructuras de datos que 
contengan apuntadores a localidades de memoria. 
2.1.6 La Coordinación entre Procesos 
La noción de tiempo es difícil de trabajar en los sistemas. pues cada máquina tiene su propio 
reloj físico. Generalmente se trabaja con relojes lógicos. los cuales se basan en relaciones 
"que sucedió antes" para dar un orden a los eventos. 
El uso de estampillas de tiempo es un método diseñado por Leslie Lamport [Lamport1978] con 
el cual se permite establecer un orden de eventos gracias a una relación de precedencia. En 
19 
este caso el reloj lógico asigna un valor a cada evento que es considerado como la hora. o el 
tiempo. en el cual dicho evento ocurrió. Las estampillas se pueden implementar de diferentes 
formas. por ejemplo: 
• Cada proceso Pi va a administrar un reloj local hi. 
• Todos los mensajes emitidos por Pi son sellados por el valor del número del proceso y del 
reloj local. 
• El comportamiento de Pi. dado un reloj local hi es el siguiente: 
a) Si Pi recibe un mensaje (mensaje, hora,. j) de Pj entonces hi <- max(hj,hi)+ 1 
b) Si envía un mensaje (mensaje. hora1.i) entonces hi <- hi + 1 antes de enviar el mensaje 
y se considera como la hora en que se envió el mensaje. 
c} hi puede ser incrementado por eventos internos. pero no es necesario si sólo nos 
interesa la comunicación. 
Para lograr control de concurrencias se han implementado algoritmos de exclusión mutua y 
de elección que pueden o no hacer uso de relojes físicos o lógicos. Existen tres maneras de 
implementar el control de concurrencias en sistemas distribuidos: Candados. control optimista 
y estampillas. 
2.1. 7 Transacciones 
Las transacciones en los sistemas distribuidos pueden involucrar más de dos computadoras y 
pueden ser planas o anidadas. Un protocolo de acuerdo atómico es un procedimiento usado 
para un grupo de servidores involucrados en una transacción distribuida. que permite que 
todos los servidores realicen una misma transacción o que la transacción sea rechazada. El 
protocolo de compromiso a dos fases es un ejemplo de implementar transacciones 
distribuidas. También juegan un papel importante para este tipo de transacciones el control 
de concurrencia y el orden que establecen los relojes lógicos. 
Las transacciones con datos replicados deben proveer transparencia asegurando que cada 
copia guarde un orden serial. Es decir. que a pesar de ejecutar transacciones concurrentes 
cada copia de datos debe tener el mismo resultado que la ejecución serial (una tras otra) de 
las transacciones. Una forma de lograr esto puede ser~I permitir leer datos de cualquier 
copia. pero escribir en todas las replicas llllil~ión. sin embargo esto no siempre es 
posible. Ot.Ot 30 
-..... 
20 
2.1.8 Tolerancia a Fallas 
Las operaciones que trabajan en línea requieren soportar las fallas del hardware: este es uno 
de los objetivos de los sistemas distribuidos. La tolerancia a fallas abarca dos aspectos: la 
descripción de las características de la falla y la forma de ocultar la falla. Existen varios tipos 
de fallas en los sistemas distribuidos. entre ellas podemos citar las fallas de paro y las fallas 
Bizantinas. Las primeras se dan cuando uno de los componentes del sistema deja de trabajar 
y el segundo. cuando el funcionamiento de algunos componentes es contradictorio con los 
demás. Para cubrir las fallas se puede hacer uso de una jerarquía o de trabajo en grupo. 
Cada componente en un sistema de cómputo esta construido por una colección de 
programas y equipo físico. algunos de los cuales pueden fallar. El diseñador del sistema debe 
considerar tanto los puntos que pueden fallar. como la forma de cubrir esa falla. La 
descripción de la forma en la que puede fallar un servicio es llamada su semántica de falla 
(Coulouris 1994 p. 461]. El conocimiento de una semántica de falla permite diseñar otros 
servicios capaces de cubrir las fallas. 
Para cubrir las posibles fallas en un sistema se utilizan dos modelos. uno enfocado a una 
organización jerárquica y otro basado en el grupo. El encubrimiento jerárquico se refiere a 
que los servidores dependen de niveles de servicio. El servicio de más alto nivel debe cubrir las 
fallas de los servidores de menor nivel. Por su parte. el encubrimiento de grupo considera que 
si un servidor cae. el resto de los servidores del grupo pueden realizar su función. 
Otro aspecto a considerar es la recuperación ante las fallas. En el punto 4.7.2 se expone 
como funciona la tolerancia a fallas y la recuperación en los SMBDs. 
2.2 LOS SISTEMAS MANEJADORES DE BASES DE DATOS 
Un Sistema Manejador de Bases de Datos (SMBD) consiste en una colección de datos 
interrelacionados y un conjunto de programas para utilizar esos datos. La colección de datos. 
normalmente denominada base de datos. contiene información acerca de un asunto 
determinado. El objetivo primordial de una SMBD es proporcionar un entorno que sea a la vez 
conveniente y eficiente para ser utilizado al extraer y almacenar información de la base datos 
[Korth. Silberschatz 1993]. 
Los SMBD surgen para administrar grandes bloques de información. la cual consta tanto de la 
generación de una estructura para el almacenamiento. como de la provisión de mecanismos 
21 
para insertar. modificar o eliminar datos. Además. debe mantener seguridad en la 
información almacenada. pese a caídas del sistema o intentos de acceso no autorizados. 
2.2.l Objetivos 
• Evitar redundancia e inconsistencia. A diferencia de la programación con archivos planos. 
cuando se utiliza un SMBD los datos son almacenados en un sólo lugar. donde pueden ser 
consultados o actualizados por cualquier programa o aplicación. 
• Facilitar acceso a los datos. Un SMBD debe ser capaz de brindar en forma rápida y 
eficiente consultas relacionad.as con los datos que posee a pesar de que la consulta 
especifica no esté previamente diseñada. Es decir. permiten la recuperación sencilla de 
datos para uso general. 
• Relacionar diversos Datos. Dado que los datos se almacenan en un sólo lugar y con un 
formato predefinido. es posible realizar relaciones entre ellos. 
• Permitir Acceso Concurrente. El SMBD debe permitir a varios usuarios trabajar con datos 
comunes y realizar actualizaciones que den una visión global consistente. 
• Asegurar la integridad de los datos. La seguridad en el SMBD puede ser controlada en base 
a los usuario~. permitiendo o negando información según la identidad del usuario. 
• Crear un ambiente Seguro. Al diseñar una base de datos. el SMBD puede implementar 
restricciones que aseguren la integridad de los datos según un diseño predeterminado y 
flexible. 
2.2.2 Abstracción de Datos 
El SMBD debe ser capaz de proporcionar a los usuarios una visión abstracta de los datos. Es 
decir. debe esconder ciertos detalles sobre el modo de almacenamiento y su mantenimiento. 
Sin embargo. para que el sistema sea manejable. los datos se deben extraer eficientemente. 
Para esconder la complejidad del sistema al usuario se utilizan diversos niveles de abstracción 
que simplifican la interacción usuario - sistema. 
La arquitectura para estandarización de SMBD ANSI/SPARC [Tsichritzis and Klug. 1978) se basa 
en la organización de los datos y propone tres niveles para el tratamiento de los datos: 
• Nivel Físico. Este nivel es el más bajo de abstracción y describecómo se almacenan 
realmente los datos. Aquí se describen en detalle las estructuras de datos complejas del 
nivel bajo. 
• Nivel Conceptual. Es el siguiente nivel de abstracción y describe qué datos son realmente 
almacenados en la base de datos y las relaciones que existen entre ellos. Este nivel es 
22 
usado por los administradores de bases de datos. quienes deben decidir qué información 
se va a guardar en la base de datos. 
• Nivel de Visión. Es el nivel más alto de abstracción y describe sólo una parte de la base de 
datos completa. disminuyendo la complejidad del nivel conceptual que debe abarcar a 
toda la base de datos. Un SMBD debe poder proporcionar varias vistas para la misma base 
de datos. 
2.2.3 Modelos de Datos 
Los modelos de datos se utilizan para poder describir la estructura de una base de datos. Estos 
son una colección de herramientas conceptuales para: describir la estructura de los datos, 
representar las relaciones existentes entre ellos, generar una semántica asociada a los datos y 
formular restricciones de consistencia. Los diversos modelos de datos que se han propuesto se 
dividen en tres grupos: modelos lógicos basados en objetos. modelos lógicos basados en 
registros y modelos físicos de datos. 
2.2.3.1 Modelos Lógicos de Datos Basados en Objetos 
Se utiliza para describir datos a nivel conceptual y de visión. Se caracterizan por el hecho de 
proporcionar una capacidad de estructuración bastante flexible y permiten especificar 
restricciones de datos explícitamente. Entre estos modelos aparecen: 
• El modelo entidad-relación. 
• El modelo orientado a objetos. 
• El modelo binario. 
El modelo entidad-relación ha ganado aceptación en el diseño y se utiliza ampliamente en la 
práctica, al igual que el modelo orientado a objetos. Este último incluye muchos de los 
conceptos del modelo entidad-relación, pero representa tanto código ejecutable como 
datos. 
2.2.3.2 Modelos Lógicos de Datos Basados en Registros 
Estos modelos son usados para describir datos en los modelos conceptual y físico. A diferencia 
de los basados en objetos. se usan para especificar la estructura lógica global de la base de 
datos y para proporcionar una descripción a un nivel más alto de la implantación. 
En este caso la base de datos está estructurada en registros de formato fijo de varios tipos. 
Cada tipo de registro define un número fijo de campos y cada campo normalmente es de 
longitud fija. 
23 
los modelos de datos basados en registros no incluyen un mecanismo para la representación 
directa de código en la base de datos. En cambio. hay lenguajes por separado que se 
asocian con el modelo para expresar consultas y actualizaciones. los modelos de este tipo 
más aceptados son: 
• Relacional 
• De red 
• Jerárquico 
A diferencia de los modelos de red y jerárquico. el modelo relacional no utiliza punteros o 
enlaces para conectar los registros. lo cual permite definir una base matemática formal. 
[Korth 1993) 
2.2.3.3 Modelos Físicos de Datos 
los modelos físicos de datos se usan para describir datos en el nivel más bajo. A diferencia de 
los modelos lógicos. hay muy pocos modelos físicos en uso. Dos de los más conocidos son: 
• Modelo Unificador 
• Memoria de Elementos 
2.2.4 Instancias y Esquemas 
La colección de información almacenada en la base de datos. en un determinado momento 
en el tiempo. se llama una instancia de la base de datos. El diseño global de la base de datos 
se llama esquema de la base de datos. los esquemas se cambian con poca frecuencia. 
2.2.5 Independencia de Datos 
La capacidad de modificar una definición de un esquema en un nivel. sin afectar la 
definición de un esquema en el nivel superior, se llama independencia de datos. La 
independencia de datos se puede dar en dos niveles: 
Independencia Física de Datos es la capacidad de modificar el esquema físico sin provocar 
que se vuelvan a escribir los programas de aplicación. En algunas ocasiones son necesarias 
las modificaciones en el nivel físico para mejorar el funcionamiento. 
Independencia lógica de Datos es la capacidad de modificar el esquema conceptual sin 
provocar que se vuelvan a escribir los programas de aplicación. las modificaciones en el 
24 
nivel conceptual son necesarias siempre que se altere la estructura lógica de la base de 
datos. 
2.2.6 Lenguaje de Definición de Datos 
Un esquema de base de datos se especifica por medio de un conjunto de definiciones que se 
expresan mediante un lenguaje llamado lenguaje de definición de datos (LDDJ. El resultado 
de la ejecución de sentencias LDD es un conjunto de tablas. las cuales se almacenan en un 
archivo especial llamado diccionario de datos. 
2.2. 7 Lenguaje de Manipulación de Datos 
Un lenguaje de manipulación de datos se conforma por el conjunto de instrucciones para 
poder manipular los datos. es decir: recuperarlos, insertarlos. suprimirlos o modificarlos. En los 
niveles más altos del diseño del lenguaje de manipulación de datos {LMDJ se busca facilidad 
de uso. mientras que en los niveles más bajos el objetivo es lograr accesos eficientes. Un (LMD) 
es una herramienta que capacita a los usuarios a acceder o manipular información según un 
modelo adecuado. Si el LMD especifica qué datos obtener y cómo obtenerlos. hablamos de 
un LMD procedural. Si sólo especifica qué datos obtener sin indicar cómo. hablamos de un 
LMD no procedural. 
Una consulta es una sentencia que solicita la recuperación de información. La parte de un 
LMD que implica recuperación de información es llamada lenguaje de consulta. 
2.2.8 Manejadores de Bases de Datos 
Un manejador de base de datos es un módulo de programas que proporciona la interfaz 
entre los datos de bajo nivel almacenados en la base de datos y los programas de aplicación 
y consultas hechas al sistema. Su responsabilidad son las siguientes tareas: 
• Interacción con el gestor de archivos. 
• Implementación de la integridad. 
• Implementación de la seguridad. 
• Copias de respaldo y recuperación. 
• Control de concurrencias. 
25 
J l05 5!5T!cr'M5 rú'J~(líJ !El NINJILJO [O)[ !INJW'Omú'JC!ÓINJ [C)r,5[)¡[ rirMl[[j¡ [O)[ l05 W'J L~ 
l05'°' J 
Alan Simon [Simon 1995) afirma que el estudio de la historia de los sistemas de información. 
desde el almacenamiento en archivos. hasta la época actual es importante. porque aún en la 
actualidad se hace uso de estas técnicas. Es necesario conocer el modelo con el que se está 
trabajando para poder interactuar con él o para migrarlo a un sistema más eficiente. Entre los 
modelos a considerar señala: modelos anteriores a los SMBD. bases de datos jerárquicas y de 
redes. el modelo relacional. las bases de datos distribuidas. bases de datos orientadas a 
objetos. bases de datos inteligentes. el hipertexto e hipermedia y el lenguaje de las bases de 
datos. 
3.1 SISTEMAS BASADOS EN ARCHIVOS 
Los primeros sistemas de información almacenaban los datos en archivos que trabajaban en 
forma serial. Un archivo maestro se actualizaba con un archivo de transacciones, generando 
un nuevo archivo maestro. El surgimiento de los discos que permitían acceso directo tanto 
para lectura como para escritura permitieron la posibilidad de realizar las 1ransacciones 
directamente sobre los archivos maestros sin necesidad de regenerarlos con procesos seriales. 
Los principales problemas que genera este modelo es la repetición de datos en diferentes 
archivos con frecuentes inconsistencias y dificultad para compartir datos. 
3.2 BASES DE DATOS JERÁRQUICAS Y DE RED 
En 1968 IBM crea el lnformation Management Syslem (IMSJ con un lenguaje para el manejo de 
información Data Lenguage/1 (DL/1). El modelo jerárquico en general y DL/1 en específico se 
implementa mediante estructuras de árboles. con apuntadores. Una de sus desventajas es 
que su esquema no corresponde al mundo real. Las bases de datos jerárquicas proveen 
apuntadores entre diferentes árboles de dalos. pero el procesamientode dalos a través de 
enlaces puede ser muy complicado. Sin embargo. el modelo permite: reducir los dalos 
duplicados. asociar lógicamente los datos y crear modelos del sistema de información. 
Al mismo tiempo General Electric crea el sistema lntegrated Data Store (IDSJ, el cual 
corresponde a un modelo de base de datos de red. La comunidad de estándares pide que 
se formalice el modelo de redes y la Conference on Data Systems Languages (CODASYL) 
formó el Data Base Task Group (DBTGJ el cual publica un reporte en 1969 que se actualiza en 
26 
1971. Una de las mayores contribuciones del modelo del DBTG fue la introducción de un LDD 
y LMD. como lenguajes formales para definir y manipular respectivamente el contenido de las 
bases de datos. 
En contraste con las bases de datos jerárquicas. las bases de datos de red no necesitan un 
nodo raíz. pero la forma de unir los datos sigue siendo mediante el uso de apuntadores. 
3.3 LAS BASES DE DATOS RELACIONALES 
Desde junio de 1970. el Dr. E. F. Codd publicó un documento titulado "A Relational Model of 
Data for Larga Shcred Date Banks" [Codd 1970] con el cual se inicia el trabajo con modelos 
relacionales para bases de datos. Entre las características más importantes del modelo. Codd 
señalaba: 
• Describir los datos de forma natural, sin añadir estructures para su representación en la 
computadora. 
• Proveer une base matemática pera el tratamiento de derivación. redundancia y 
consistencia de los datos. 
• Proveer independencia de los datos con respecto e su representación física. 
Los puntos anteriores pretendían ayudar al desarrollador e desligarse del problema de le 
estructura física de los datos. para permitirle una forma más eficiente de crear. modificar. 
eliminar y consultar la información a le que hacían referencia sus programas. El elemento 
básico de esta teoría fue la relación. cuya estructura resultaba familiar al trcbajcrlc como 
tabla, formada por columnas y renglones: con algunas restricciones para permitir el empleo 
de operaciones relacionales cuyo resultado generaba nueves relaciones. Los operadores 
relacionales contaban con ciertas características como conmutatividad. distributividad y 
asociatividad. 
A principio de los 80' s se empezaron a comercializar algunos productos inspirados en las bases 
de datos relacionales por parte de IBM. Oracle Corporation. Relational Technology. Sybase y 
otras compañías. confirmando que las bases de datos relacionales podían modelar el mundo 
real. 
Junto con el crecimiento de las bases de datos relacionales, inicia el crecimiento de las 
computadoras personales con 4 tipos de programas de aplicación básicos: procesadores de 
texto. hojas de cálculo. graficadores y manejadores de bases de datos. Algunos proveedores. 
como Ashton-Tate. implementaron la teoria relacional de bases de datos a productos para 
27 
PC. con lo que se popularizó el uso de bases de datos relacionales para actividades sencillas 
como impresión de etiquetas o reportes financieros. La facilidad con la que las tablas 
relacionales podían ser definidas y manejadas. dotaban de gran poder a equipos pequeños. 
De esta forma las bases de datos relacionales se han empleado tanto en PC's como en 
minicomputadores y Main Frames desde finales de los 80' s hasta la presente década. 
3.4 MODELOS DE BASES DE DATOS DISTRIBUIDAS Y EXTENDIDAS 
Dado el creciente número de computadoras y la tendencia a descentralizar la información. el 
modelo relacional requiere de cierto grado de distribución. El empleo de mayor número de 
equipos que atienden a menos usuarios. trae como ventajas desarrollos más adaptados a los 
requerimientos en menor tiempo y la capacidad de controlar en forma local los procesos que 
corresponden a cada área. Todo esto. promovido por varios esfuerzos en el área de 
investigación desde 1980. 
Las bases de datos distribuidas son una colección de múltiples bases de datos que están 
interrelacionada:. y distribuidas en una red de computadoras. Mientras que los Manejadores 
de Bases de dat9s Distribuidas son programas a través de los cuales se manejan estas bases de 
datos. procurando que este manejo sea generalmente transparente al usuario [Ózsu. 
Valduriez 1991). Ceri y Pelagatti [Ceri. Pelagatti 1984) distinguen dos aspectos importantes que 
debe considerar un sistema de este tipo: 
• La distribución. que implica que los datos no residen en la misma computadora. 
• Correlación lógica. es dec¡¡., que los datos tienen algunas propiedades que los unen. de tal 
forma que se pueda distinguir una base de datos distribuida (BDD) de un conjunto de bases 
de datos que residen en diferentes computadoras unidas por una red. 
Por lo que definen a las bases de datos distribuidas de la siguiente forma: "Una base de datos 
distribuida es una colección de datos, los cuales estás distribuidos sobre las diferentes 
computadoras de una red de cómputo. Cada nodo de la red tiene capacidad de 
procesamiento autónomo y puede ejecutar aplicaciones locales. Cada nodo también 
participa en la ejecución de por lo menos una aplicación global. la cual requiere acc.esar 
datos de varios nodos usando un subsistema de comunicación". 
La replicación es un mecanismo con el cual se obtienen varias copias idénticas de 
información en diferentes localidades con lo cual se logra mayor disponibilidad de datos. 
posibilidades de procesamiento paralelo. tolerancia a fallas y autonomía. Por otra parte la 
28 
fragmentación reparte la información en varias localidades. con el objetivo de ahorrar 
espacio de almacenamiento en cada localidad y brindar autonomía. Una BDD debe hacer 
uso de ambas técnicas para eficientar sus procesos. 
Otra área de investigación promovida desde 1980 ha sido la extensión del modelo relacional 
de bases de datos en respuesta a movimientos para el modelado de semántica. cuyos 
investigadores exploran caminos para captar más significados que los posibles con una 
estructura de base de datos relacional. las bases de datos temporales. el modelo híbrido 
relacional-orientado a objetos y otros modelos se basan en los modelos extendidos. 
3.5 BASES DE DATOS ORIENTADAS A OBJETOS 
El modelo relacional. al trabajar con renglones y columnas. hace difícil la implementación de 
algunas aplicaciones como el diseño a través de computadora y el diseño de software 
asistido por computadora. la investigación sobre las bases de datos orientadas a objetos 
sigue dos caminos: uno que es independiente del modelo relacional y otro que las toma 
como complemento del modelo relacional. 
las bases de datos orientadas a objetos (BDOO) están construidas en base a los objetos. Tanto 
las BDOO como los Manejadores de Bases de Datos Orientadas a Objetos (MBDOOJ son 
relativamente nuevos comparados con las bases de datos relacionales por lo que existen aún 
varias divergencias en su terminología. implementación y desarrollo. 
3.6 HIPERTEXTO 
Hace varios años, Apple inició los trabajos en un área conocida como hipertexto 
comercializando un producto Macintosh conocido como HyperCard™. El hipertexto toma un 
punto de entrada en una red de datos y a través de ese punto tiene acceso a varios puntos 
de donde puede obtener. insertar. actualizar o borrar información. En un ambiente hipertexto 
no se requiere de accesos mediante lenguajes de programación ni lMD para trabajar con los 
datos. Simplemente se selecciona un aspecto desde el cual se pueden realizar otros accesos 
de acuerdo a nuevas selecciones. 
3.7 BASES DE DATOS INTELIGENTES 
Las Bases de Datos Inteligentes surgen por la combinación de Sistemas Expertos y Bases de 
Datos. Un tipo de Bases de Datos Inteligentes son las Bases de Datos Deductivas. las cuales se 
caracterizan por extender el modelo relacional. las base de datos deductivas aumentan el 
29 
poder de las expresiones mediante lenguajes de consultas que permiten recursión. Otro 
aspecto importante de las bases deductivas es su capacidad de integrarreglas en el uso de 
las bases de datos y de deducir información nueva, en base a la información existente. Para 
conocer más sobre estas bases. un buen inicio es [Ózsu. Valduriez 1991) en el punto 15.3. 
3.8 TRABAJOS PARA ENCAUSAR LA INVESTIGACIÓN DE SISTEMAS 
MANEJADORES DE BASES DE DATOS EN LOS 90's 
En los últimos años se han realizado algunos esfuerzos para dirigir las investigaciones sobre 
SMBD. este apartado nos indica algunos de ellos. 
3.8.l Manifiesto de los Sistemas de Bases de Datos de la Tercera Generación 
En julio de 1990. el Committee for Advanced DBMS Funtion publicó un documento para un 
conferencia en Windermere. Inglaterra. titulado "1hird-Generalion Data Base System 
Manifesto" [Stonebraker. Rowe 1990). En la conferencia los autores consideran que existen 2 
generaciones en el desarrollo de bases de datos: 
La primera generación que abarca las bases de datos jerárquica y de red. las cuales forman 
los primeros sistemas que unifican la definición de datos y un lenguaje para la manipulación 
de los mismos. 
La segunda generación. formada por las bases de datos relacionales cuyo mayor logro es la 
obtención de lenguajes no procedurales para la manipulación de datos y provee un 
substancial grado de independencia de datos. 
En el manifiesto los autores señalan que las bases de datos relacionales no se adaptan a 
ciertas aplicaciones. como las que implican Diseño Asistido por Computadora. hipertexto y 
multimedia por lo que se requiere de mejores SMBD. El manifiesto cubre lo siguiente: 
Las Afirmaciones 
Afirmación 1. Los SMBD de la tercera generación deben brindar servicios en tres áreas: 
• Administración de Datos 
• Administración de Objetos 
• Administración de Conocimientos 
30 
Afirmación 2. los SMBD de la tercera generación deben retomar los SMBD de la 
segunda generación. entendiendo que la mayor contribución del mundo relacional 
(los accesos no procedurales y la independencia) no deben ser comprometidos por los 
sistemas de tercera generación. 
Afirmación 3. los SMBD de tercera generación deben ser abiertos a otros subsistemas. 
las herramientas para tomar decisiones deben tener lenguajes de cuarta generación 
(4Gls). operaciones con datos remotos y capacidad distribuida. 
Proposiciones 
Proposición 1.1 los SMBD de la tercera generación deben tener una estructura propia 
completa. A corto plazo. las características generales de la orientación a objetos son 
propuestas como una extensión de las SMBD de la segunda generación más que como 
un reemplazo. Las caracteristicas de la orientación a objetos son f acilitadores de una 
arquitectura totalmente nueva de SMBD. más que una extensión del actual modelo. 
Proposición 1.2. la herencia es una buena idea. 
Proposición 1.3. las funciones (métodos. procedimientos de bases de datos) y 
encapsulado son buenas ideas. 
Proposición 1.4. los identificadores únicos para los registros podrían ser opcionalmente 
asignados por el SMBD. 
Proposición 1.5. las reglas (disparadores) llegarán a ser una de las características más 
importantes en los próximos sistemas. Ellas no deberían estar asociadas con una 
función o un conjunto de funciones específicas. 
Las siguientes proposiciones pretenden asegurar que se preserve la integridad de los SMBD's 
de la segunda generación en base a la segunda afirmación: 
Proposición 2. 1. la navegación hacia un dato deseado debe ser usada sólo como un 
último recurso. En otras palabras. no se debe regresar al uso de apuntadores de las 
bases de datos jerárquicas o de redes. 
Proposición 2.2. Debe haber por lo menos dos implementaciones por colección. una 
usando enumeración de miembros y otra usando el lenguaje de consulta para 
especificar los miembros. 
Proposición 2.3. Las vistas actualizables son esenciales. 
31 
Proposición 2.4 . Se debe separar el modelo físico de los niveles conceptual y de visto al 
especificar las características de la tercera generación. (Evitar índices. cluster, 
buffers ... ). 
Las siguientes proposiciones se refieren a los sistemas abiertos. 
Proposición 3. 1. La tercera generación debe ser de soportar varios lenguajes. 
Proposición 3.2. Deben concordar el tipo de sistemas de la tercera generación y el 
lenguaje que estos utilicen .. pero se debe evitar los errores de resistencia que causan 
palabras de SQL. 
Proposición 3.3. A pesar de presentar varios defectos. SQL tendrá un papel en el mundo 
de la tercera generación. 
Proposición 3.4. Las consultas expresadas en SQL y sus resultados deberán ser el nivel 
más bajo de comunicación entre clientes y servidores. 
3.8.2 Manifiesto de los Sistemas de Bases de Datos Orientados a Objetos 
Varios meses ant~s del manifiesto. tratado en el punto anterior. se publicó otro documento por 
otro grupo "The Object-Oriented Database System Manifesto." (Atkinson, Bancilhon 1989). Así 
como el Manifiesto de los SMBD de la tercera generación fue una defensa de los sistemas 
híbridos, este manifiesto busca un modelo orientado a objetos puros. Este documento 
presenta 13 puntos para las bases de datos orientadas a objetos. 
3.8.3 El Grupo de Trabajo de la National Science Foundation (NSF) 
En febrero de 1990 la NSF forma un grupo para identificar los factores tecnológicos que 
servirán como funciones de fuerza para los avances en la tecnología de bases de datos y las 
necesarias investigaciones básicas correspondientes para esa tecnología. En este grupo 
participan personas que trabajaron en el Manjfiesto de los SMBD de la tercera generación y 
otros que trabajaron en el Manifiesto de las bases de datos orientadas a objetos. 
Hubo tres principales conclusiones acerca del futuro de las bases de datos y la administración 
de información [Silberschatz. Stonebraker 1990): 
1) Muchos de los avances tecnológicos del principio del siglo XXI que sostendrán la industria y 
los avances tecnológicos. dependerán de una tecnología radicalmente nueva de bases de 
datos. que actualmente no está bien definida y que requiere de investigación intensiva. 
32 
2) La próxima generación de aplicaciones de bases de datos tendrá poco en común con las 
aplicaciones de procesamiento de datos actual. 
3) La cooperación entre diferentes organizaciones científicas. de ingeniería y comercio 
requerirán bases de datos distribuidas heterogéneas a gran escala. 
Dos áreas fueron particularmente identificadas como candidatas para investigación intensiva: 
a) Las aplicaciones para los SMBD de la próxima generación. 
b) Las bases de datos distribuidas heterogéneas. 
En el área de aplicaciones para la próxima generación. el reporte del grupo de trabajo 
identificó varios aspectos: 
1 Opciones para almacenamiento masivo 
2 Interdependencia de las aplicaciones 
3 Minería de datos 
4 Aplicaciones multimedia 
5 Nuevas clases de datos 
6 Reglas para procesamiento 
7 Nuevos modelos de datos 
8 Escalabilidad de los algoritmos para SMBD 
9 Paralelismo 
10 Medios alternos de almacenamiento 
11 Transacciones de larga duración 
12 Posibilidad de mantener diferentes versiones 
La otra área de investigación recomendada fue la investigación de bases de datos 
heterogéneas distribuidas. 
33 
En el punto 3.4 se definió lo que son los Sistemas Manejadores de Bases de Datos Distribuidas 
(SMBDD). Ahora profundizaremos en su clasificación. arquitectura y diseño. 
En 1987 C.J. Date publicó 12 reglas para las Bases de Datos Distribuidas. las cuales son: 
1) Autonomía de localización: 
localmente administrados; lo 
los datos locales deben tener pertenencia local y ser 
cual incluye funciones de seguridad. integridad y 
almacenamiento. Las excepciones se dan con restricciones distribuidas en múltiples nodos y 
cuando las transacciones deben ser administradas por nodos externos. 
2) No confiar en un nodo central para ningún servicio en particular: al seguir esta regla se 
evitan cuellos de botella y se permite la descentralización requerida. 
3) Operación Continua: no debe haberinterrupciones por añadir nodos o eliminar nodos en 
un ambiente distribuido. 
4) Independencia de Localización: ni los usuarios, ni las aplicaciones deben necesitar conocer 
el lugar donde los datos están fisicamente almacenados. 
5) lndependencja de Fragmentación: Los fragmentos deben ser almacenados y administrados 
por el SMBDD sin necesidad de las indicaciones de un usuario o una aplicación. 
6) Independencia de replicación. 
7) Procesamiento distribuido de las consultas: El procesamiento de una consulta debe ser 
procesado en modo distribuido. 
8) Administración de transacciones distribuidas: El principio de transacción y de concurrencia 
debe ser manejado en forma dislribuida. 
9) Independencia de Hardware: El mismo SMBOD debe correr en diferentes máquinas y debe 
participar de la misma forma en todo el sistema. 
10) Independencia del sistema operalivo. 
11) Independencia de red: Los nodos deben poder ser conectados sobre una amplia 
variedad de redes y ambientes de comunicación. 
12) lndependenda de SMBD: Debe ser posible para un SMBD local participar en un ambiente 
SMBDD. 
4.1 VENTAJAS Y DESVENTAJAS 
Ceri y Pelaga11i [Ceri, Pelagatti 1984) señalan que existen varias razones para desarrollar bases 
de datos distribuidas y listan las siguientes motivaciones principales: 
34 
• Razones económicas y organizacionales.- Esto se da tanto en empresas descentralizadas. 
en las cuales se requiere la administración por entidad. como en lugares donde no se 
quiere comprometer la inversión en un sólo equipo dedicado al procesamiento de toda la 
información. 
• Interconexión de las bases de datos existentes.- Las bases de datos distribuidas son una 
solución natural cuando varias bases de datos ya existen en una organización y surge la 
necesidad de realizar aplicaciones globales. 
• Crecimiento Incremental.- Si una organización crece mediante la creación de nuevas 
organizaciones relativamente _independientes. las bases de datos distribuidas son una 
opción que permite brindar servicio a las nuevas unidades con un mínimo impacto en la 
estructura existente. 
• Disminuir la carga de las comunicaciones.- El hecho de que varias aplicaciones se realicen 
en forma local y no en una máquina remota reduce el tráfico en la red; por lo que la 
maximización del uso de aplicaciones locales es uno de los objetivos primordiales en el 
diseño de bases de datos distribuidas. 
• Consideraciones de rendimiento. 
• Disponibilidad y confiabilidad.- Gracias a que las bases de datos distribuidas se diseñan con 
cierto grado de redundancia. permiten que existan datos importantes en varios puntos del 
sistema. más cerca de los usuarios y con posibilidad de accesar una copia en caso de que 
uno de los nodos falle. 
Por otra parte Ózsu y Valduriez [Ózsu. Valduriez 1991 J citan las siguientes ventajas y 
desventajas: 
Ventajas: Autonomía local, mejor rendimiento. mayor disponibilidad y confiabilidad. menor 
costo. escalabilidad y facilidad para compartir recursos. 
Desventajas: Falta de experiencia. complejidad. inversión en comunicaciones. conlrol 
distribuido. dificultad para implementar seguridad. resistencia al cambio 
4.2 ARQUITECTURA DE UNA BASE DE DATOS DISTRIBUIDA (BDD) 
Ózsu y Valduriez [Ózsu. Valduriez 1991) sugieren que antes de especificar una arquitectur9 de 
BDD. se considere las formas en las que múltiples bases de datos pueden estar juntas 
compartiendo recursos y datos. Ellos usan una figura similar a la figura 4. l para clasificar la 
relación. según su grado de distribución. autonomía y heterogeneidad. 
35 
Distribución 
islemo homogéno distribuido 
:- . ---...... -............... --............ -........ -... . 
.. 
.................................... ·. 
Heteroqene~Ba,e de datos heterogénea e 
integrado 
.. . . 
Autonomía 
islcmo mullibase do dolos 
mullibose de dolos 
heterogéneo y distribuido 
Fig. 4. 1 Alternativas de implementación en SMBDD 
Distribución. Grado en que los datos se encuentran en diferentes nodos. 
Autonomía. Distribución del control y no de datos. Es el grado en que la SMBD actúa 
independientemente. 
Heterogeneidad: diferencia en HW. protocolos de comunicación. datos. lenguajes para 
realizar consultas, protocolos de transacción. 
Stefano Ceri y Giuseppe Pelagatli [Ceri. Pelagatli 1984) proponen la arquitectura que se 
presenta en la figura 4.2. no como un estándar para todos los sistemas de bases de datos 
distribuidas sino como una exposición de los conceptos más relevantes. 
Este modelo no siempre es implementado en las bases de datos dis1ribuidas. los niveles son 
conceptuales e intentan mostrar la organización de una BDD. 
representados se describen a continuación: 
Los componentes 
Esquema Global: El esquema global define lodos los datos que están contenidos en la base de 
datos para dar la imagen de una base de datos no distribuida. Por esta razón el esquema 
global se define de la misma forma que una base de datos centralizada. Al utilizar el modelo 
relacional el esquema global consiste en la definición de un conjunto de relaciones globales. 
Esquema de Fragmentación: Cada relación global puede ser dividida en varias partes 
llamadas fragmentos. El mapeo entre relaciones globales y los fragmentos se definen en el 
esquema de fragmentación. El mapeo es de uno a muchos ya que varios fragmentos 
36 
corresponden a una relación global. Para indicar que un fragmento corresponde a la 
relación R se indica con un subíndice. de tal forma que R, indica el iesimo fragmento de la 
relación global R. 
Esquema 
Global 
Esquema de 
Fragmentación 
Esquema de 
Localización 
~squema Local 
de mapeo 1 
SMBD DEL 
SERVIDOR 
No 1 
1 
BDdel 
Servidor 
No 1 
Esquema Local 
de mapeo2 
SMBD DEL 
SERVIDOR 
No2 
1 
BDdel 
Servidor 
No2 
Fig. 4.2 Arquitectura Referencial para una BDD 
Esquema 
independiente 
del nodo 
Otros 
Esquema de Localización: Un fragmento se puede encontrar en uno o varios nodos de una 
red. El esquema de localización define el lugar donde se encuentra cada fragmento. La 
localización puede ser redundante o no. Si es redundante la relación es uno a muchos, 
mientras que si no lo es muchos a muchos. 
Imagen Física: Todos los fragmentos que corresponden a la misma relación global R ·y se 
localizan en el mismo nodo j forma la imagen física de la relación global R en el nodo j. Por lo 
que existe un mapeo de uno a uno entre una imagen física y un par (relación global. nodo). 
Una imagen física puede ser señalada por el nombre de la relación global y el índice del nodo 
37 
en que se encuentra. Para distinguir una imagen física de un fragmento se emplean 
superíndices de tal forma que Ri es la imagen física de la relación R en el nodo j. 
Copla de un Fragmento: Una copia de un fragmento, es el fragmento que se localiza en un 
determinado nodo. La notación u: significa la copia del fragmento R2 en el nodo 3. 
En la figura 4.3 se presenta en forma esquemática la relación entre esquema global, esquema 
de fragmentación y esquema de localización. 
- ' 
,, (R;) 
111;) 
(u:) 
Relación Global Fragmentos Imagen Física 
Fig. 4.3 Fragmentos e imágenes físicas para una relación global. 
Esquema de Mapeo Local: Regresando a la arquitectura de la BDD podemos observar que los 
tres primeros niveles son independientes del nodo, por lo cual no dependen del modelo de 
datos de la base de datos local. El sistema local debe mapear las estructuras superiores 
mediante el esquema de mapeo local. 
Esta arquitectura permite lograr tres objetivos: 
1. Separar el concepto de fragmentación del concepto de localización. Con esta división 
encontramos dos tipos de transparencia, transparencia de fragmentación y transparencia 
de localización. La transparencia de fragmentación es de nivel superior a la transparencia 
de localización y consiste en el hecho de que los usuarios o programadores trabajen con 
38 
relaciones globales. Por su parte la transparencia de localización

Continuar navegando