REPLICACION Y DE BASES DE DATOS DISTRIBUIDAS Computacionales Administrativos Alejandra Zavala Mendoza Mtra. Mara Luisa Velasco Ramrez Xalapa-Enrquez, Veracruz
UNIVERSIDAD VERACRUZANA Facultad de Contadura y Administracin REPLICACION Y FRAGMENTACION BASES DE DATOS DISTRIBUIDAS
M O N O G R A F A
Para obtener el Ttulo de: Licenciado en Sistemas Computacionales Administrativos
Presenta: Alejandra Zavala Mendoza Asesor: Mara Luisa Velasco Ramrez Enrquez, Veracruz Agosto 2010 1 VERACRUZANA Facultad de Contadura y Administracin FRAGMENTACION BASES DE DATOS DISTRIBUIDAS
Para obtener el Ttulo de: Licenciado en Sistemas Computacionales Administrativos Alejandra Zavala Mendoza Mara Luisa Velasco Ramrez Agosto 2010 2
UNIVERSIDAD
Facultad
REPLICACION Y FRAGMENTACION DE BASES DE DATOS DISTRIBUIDAS Computacionales Administrativos Alejandra Zavala Mendoza Mtra. Mara Luisa Velasco Ramrez Xalapa-Enrquez, Veracruz
UNIVERSIDAD VERACRUZANA Facultad de Contadura y Administracin REPLICACION Y FRAGMENTACION BASES DE DATOS DISTRIBUIDAS
M O N O G R A F A
Para obtener el Ttulo de: Licenciado en Sistemas Computacionales Administrativos
Presenta: Alejandra Zavala Mendoza Asesor: Mtra. Mara Luisa Velasco Ramrez Enrquez, Veracruz Agosto 2010 3 VERACRUZANA de Contadura y Administracin REPLICACION Y FRAGMENTACION BASES DE DATOS DISTRIBUIDAS
Para obtener el Ttulo de: Licenciado en Sistemas Computacionales Administrativos Alejandra Zavala Mendoza Mtra. Mara Luisa Velasco Ramrez Agosto 2010 4
AGRADECIMIENTOS Primero que nada quiero dedicar mi monografas a mis padres que son las personas que ms amo, porque gracias a ellos he podido llegar a donde estoy por que sin su apoyo no hubiera podido lograr este gran sueo terminar mi carrera profesional. Gracias por todo su apoyo incondicional, comprensin y por estar siempre a mi lado los amooo mucho. Tambin quiero agradecer a mis compaeros que durante estos cuatro aos siempre me brindaron su amistad: Luisito, perrota, tachi, Jorge, Juan Ramn, increble, etc. Los quiero mucho y los voy a extraar demasiado. Por ltimo tambin quiero agradecer a mis amigas que siempre han estado conmigo marinita, andri, mafer, talis las quiero mucho
II
INDICE
Pg. Resumen..1 Introduccin...............2 Contenido: Capitulo 1: Base de datos.......................5 1.1.- Antecedentes de las bases de datos.............................................6 1.2.- Bases de datos..6 1.3.- Diseo de Bases de datos...9 1.4.-Usuarios finales..........................10 1.5 -Control de redundancia....11 1.6.- Suministros de copias de seguridad y recuperacin.12 1.7.-Lenguaje de SGBD...14 1.7.1.- Componentes del SGBD........17 1.8.- Utilidades del Sistema de Base de Datos18
Capitulo 2: Bases de Datos Distribuidas..20 2.1.- Bases de Datos Distribuidas.....21 2.2.- Ventajas de las Bases de Datos Distribuidas.22 2.3.- Desventajas de las bases de datos distribuidas25 2.4.- Aplicaciones de las bases de datos distribuidas26 2.5.- Funciones de las Bases de Datos Distribuidas..27 III
2.6.- Tcnicas de Fragmentacin replicacin y asignacin de las Bases de Datos Distribuidas..29 2.6.1.- Fragmentacin horizontal.........................30 2.6.2.- Fragmentacin Vertical...........................................31 2.7.- Replicacin y asignacin de las Bases de Datos Distribuidas.31 2.8.- Tipos de Bases de Datos Distribuidas.33 2.8.1.- Caractersticas de los Sistemas de Gestin de Bases de Datos Distribuidas35 2.9.- Procesamiento de consultas de Bases de Datos Distribuidas.37 2.10.- Control de concurrencia y recuperacin en Bases de datos distribuidas39 2.10.1.- Recuperacin distribuida..43 2.11.- Arquitectura cliente servidor con bases de Datos Distribuidas.43
Capitulo 3: Replicacin y Fragmentacin de una Base de Datos Distribuida..47 3.1.- Replicacin..........48 3.1.1.- Tipos de replicacin.50 3.1.2.- Factores para la replicacin...51 3.1.3.- Ventajas y Desventajas de la replicacin.52 3.2.- Fragmentacin de los datos..53 3.2.1.- Requerimientos de informacin.54 3.2.2.- Fragmentacin Horizontal...54 3.2.3.- Fragmentacin Vertical......................................................56 IV
3.2.4.- Fragmentacin mixta...58 3.4.- Colocacin de datos..........61 3.4.1.- Criterios para escoger la distribucin.......62 3.5.- Transparencia..63 Conclusin.65 Fuentes de Informacin..68 ndice de Tablas...70 ndice de Figuras..71 1
RESUMEN
El siguiente trabajo titulado Replicacin y fragmentacin de Bases de Datos Distribuidas principalmente est enfocado a la descripcin de las bases de datos distribuidas, sus caractersticas, ventajas y sus usos.
Esta investigacin documental va dirigida a cualquier organizacin que cuente con la necesidad de almacenar informacin en bases de datos y poder manipular dicha informacin desde cualquier punto que lo desee gracias las bases de datos distribuidas, mismos que por medio de una red de comunicacin, pueden acceder a la informacin de una forma rpida y eficiente.
El trabajo se centra en considerar la importancia de tener replicada una base de datos, los grandes beneficios que esta proporciona, y las ventajas competitivas que esta proporciona.
2
INTRODUCCION
3
Los almacenamientos de datos son un elemento fundamental para las empresas por ello ha llamado la atencin de estas ya que en la actualidad cualquier compaa por pequea que sea tiene que manejar grandes cantidades de informacin, para poder tener control sobre todas las reas de su empresa, es por ello que surge la necesidad de emplear bases de datos dentro de las organizaciones, no importando el giro de las empresas.
Por lo cual, se le denomina Base de Datos a la coleccin de datos aparentes usados por el sistema de aplicaciones de una determinada empresa.
La mayora de las empresas necesitan contar con bases de datos ya que las bases de datos facilitan la realizacin de sus actividades, garantiza la seguridad, la confiabilidad de la informacin, consistencia de los datos, mejora en la disponibilidad de informacin, guarda informacin sobres sus clientes, proveedores, informacin financiera, inventarios, compras, ventas etc. Si contamos con un buen control de la informacin se podr llevar una empresa de mejor manejar y mas organizadamente
La gran cantidad de informacin que producen grandes empresas geogrficamente distribuidas, ha generado una gran dispersin de los datos asociados a sus sistemas de informacin. Para compartir dichos datos se requiere de tecnologa capaz de integrarlos para permitir el acceso concurrente de mltiples usuarios. Una de las tecnologas que se propone alcanzar este tipo de objetivos son las bases de datos distribuidas
Las bases de datos distribuidas mejoran la disponibilidad de los datos pues permite que el sistema pueda seguir operando y los usuarios desde cualquier sitio puedan acceder a la informacin, exactamente igual como si los datos estuvieran en el mismo sitio del usuario.
4
Las bases de datos distribuidas se conectan por medio de redes de computadoras, estas pueden tener cientos de usuarios conectados concurrentemente, por lo cual es un problema en muchas empresas que compiten en los mercados mundiales. Debido al alto grado de conectividad que provee Internet a las empresas, se debe tener un buen diseo de replicacin y fragmentacin. Este problema consiste en tratar de determinar la mejor forma de dividir las relaciones de la base de datos en fragmentos. La fragmentacin mejora la disponibilidad de la informacin notablemente por que el sistema puede seguir operando mientras, por lo menos, uno de los sitios esta activo, con la replicacin tambin se mejora el rendimiento de la recuperacin en consultas globales, por que el resultado de semejante consulta se puede obtener localmente en cualquier sitio, esto ayuda a contar con la informacin necesaria de una forma ms fcil y rpida y hoy en da para las empresas contra con la informacin en un corto tiempo es un factor clave para la toma de decisiones oportunas.
5
Capitulo 1: Bases de Datos.
6
Las bases de datos, hoy en da, ocupan un lugar determinante en cualquier rea ya que se emplea en diversas empresas no importando el giro de esta, es por ello que deben de tener los conocimientos necesarios para poder utilizar las bases de datos .En este captulo se hablar de las bases de datos, algunas de sus ventajas, caractersticas, adems de cuales son algunas de sus principales caractersticas, componentes, su diseo, etc. 1.1.- Antecedentes de las bases de datos. Segn Coronel, Carlos. (2004) histricamente las primeras aplicaciones de computadora se concentraron en tareas de oficina: en procedimientos de entradas o pedidos o cambios, nominas, planificacin del trabajo, etc. Tales aplicaciones tenan acceso a datos guardados en archivos de computadora. Se solicitaba informacin Cuntos productos fueron vendidos por quien y a quien?; y se generaban reportes para transformar los datos a informacin til para las decisiones de la gerencia. 1.2.- Bases de datos Siguiendo con Coronel, Carlos Bases de datos: es una coleccin de datos relacionados. Por datos: se entiende hechos conocidos que pueden registrarse y que tienen un significado implcito. Po ejemplo, considrese los nombres, nmeros de telfono y direcciones de gente que usted conoce. Usted podra registrar dichos datos en un libro de direcciones, utilizando una computadora personal y un software como ACCESSO EXCEL. Este es una coleccin de datos relacionados con un significado implcito y por tanto es una base de datos. Se suelen utilizar sistemas de archivos, que son muchos archivos separados y no relacionados, las bases de datos se componen de datos lgicamente relacionados
7
guardados en un solo reposito de datos. Como se muestra en la figura 1.1 las bases de datos brindan grandes ventajas
Figura 1.1 Comparacin de una base de datos y un sistema archivos.
Una base de datos puede tener cualquier tamao y complejidad. Por ejemplo, la lista de nombres y direcciones mencionada, puede constar de unos pocos cientos de registros, cada uno con una estructura sencilla. Una base de datos puede crearse manualmente o puede estar informatizada.
8
Una base de datos informatizada puede crearse y mantenerse bien mediante un conjunto de programas de aplicacin diseados especficamente pata dicha tarea o bien mediante un sistema de gestin bases de datos. Un sistema de gestin de bases de datos: (data management system o DBMS) es una coleccin de programas que permiten a los usuarios crear y mantener una base de datos. El SGBD es por tanto un sistema software de propsito general que facilita los procesos de definicin, construccin y manipulacin de base de datos para distintas aplicaciones. Las definicin de una base de datos consiste en especificar los tipos de datos, las estructuras y restricciones para los datos que se van a almacenar en dicha base. La construccin de una base de datos es el proceso de almacenar los datos concretos sobre algn medio de almacenamiento controlado por el SGBD. La manipulacin de la base de datos incluye funciones tales como consultar la base de datos para recuperar unos datos especficos, actualizar la base de datos para reflejar los cambios ocurridos en el mini mundo, y generar informes a partir de los datos. No es preciso utilizar software de SGBD de propsito general para implementar una base de datos informatizada. Se codifica un conjunto de programas para crear y mantener la base de datos, es decir, crear software de SGBD de propsito especifico, en cualquier caso, se use usemos o no un SGBD de propsito general, normalmente se emplea gran cantidad de software para manipular la base de datos. Se Denomina sistemas de base de datos al conjunto formado por la base de datos ms el SGBD. La figura 1.2 ejemplifica un SGBD.
9
Figura 1.2 Muestra un entorno de sistema de base de datos simplificado, que ilustra los conceptos y terminologa de un Sistema de Base de datos.
1.3.- Diseo de bases de datos Segn RAMEZ, Elmasri. (2006), Los diseos de bases de datos se encargan de identificar los datos que se almacenan en la base de datos y de elegir las estructuras apropiadas para presentar y almacenar dichos datos. Por lo general, estas tareas se realizan antes de que se implemente la base de datos y se carguen los datos. Los diseadores tiene la responsabilidad de comunicarse con toso los futuros usuarios de la base de datos con el fin de comprender sus necesidades, y de presentar un diseo que satisfaga esos requerimientos. En
10
muchos casos los diseadores forman parte del personal de ABD (Administrador de bases de datos) y tal vez asuman otras responsabilidades una vez terminado el diseo de la base de datos. Casi siempre, los diseadores interactan con cada uno de los grupos de usuarios potenciales y desarrollan una vista de la base de datos que satisfaga los requerimientos de datos y de procesamiento de cada grupo, despus, se analizan las vistas y se integran con las de otros grupos de usuarios. El diseo final debe ser capaz de satisfacer las necesidades de todos los grupos. 1.4.- Usuarios finales Continuando con RAMEZ, Elmasri. (2006)., Los usuarios finales son las personas cuyo trabajo requiere acceder a la base de datos para consultarla, actualizarla y generar informes; las base de datos existe principalmente para que ellos la utilicen. Los usuarios finales ocasionales: acceden de vez en cuando a la base de datos, pero es posible que requieran informacin diferente en cada ocasin. Utilizan un lenguaje de consulta de base de datos avanzado para especifica sus solicitudes y suelen ser gerentes de nivel medio o alto u otras personas que examinan la base de datos ocasionalmente Los usuarios finales simples o paramtricos: construyen una porcin apreciable de la totalidad de los usuarios finales. La funcin principal de su trabajo gira en torno a consultas y actualizaciones constantes de la base de datos, utilizando tipos estndar de consulta y actualizaciones, transacciones programadas, que se han programado y probado con mucho cuidado. Las tareas realizadas dichos usuarios son variadas:
Los cajeros de los bancos revisan los saldos y realizan los reintegros y depsitos de dinero.
11
Los encargados de reservas de lneas areas, hoteles y compaas de alquiler de automviles revisan la disponibilidad para una solicitud presentada y realizan las reservas. Los usuarios finales avanzados: pueden ser los ingenieros, cientficos, analistas de negocios y otros, que estn suficientemente familiarizados con los recursos de SGBD como para implementar sus aplicaciones de forma que cumplan sus complejos requerimientos. Los usuarios autnomos: mantienen bases de datos personales mediante la utilizacin de paquetes de programas comerciales que cuentan con interfaces de fcil uso, basados en mens o en grficos. Un ejemplo es el usuario de un paquete fiscal que almacena diversos datos financieros personales para fines fiscales Normalmente los SGBD proporcionan mltiples recursos para acceder a la base de datos. Los usuarios finales simples necesitan aprender pocas cosas sobre los recursos proporcionados por el SGBD; solo necesitan entender los tipos de transacciones estndar diseadas e implementadas para que ellos las usen los usuarios ocasionales aprender nicamente unos pocos recursos que pueden utilizar de forma repetida. Los usuarios avanzados intentan conocer la mayora de los recursos del SGBD para satisfacer sus complejos requerimientos. Los usuarios autnomos normalmente adquieren gran habilidad para utilizar un paquete de software especfico 1.5.- Control de redundancias La redundancia: es el almacenamiento de los mismos datos varias veces, provoca varios problemas. En primer lugar, es necesario realizar una misma actualizacin lgica (como introducir los datos de un nuevo alumno varias veces: una vez por cada fichero en el que se registren los datos de alumnos. Esto implica una duplicacin del trabajo. En segundo lugar se desperdicia espacio de almacenamiento al guardar los mismos datos en varios sitios, y este problema puede ser grave si las bases de datos son grandes. En tercer lugar, es posible
12
que los ficheros que representan los mismos datos, se vuelvan inconsistentes. Esto puede suceder porque una actualizacin se haya aplicado a ciertos ficheros pero no a otros. Restriccin de los accesos no autorizados Cuando muchos usuarios comprante una misma base de datos, es probable que no todos tengan la autorizacin para acceder a toda la informacin que contiene. Por ejemplo es habitual considerar que los datos financieros son confidenciales y que solo ciertas personas pueden tener autorizacin para acceder a lo mismo. Adems, es posible que solo algunos usuarios tengan permiso para recuperar datos, mientras que a otros se les permita obtenerlos y actualizarlos por tanto, tambin es preciso controlar los tipos de acceso( recuperacin o actualizacin). Normalmente a los usuarios o grupos de usuarios se le asigna nmeros de cuenta protegidos, con contraseas que sirven para detener accesos a la base de datos. EL SGBD (Sistema de gestin de base de datos), debe contar con un sistema de seguridad y autorizacin que le permita al ABD crear cuentas y especificar restricciones para ellas. El SGBD deber entonces garantizar automticamente el cumplimiento de dichas restricciones. Cabe sealar que el mismo tipo de controles se puede aplicar al software que SGBD por ejemplo, solo el personal del ABD tendr autorizacin para utilizar ciertos software privilegiados como el que sirve para crear cuentas nuevas. De manera similar podemos hacer que los usuarios paramtricos solo puedan tener acceso a la base de datos a travs de las transacciones programadas que expresamente fueron creadas para ellos. 1.6.- Suministros de copias de seguridad y recuperacin Todo SGBD debe contar con recursos para recuperarse de fallos de hardware o de software. El sistema de copias de seguridad (Backus) y recuperacin del SGBD es el responsable de llevar a cabo dicha recuperacin por ejemplo si el sistema falla mientras se est ejecutando un complejo programa de actualizacin el subsistema de recuperacin se encargara de asegurarse de que la base de datos se restaure al estado en que estaba antes de comenzar la ejecucin de dicho
13
programas, con alternativa el subsistema de recuperacin puede asegurarse de que el programa reanude sus ejecucin en el punto en que fue interrumpido de modo que su efecto complejo se registre en la base de datos Arquitectura de tres esquemas de un SGBD El objetivo de la arquitectura de tres esquemas es separar las aplicaciones del usuario y la base de datos fsica. En esta arquitectura se definen esquemas de los tres siguientes niveles: 1.- El nivel interno: tiene un esquema interno que describe la estructura fsica de almacenamiento de la base de datos. El esquema interno emplea un modelos de datos fsicos y describe todos los detalles para su almacenamiento, as como los caminos de acceso para la base de datos 2.- El nivel conceptual: el nivel conceptual tiene un esquema conceptual que describe la estructura de la base de datos completa para una comunidad de usuarios. El esquema conceptual oculta los detalles de las estructuras fsicas de almacenamiento y se concentra en describir entidades, tipos de datos, vnculos, operaciones de los usuarios y restricciones. En este nivel podemos usar un modelo de datos o uno de implementacin. 3.- El nivel externos o de vistas: incluyen varios esquemas externos o vistas de usuarios. Cada esquema externo describe de la base de datos que interesa a un grupo de usuarios determinado, y oculta a ese grupo el resto de la base de datos. En este nivel podemos usar un modelo de datos de alto nivel o uno de implementacin. La estructura de tres esquemas es una herramienta adecuada para que el usuario visualice los niveles de esquema de un sistema de base de datos. La mayora de los SGBD no separan los tres niveles completamente pero en algunos de ellos se soporta, en cierta mdica la arquitectura de tres esquemas. Algunos SGBD incluyen detalles del nivel fsico en el esquema conceptual. En casi todos los SGBD se manejan vistas de usuarios, los esquemas externos se especifican en el
14
mismo modelos de datos que describe la informacin del nivel conceptual. Con algunos SGBD es posible utilizar diferentes modelos de datos en los niveles conceptual y externo. Cabe sealar que los tres esquemas son ms que descripciones de los datos; los ltimos datos que existen realmente estn en el nivel fsico. En un SGBD basado en la base de arquitectura de tres esquemas cada grupo de usuarios hace referencia exclusivamente su propio esquema externo, por lo tanto, el SGBD debe transformar una solicitud expresada en trminos de un esquema externo en una solicitud expresada en trminos del esquema conceptual y luego de una solicitud en el esquema interno que se procesara sobre la base de datos almacenada. Si la solicitud es una obtencin de datos ser preciso modificar el formato de informacin extrada de la base de datos almacenada para que coincida con la vista externa del usuario. El proceso de transformar solicitudes y resultados de un nivel a otro se denomina correspondencia o transformacin. Esta correspondencia puede requerir bastante tiempo por lo que algunos SGBD no soportan vistas externas. Sin embargo, incluso de tales sistemas es preciso realizar algunas correspondencias para transformar solicitudes entre los niveles conceptual o interno 1.7.- Lenguaje del SGBD Silberschatz, Abraham. (2006). Una vez que se ha completado el diseo de una base de datos y se ha elegido un SGBD para su implementacin el primer paso ser identificar los esquemas conceptual o interno de la base de datos y cualquier correspondencia existente entre ambos. El muchos SGBD en los que no se mantienen una separacin estricta de niveles, el ABD y los diseadores de la base de datos utilizan un mismo lenguaje; el lenguaje de definicin de datos (LDD), para definir ambos esquemas el SGBD contara con un compilador de LDD cuya funcin podr procesar las sentencias escritas en el LDD para identificar las descripciones de los elementos de los esquemas y almacenar la descripcin del esquema el catalogo del SGBD. Cuando los SGBD se mantengan una clara separacin entre
15
los niveles conceptual o externo el LDD servir solamente para especificar el esquema conceptual. Para especificar el esquema interno, se utiliza otro lenguaje, el lenguaje de definicin de almacenamiento LDA las correspondencias entre los esquemas se pueden especificar en cualquiera de los dos lenguajes. Para una verdadera arquitectura de los tres esquemas, necesitamos un tercer lenguaje, el lenguaje de definicin de vistas LDV, para especifica las vistas de usuario y sus correspondencias con el esquema conceptual. Sin embargo, en la mayora de los SGBD el LDD se utiliza tanto como para describir el esquema conceptual como el externo. Una vez que se han cumplido los esquemas de la base de datos y que en esta se han introducido los datos; los usuarios requieran algn mecanismo para manipularla. Las operaciones de manipulacin ms comunes son la recuperacin, insercin, la eliminacin y la modificacin de los datos. El SGBD ofrece un lenguaje de manipulacin de datos LMD para estos fines. En los actuales SGBD, los tipos de lenguaje mencionados no se consideran lenguajes diferentes ms bien, se utilizan un amplio lenguaje integrado que cuenta con elementos, para definir esquemas conceptuales, definir vistas, manipular datos y definir su almacenamiento. La definicin de almacenamiento normalmente se mantiene separada puesto que se utiliza para definir las estructuras fsicas de almacenamiento para armonizar la ejecucin del sistema de bases de datos y normalmente se utiliza por el personal de administracin de la base de datos. Un ejemplo representativo es el lenguaje de bases de datos relacionales SQL que representa una combinacin de LDD, LDV, LMD as como sentencia para especificacin de restricciones y evolucin del esquema. El LDA fue componente de las primeras versiones del SQL, pero se ha retirado del lenguaje para mantenerlos solo a nivel conceptual y externo. Hay dos tipos principales de LMD, los LMD de alto nivel o de no procedimiento se pueden utilizar de manera independiente para especificar operaciones complejas
16
de base de datos en forma concisa en muchos SGBD, es posible introducir interactivamente instrucciones de LMD de alto nivel desde un terminal o desde un terminal o bien embebidas en un lenguaje de programacin de propsito general. En el segundo caso es preciso identificar las sentencias del LMD dentro del programa para que le pre compilador pueda extraerlas, y SGBD procesarlas. Los LMD de bajo nivel o de procedimientos deben estar embebidos en un lenguaje de programacin de propsito general. En general, estos tipos de LMD recuperan registros u objetos individuales de la base de datos y los procesa por separado. Por tanto, necesita utilizar elementos del lenguaje de programacin, como los bucles para recupera y procesar cada registro individual de un conjunto de registros. Por esta razn los MLD de bajo nivel, se conocen tambin como LMD de registro por registro u orientados a registro los LMD de alto nivel, como SQL pueden especificar y recuperar muchos registros con una sola instruccin de LMD por eso se le llama LMD conjunto por conjunto u orientado a conjuntos. Las consultad de los LMD de alto nivel suelen especificar que datos ah que obtener y como obtenerlos por ello tales lenguajes se denominan tambin declarativos. Siempre que las instrucciones de un LMD sean de alto o de bajo nivel, estn embebidas en un lenguaje de programacin de propsito general, a ese nivel se le denomina lenguaje anfitrin al MLD sub lenguaje de datos. Por otro lado los LMD de alto nivel utilizados en forma interactiva e independiente se denominan lenguajes de consulta, en general tanto las instrucciones de recuperacin o de la actualizacin de datos del LMD de alto nivel se pueden utilizar interactivamente, as que se consideran parte de una lenguaje de consulta. Normalmente los usuarios finales ocasionales utilizan un lenguaje de consulta de alto nivel para especificar sus solicitudes, mientras que los programadores utilizan el MLD en su forma embebida. Para los usuarios simples y paramtricos casi siempre se incluyen interfaces amigables con el usuario que permiten interactuar con la base de datos; estos tambin pueden aprovechar los usuarios ocasionales que no deseen aprender los detalles de un lenguaje de consulta de alto nivel.
17
1.7.1- Componentes del SGBD Continuando con RAMEZ, Elmasri. (2006). La base de datos y el catlogo del SGBD casi siempre se almacenan en el disco el acceso al disco suele controlarlo principalmente el sistema operativo que planifica la entrada y salida del disco. Un modulo gestor de datos almacenados del SGBD de ms alto nivel controla el accedo a la informacin el SGBD almacenada en el disco bien sea aparte de la base de datos o del catalogo. El gestor de datos almacenados puede emplear servicios bsicos del Sistema operativo para transferir los datos de bajo nivel entre el disco y la memoria principal del computador, pero controla los aspectos de la transferencia de datos, como el manejo de los buffers de la memoria principal. Una vez que los datos estn en dichos bufes fe la memoria principal podrn ser procesados por otros mdulos del SGBD o por los programas de aplicacin. El compilador de LDD procesa las definiciones de esquemas especificadas en el LDD y almacena las descripciones de los esquemas (metadatos) en el catalogo del SGBD. El catalogo contiene informacin como los nombres de los ficheros y de los elementos de datos los detalles de almacenamiento de cada fichero la informacin que corresponde entre los esquemas y las restricciones, adems de otros tipos de informacin que es necesaria para los mdulos del SGBD. Los mdulos del SGBD que necesitan conocer esa informacin debern consultar el catalogo El procesador de base de datos en tiempo de ejecucin se encarga de los acceso a la misma durante la ejecucin; revive operaciones de obtencin o de actualizacin y las ejecuta sobre la base de datos. El acceso al disco se tiene mediante el gestor de datos almacenados. El recopilador de consultas maneja las consultas de alto nivel que se introducen interactiva, ente analiza las sintaxis y compila la consulta o la interpreta creando el cdigo de acceso la base de datos y luego genera llamadas al procesador en tiempo de para ejecutar dicho cogido.
18
El precompilador extrae instrucciones el MLD de un programa de aplicacin escrito en un lenguaje de programacin anfitrin. Estas instrucciones se envan al compilador de MLD para convertirlas en cdigo objeto para el acceso de la base de datos, y el resto del programa se enva al compilador del lenguaje anfitrin el cdigo objeto de las instrucciones LMD y el del resto del programa se enlazan, formando una transaccin programada cuyo cdigo ejecutable incluye llamadas al procesador de la base de datos durante el tiempo de ejecucin El SGBD tambin se comunica con los compiladores de los lenguajes de programacin anfitriones de propsito general, puede ofrecer interfaces amigables con el usuario como ayuda a cualquiera de los tipos de usuarios
1.8.- Utilidades del Sistema de Base de Datos Adems de los modelos de software que se acaban de describir, casi todos los SGBD cuentan con utilidades de base de datos que ayudan al ABD a destinar el sistema. Las utilidades comunes efectan los siguientes tipos de funciones: 1.- Carga: se utiliza para cargar ficheros de datos ya existentes (como ficheros de texto o secuenciales) en la base de datos. Normalmente a la utilidad se le especifica el formato actual del fichero de datos (fuente) y la estructura de fichero en la base de datos deseada (destino). La utilidad modifica automticamente el formato de los datos y los almacena en la base de datos. Con la proliferacin de los SGBD, la transferencia de datos de un SGBD a otro se ha vuelto algo comn en muchas organizaciones. Algunos proveedores actualmente ofrecen productos que generan los programas de carga apropiados, de acuerdo con las descripciones de almacenamiento de las bases de datos fuente y destino (esquemas internos). Tales herramientas tambin se denominan herramientas de conversin. 2.- Copia de seguridad backup: las utilidades de respaldo crean una copia de seguridad de la base de datos, casi siempre volcando toda la base de datos en
19
cinta. La copia de seguridad puede servir para restaurar la base de datos en caso de un fallo catastrfico. Tambin se suelen usar copias de seguridad en niveles, donde solo se registran los cambios habidos desde la anterior copia de seguridad. La copia de seguridad ahora es ms compleja, pero se ahorra espacio. 3.- Reorganizacin de ficheros: esta utilidad puede servir para pasar de una organizacin de los ficheros de la base de datos a otra con el fin de mejorar el rendimiento 4.- Control de rendimiento: las utilidades de este tipo supervisan la utilizacin de la base de datos y proporcionan datos estadsticos al ABD, el cual los utilizan para decidir, por ejemplo, si conviene reorganizar los ficheros con el fin de mejorar el rendimiento En este primer captulo se explico que son las bases de datos, cmo funcionan y la importancia de contar con una base de datos dentro de una organizacin. Existen diversos tipos de bases de datos pero las bases de datos que actualmente mas se demandan gracias a sus grandes ventajas competitivas son las bases de datos distribuidas las cuales abordaremos en el siguiente captulo.
20
Capitulo 2: Bases de Datos Distribuidas.
21
En el actual capitulo se darn a conocer en qu consisten las bases de datos distribuidas sus principales caractersticas as como sus ventajas, principales funciones, tipos de bases de datos distribuidas, etc. En este captulo se explicara la razn por la que tales bases de datos estn llegando a ser cada vez ms importantes, as como algunos de los problemas que se generan. Las bases de datos distribuidas son una coleccin de sitios, conectados por medio de una red de comunicacin, los sitios trabajan juntos, a fin de que un usuario de cualquier sitio puede acceder a los datos desde cualquier logar de la red, exactamente como si los datos estuvieran guardados en el propio sitio del usuario, es por ello que cada da ms empresas estn implementando bases de datos distribuidas para tener acceso a su base de datos desde cualquier sitio que desee.
2.1.- Bases de datos distribuidas Segn RAMEZ, Elmasri. (2006). Las bases de datos distribuidas aportan las ventajas de la computacin distribuida al dominio de las bases de datos. Un sistema de computacin distribuido consiste en un conjunto de elementos de procesamiento, no necesariamente homogneos que estn interconectados por una red de computadoras y que cooperan con la ejecucin de ciertas tareas asignadas. Como objetivo general los sistemas de computacin distribuidos dividen un problema grande e inmanejable en piezas ms pequeas y lo resuelven eficientemente de forma coordinada. La viabilidad econmica de este enfoque proviene de dos razones: 1.- Se aprovecha mas la potencia del ordenador para resolver tareas complejas, y cada electo del procesamiento autnomo se puede resignar independientemente y puede desarrollar sus propias aplicaciones.
22
2.-Definir una base de dato distribuida BDD como una coleccin de mltiples bases de datos interrelacionadas lgicamente, distribuidas por una red de computadores y un sistema de gestin de bases de datos distribuido ( SGBD) como un sistema software que maneja una base de datos distribuida haciendo la distribucin transparente para el usuario. Una coleccin de ficheros almacenados en diferentes nodos de una red y el mantenimiento de interrelaciones entre ellos por medio de hipervnculos se ha convertido en una organizacin comn en internet, con los ficheros de la pgina web. Las funciones usuales de la gestin de bases de datos, incluyendo el procesamiento uniforme de consultas y el procedimiento de transacciones, no se aplican todava a este entorno. Las tecnologa, sin embargo se est moviendo en una direccin tal que las bases de datos Word Wide Web (www) distribuidas se harn realizad en un futuro cercano 2.2.- Ventajas de las bases de datos distribuidas La gestin de bases de datos distribuidas se ha propuesto por varias razones yendo estas desde la descentralizacin organizacional y procesamiento econmico hasta la gran autonoma. 1.-Gestin de datos distribuidos con diferentes niveles de transparencia: idealmente un SGBD deber ofrecer transparencia de distribucin en el sentido que debera ocultar los detalles de donde se almacenan fsicamente cada fichero (tabla, relacin) dentro el sistema. Otras ventajas de las bases de datos distribuidas son: Transparencia de red o de distribucin, hace referencia a la liberacin del usuario de los detalles operacionales de la red. Se podr dividir la transparencia de localizacin y transparencia de los nombres. Las transparencia de localizacin se refiere al hecho de que la instruccin usada para ejecutar una tarea, es independiente de la localizacin del dato y de la localizacin el sistema donde la instruccin fue utilizada. La transparencia de nombres implica que una vez especificado un nombre se
23
puede acceder de manera no ambigua a los objetos con nombre sin ninguna especificacin adicional. Transparencia de replica: las copias de los datos se deben almacenar en varios sitios para mejorar la disponibilidad, rendimiento, y fiabilidad. La transparencia de replica hace que el usuario desconozca la existencia de copias. Transparencia de fragmentacin: son posibles dos tipos de fragmentacin, la fragmentacin horizontal distribuye una relacin en conjunto de tuplas (filas) la fragmentacin distribuye una relacin en sub relaciones donde cada sub relacin se define por un conjunto de columnas de la relacin original. La consulta global del usuario se debe transformar en varias consultas sobre fragmentos. La transparencia de fragmentacin hace que el usuario desconozca la existencia del fragmento. 2.- Incremento de la fiabilidad y disponibilidad; estas dos ventajas son de las ms comunes para las bases de datos distribuidas. La fiabilidad se define claramente como la probabilidad de que un sistema este en marcha no cado en un punto de tiempo determinado, mientras que la disponibilidad es la probabilidad de que en sistema est disponible continuamente durante un intervalo de tiempo. Cuando los datos y el software del SGBD estn distribuidos por varios sitios un sitio puede fallar mientras otros continan operando. Solamente son inaccesibles los datos y el software del sitio que ha fallado. Esto mejora tanto la fiabilidad y la disponibilidad. Si se replica acertadamente tanto los datos como el software en ms de un sitio se consiguen grandes mejoras en un sistema centralizado. Un fallo en un nico sitio hace al sistema inaccesible para todos los usuarios una base de datos distribuida, algunos de los datos podran ser inalcanzables pero los usuarios podrn aun acceder a otra parte de la base de datos.
3.- Mejora del rendimiento: un SGBD distribuido fragmenta la base de datos manteniendo los datos cerca de donde ms se necesita. La localizacin de datos reduce la contencin para la CPU y los servicios de es y simultneamente reduce
24
los retrasos de acceso involucrados en redes de rea ancha. Cuando se distribuye una gran base de datos con mltiples sitios ah bases de datos ms pequeas en cada sitio. Como resultado las consultas locales y las transacciones que accede a datos de un nico sitio, tienen mejor rendimiento por que las bases de datos locales son ms pequeas. Adems cada sitio tiene un menor nmero de transacciones ejecutndose que si todas las transacciones refirieren a una base de datos centralizada. Adems de un paralelismo interconsulta, puede conseguirse ejecutando varias consultas en sitios diferentes o descomponiendo una consulta en sub consultas, que pueden ejecutarse en paralelo. Esto contribuye a mejorar el rendimiento.
4. Expansin ms sencillas en un entorno distribuido, la expansin del sistema mediante la adicin de datos, el aumento del tamao de la base de datos, o la adicin de ms procesadores es mucho ms sencillos. La transparencia total permite ver al usuario global la vista completa del SBDD como si fuese el nico sistema centralizado. La transparencia se proporciona como un complemento a la autonoma, que proporciona al usuario un control ms estrecho sobre sus propias bases de datos locales. Las caractersticas de la transparencia se deben implementar como parte del lenguaje del usuario que traduce los servicios requeridos en operaciones apropiadas. Adems la transparencia afectada a las caractersticas que debe proporcionar un sistema operativo y el SGBD
5. Costo de operaciones reducidas ya que es mucho ms barato agregar estaciones a una red que actualizar un sistema mainframe. El costo de las lineas de comunicacin de datos dedicadas y el software de mainframe se reduce proporcionalmente. El trabajo de desarrollo se realiza con ms rapidez y menor costo con computadoras personales baratas que con mainframes. De hecho la mayora de las corporaciones prohben el trabajo desarrollo de mainframes, las
25
mainframes no estn condenadas a desaparecer de la escena de la base de datos; su poder no puede ser descontado. No obstante de redes de computadoras personales hace posible distribuir las cargas de trabajo con ms prudencia y reservar las costosas mainframe para tareas de procesamiento mas especializadas. 6. Facilidad de crecimiento, ya que se pueden agregar sitios nuevos a la red sin afectar las operaciones de otros sitios, tal flexibilidad permite que la compaa se expanda con relativa facilidad y rapidez. 7. Interface de usuario fcil de usar, las computadoras personales y las estaciones de trabajo en general, vienen equipadas con una interfaz de usuario grafica, esto simplifica el uso y el entrenamiento de usuarios finales. 8.- Independencia del procesador: el usuario final es capaz de accesar cualquier copia disponible de los datos, y la solicitud de un usuario es procesada por cualquier procesador disponible en la ubicacin de los datos. En otras palabras, las solicitudes no dependen de un procesador especifico; cualquier procesador disponible puede manejar dicha solicitud.
2.3.- Desventajas de las bases de datos distribuidas Segn Coronel, Carlos. (2004), Las bases de datos distribuidas estn sujetas a algunos problemas. Estos incluyen Complejidad de manejo y control: el manejo de datos distribuidos es ms complejo que el de datos centralizados. Las aplicaciones deben reconocer la ubicacin de los datos y ser capaces de reunir los datos de diferentes sitios. Los administradores de las bases de datos deben tener la capacidad de coordinar las actividades para evitar la degradacin de estas provocada por anomalas de los datos. El manejo de transacciones, el control de concurrencia, la seguridad, el respaldo, la
26
recuperacin, la optimizacin de las consultas, la seleccin de la ruta de acceso , etc. Deben abordarse y resolverse. En suma, mantener los diversos componentes de bases de datos distribuidas sincronizados es una tarea difcil Seguridad: la probabilidad de fallas de seguridad se incrementa cuando los datos estn en varios sitios. La responsabilidad del manejo de los datos se reparte entre diferentes personas en varios sitios y las redes de rea local no disponen de la compleja seguridad de las instalaciones mainframe centralizadas. Falla de estndares: aunque las bases de datos dependen de la comunicacin eficaz, no existen protocolos de comunicacin estndar a nivel de base de datos ( aunque TCP/ IP es el estndar de hecho a nivel de red, a nivel de aplicacin no existe un estndar). En realidad, existen pocos estndares oficiales en cualquiera de los protocolos de base de datos distribuidas, ya sea que se ocupen de la comunicacin o del control de acceso a los datos Requerimientos de almacenamiento incrementados: la base de datos distribuida guarda varias copias de los datos requeridos en diferentes sitios, con lo que se requiere ms espacio de almacenamiento de disco. Esta desventaja es mnima, por que el espacio de almacenamiento en disco es relativamente barato y cada vez se abarata mas Mayor dificultad en el ambiente de datos. El acceso y almacenamiento en disco es un ambiente de almacenamiento de datos ms disperso, se vuelve mas difcil tanto desde la perspectiva del software como de la humana Alto costo de entrenamiento: los costos de entrenamiento en general son ms elevados en un modelo distribuido de lo que sera en un modelo centralizado, incluso, en ocasiones al grado de neutralizar el ahorro de operativo y de hardware 2.4 Aplicaciones de las bases de datos distribuidas
27
Los ambientes en los que se encuentra con mayor frecuencia el uso de las bases de datos distribuidas son: Cualquier organizacin que tiene una estructura descentralizada. Casos tpicos de lo anterior son: organismos gubernamentales y/o de servicio pblico. La industria de la manufactura, particularmente, aquella con plantas mltiples. Por ejemplo, la industria automotriz. Aplicaciones de control y comando militar. Lneas de transportacin area. Cadenas hoteleras. Servicios bancarios y financieros 2.5.- Funciones de las bases de datos distribuidas La distribucin conlleva un incremento de la complejidad en el diseo e implementacin del sistema. Para conseguir las ventajas potenciales enumeradas previamente, el software de SGBD debe poder proporcionar las siguientes funciones adems de las proporcionadas por los SGBD centralizados: Mantenimiento de la pista de los datos: la capacidad para seguir la pista a la distribucin de datos, la fragmentacin y la rplica expandiendo el catalogo del SGBDD. Procesamiento de consultas distribuidas: la capacidad para acceder a sitios remotos y transmitir consultas y datos a travs de varios sitios utilizando una red de comunicacin Gestin de transacciones distribuidas; la capacidad para ejecutar estrategias de ejecucin para consultas y transacciones que acceden a los datos desde ms de un sitio y de sincronizar el acceso de datos distribuidos y mantener integridad sobre todo la base de datos Gestin de datos replicados: la capacidad de decidir a qu copia de un elemento de datos replicados acceder y mantener la consistencia de copias de los elementos de datos replicados.
28
Recuperacin de bases de datos distribuida la capacidad de recuperarse de cadas de sitios individuales y de nuevo tipos de fallos como enlace de comunicacin Seguridad: las transacciones distribuidas se debe ejecutar con una gestin apropiada y de seguridad de datos, y los privilegios de autorizacin / acceso de los usuarios Gestin del directorio (catalogo) distribuido: un directorio contiene informacin (metadatos) de los datos de la base de datos. El directorio debe ser global para toda la BDD o local para cada sitio. Las asignacin y distribucin del directorio son temas de polticas y diseo Esta funcin incrementa la complejidad de un SGBD respecto a un SGBD centralizado. Antes de comprender todas las ventajas potenciales de la distribucin podemos encontrar soluciones satisfactorias a estos temas y problemas de diseo. Incluir todas estas funcionalidades adicionales es muy difcil de llevar acabo y encontrar soluciones ptimas lo es aun ms. En un nivel fsico de hardware un sistema centralizado se distingue del un SGBDD por los siguientes factores principales: Existen varios computadores, llamados sitios o nodos Estos sitios se deben conectar a algn tipo de red de comunicacin para transmitir datos e instrucciones a lo largo de los sitios Los sitios podrn estar localizados fsicamente prximos, es decir dentro del mismo edificio o grupo de edificios adyacentes conectados mediante una red de rea local, no podra estar distribuido geogrficamente uno de otro conectado mediante una red de rea ancha o de larga distancia. Las redes de rea local normalmente utilizan cables mediante las redes de larga distancia utilizan lneas telefnicas o satlites, tambin es posible utilizar una combinacin de los tipos de redes Las redes podran tener diferentes topologas, que definen los caminos de comunicacin directos entre sitios. Los sitios de topologas de las redes utilizadas
29
podran tener un efecto significativo en el rendimiento y por lo tanto en las estrategias de procesamiento de consultas distribuidas y de diseo de bases de datos distribuidas. Para temas de arquitectura de alto nivel, sin embargo no importa el tipo de red utiliza, lo nico importante es que cada sitio puede comunicarse directa o indirectamente con todos los dems sitios . 2.6.- Tcnicas de fragmentacin, replicacin y asignacin de las Bases de datos distribuidas Segn RAMEZ, Elmasri. (2006). En una BDD es preciso tomar decisiones respecto a en que sitios se almacenaran, que porciones de la base de datos. Antes de decidir cmo distribuir los datos debemos determinar las unidades lgicas de las bases de datos que se va a distribuir.las unidades lgicas ms simples son las propias relaciones es decir, cada relacin completa se almacenara en un sitio especifico, como se muestra en la figura 2.1 donde replica es igual a las dems replicas del sistema.
30
Figura 2.1 Replicacin y distribucin de datos en bases de datos distribuidas
2.6.1- Fragmentacin horizontal Continuando con RAMEZ, Elmasri. (2006). Un fragmento horizontal es una relacin de un subconjunto de las tuplas de esta relacin. Las tuplas que pertenecen al fragmento horizontal se especifican mediante una condicin sobre uno o ms de los atributos de la relacin. Con frecuencia, solo interviene un atributo, por ejemplo podramos definir tres fragmentos horizontales en la relacin empelado con las siguientes condiciones: (N_d = 5), (N_d=4) y (N_d=1); cada fragmento contiene las tuplas empleado, que pertenecen a un departamento en particular. De manera similar, podemos definir tres fragmentos horizontales para la relacin proyecto, con al condiciones (Numd = 5), (numd=4),(num=5), cada fragmento contiene las tuplas proyecto controladas por un departamento en particular. La fragmentacin horizontal divide una relacin horizontalmente agrupando filas para crear subconjuntos de tuplas, donde cada subconjunto tiene un cierto significado lgico. Estos fragmentos pueden entonces asignarse a diferentes sitios en el sistema distribuido. La fragmentacin horizontal derivadas aplica la participacin de una relacin primaria en nuestro ejemplo empleado proyecto, que referencia a la primaria a travs de una clave externa. De esta forma los datos relacionados entre las relaciones primarias y secundarias se fragmentan de la misma forma.
2.6.2- Fragmentacin vertical Ningn sitio tiene porque necesitar todos los atributos de una relacin, lo que indica la necesidad de otro tipo diferente de fragmentacin. La fragmentacin vertical divide una relacin verticalmente en columnas un fragmento vertical de una relacin mantiene solo ciertos atributos de la relacin. Por ejemplo podramos
31
querer dividir la relacin empleado en dos fragmentos verticales. Primero incluira informacin personal; nombre, fecha de nacimiento, direccin y sexo. Y el segundo informacin relacionada con el trabajo: NSS, salario, nss_superv, nd. La fragmentacin vertical lo es de todo apropiada, porque si ambos fragmentos se almacenan por separado, no podremos juntar otra vez las tuplas de empleado originales, ya que no existe una atributo comn entre los dos fragmentos. Es necesario incluir el atributo de clave primaria o clave candidata en todo fragmento vertical, p ara que sea posible reconstruir la relacin completa a partir de los fragmentos pro tanto habr que aadir el atributo NSS al fragmento de informacin personal 2.7- Replicacin y asignacin de los datos La replicacin resulta til para mejorar la disponibilidad de los datos. El caso ms extremo de la replicacin de toda la base de datos en todos los sitios del sistema distribuido creando as una base de datos distribuida totalmente replicada. Puede mejorar la disponibilidad notablemente por que el sistema puede seguir operando mientras por lo menos unos de los sitios esta activado. Tambin mejora el rendimiento de la recuperacin de consultas globales por que el resultado de semejante consulta se pueden obtener totalmente en cualquier sitio as; una consulta de recuperacin se puede procesar en el sitio local donde se introduce, si dicho sitio cuenta con un modulo servidor. La desventaja de la replicacin completa es que puede reducir drsticamente la rapidez de las operaciones de actualizacin, pues una sola actualizacin lgica se deber ejecutar en todas y cada una de las copias de las bases de datos a fin de mantener la consistencia. Esto es especialmente cierto si existen muchas copias de las bases de datos. Con la replicacin completa, las tcnicas de control de concurrencia y recuperacin se vuelven ms costosas de los que serian sin replicacin. En externo opuesto a la replicacin completa, es no tener ninguna replicacin esto es, cada fragmento se almacena exactamente en un sitio. En este caso todos los fragmentos deben ser disjuntos, con excepcin de la repeticin de claves
32
primarias en los fragmentos verticales o mixtos. Esto se denomina tambin asignacin no redundante. En estos dos extremos, tenemos una amplia gana de replicacin parcial de los datos; es decir, algunos fragmentos de la base de datos pueden estar replicados y otros no. El nmero de copias de cada fragmento puede ir desde uno hasta el nmero total de sitios en el sistema distribuidos. Un caso especial de replicacin parcial ocurre con frecuencia en aplicaciones donde trabajadores que se desplazan como vendedores gestores financieros y reguladores de reclamaciones llevan con ellos bases de datos parciales replicadas en computadores porttiles y asistentes digitales personales y las sincronizan peridicamente con la base de datos en el servidor. En ocasiones se llama esquema de replicacin a una descripcin de la replicacin de los fragmentos. Cada fragmento, o copia de un fragmento se debe asignar a un sitio determinado en el sistema distribuido. Este proceso se denomina distribucin de datos (o asignacin de los datos). La eleccin de sitios y el grado de replicacin depende de los objetivos de rendimiento y disponibilidad para el sistema y de los tipos de frecuencias de transacciones introducidas en cada sitio. Por ejemplo si se requiere una alta disponibilidad y las transacciones se pueden introducir en cualquier sitio y si la mayora de ellas son de recuperacin, entonces una base de datos completamente replicada ser una buena opcin. Sin embargo si por lo general ciertas transacciones se tiene acceso a partes especificas de la base de datos se introducen en un solo sitio, se podra asignar el conjunto de fragmentos correspondiente exclusivamente a este sitio los datos que se utilizan en mltiples sitios se puede replicar en esos sitios. Si se efectan muchas actualizaciones puede ser conveniente limitar la replicacin. Encontrar una solucin optima o incluso buena, para la asignacin de datos distribuidos en un problema de optimizacin muy complejo
2.8- Tipos de sistemas de bases de datos distribuidas
33
El termino sistema de gestin de base de datos distribuida puede describir diversos sistemas que presentan muchas diferencias entre s. El punto principal que todos estos sistemas tienen en comn es el hecho de que los datos y el software estn distribuidos entre mltiples sitios conectados por alguna especie de red de comunicaciones, como se muestra en la figura 2.2
Figura 2.2 Ejemplo de una Base de datos Distribuida El primer factor a considerar es el grado de homogeneidad del software de SGBDD. Si todos los servidores o SGBDD locales individuales utilizan software idntico y todos los usuarios (clientes) emplean software idntico, se dice que el SGBD es homogneo en caso contrario se le denomina heterogenia. Otro factor relacionado con el grado de homogeneidad es el grado de autonoma local. Si el sitio local no puede funcionar con un SGBD autnomos, el sistema no tiene
34
autonoma local. Por otro lado, si se permiten las transacciones locales acceso directo a un servidor, el sistema tendr cierto grado de autonoma local. En un estreno de la gana de autonoma, tenemos un SGBDD que da al usuario la impresin de ser un SGBD centralizado. Solo hay un esquema conceptual y todo acceso al sistema se hace a travs de un sitio que es parte del SGBDD de modo que no hay autonoma local. En el otro extremo nos encontramos con un SGBDD denominado SGBDD federado (o sistema de mltiples bases de datos). En un sistema as, cada servidor es un SGBD centralizado independiente y autnomo, que tiene sus propios usuarios locales, transaccionales locales y ABD, por los tanto posee un alto grado de autonoma local. El trmino sistema de bases de datos federadas ( SBDF) se utiliza cuando hay algn esquema o vista global de la federacin de bases de datos que es compartido por las aplicaciones. Por otro lado, un sistema de mltiples bases de datos no tiene un esquema global e interactivamente, construye uno segn la aplicacin lo necesite. Los dos sistemas son un hibrido entre sistemas centralizados y distribuidos, y la distribucin que hemos hecho entre ellos no se sigue estrictamente nos referimos a ambos como SBDF en un sentido genrico. Es un SBDF heterogenia, un servidor podra ser un SGBD relacional, otro un SGBD en red, y un tercero SGBD jerrquico o de objetos; en un caso as es necesario disponer de un lenguaje de un sistema cannico, e incluir traductores de lenguaje para traducir sub consultas de lenguaje cannico al lenguaje de cada servidor. 2.8.1- Caractersticas de los sistemas de gestin de bases de datos El tipo de heterogeneidad presente en los SBDF puede provenir de varias fuentes Diferencias de modelos de datos; la base de datos de una organizacin provienen de una variedad de modelos de datos incluyendo los llamados modelos legados (red y jerrquicos). El modelo de datos relacional, el
35
modelo de datos de objetos e incluso ficheros. Las capacidades de moderado de los modelos varan. Por tanto, es desafiante tratar con ellos uniformemente a travs de un nico tema global o procesarlo en un nico lenguaje. Incluso si dos bases de datos son ambas del entorno de SGBDR, la misma informacin podr representarse como un nombre de atributo, como un nombre de relacin, o como un valor, en dicha base de datos diferente. Esto requiere un mecanismo de procesamiento de consultas inteligentes que pueda relacionar informacin basada en metadatos Diferencia de restricciones. Las facilidades para especificar e implementar restricciones varan de un sistema a otro. Existen caractersticas comparables que deben reconciliarse en la construccin de un esquema global, por ejemplo, las relaciones de los modelos ER se representan como restricciones de integridad referencial, en el modelo relacional. En este modelo se deben utilizar disparadores para implementar ciertas restricciones. El esquema global debe enfrentarse tambin a posibles conflictos entre restricciones. Diferencias en lenguaje de consulta. Incluso en el mismo modelo de datos, los lenguajes y sus versiones varan. por ejemplo, SQL tiene muchas versiones como sql-89, sql-92, etc. Y cada sistema tiene su propio conjunto de tipos de datos y operadores de comparacin, caractersticas de manipulacin y cadena de caracteres, etc. Heterogeneidad semntica La heterogeneidad semntica se da cuando hay diferencias en el significado, interpretacin y el uso propuesto de los mismos datos y de datos relacionados. La heterogeneidad semntica entre los sistemas de bases de datos (SGBD) de componentes crea el obstculo ms grande en el diseo de esquemas globales de bases de datos heterogenias. La autonoma de diseo de los SBD de componentes se refiere a su libertad de elegir los siguientes parmetros de diseo que afectan a la eventual complejidad de los SBDF.
36
El universo de discursos desde que se representa los datos; por ejemplo dos bases de datos de cuentas de clientes de la federacin podran ser estados unidos y Japn y podran tener diferentes conjuntos de atributos acerca de las cuentas de clientes requeridas para las practicas de contabilidad. Tambin podra presentar un problema las fluctuaciones de las divisas. Por tanto las relaciones de estas dos bases de datos que tiene nombres idnticos, clientes o cuenta podran tener alguna informacin comn y alguna informacin totalmente distinta. Representacin y nombre: la representacin y nombres de elementos de datos y la estructura de los modelos de datos podra ser pre especificada para cada base de datos local. Entretenimiento significado, e interpretacin subjetiva de los datos: estos supone la principal contribucin a la heterogeneidad semntica. Restricciones de poltica y transaccin: estas tratan del criterio de seriedad compensacin de transacciones y otras polticas de transacciones. Derivacin de resmenes: la agregacin, resumen y otras caractersticas de procesamientos de datos y operaciones soportadas por el sistema. La autonoma de comunicacin de un SGBD componente se refiere a su habilidad para decidir si comunicarse con otros SBD componentes. La autonoma de ejecucin se refiere a la habilidad de un SBD de componentes para ejecutar operaciones locales, sin interferencia de operaciones externas de otros SBD componentes y su habilidad para decidir el orden en que se ejecutaran. La autonoma de asociacin de un SBD componente implica que tiene la habilidad de decidir si compartir su funcionalidad (operaciones que soporta) y recursos (datos que gestiona) con otros SBD componentes y como. El mayor desafo en el diseo de SBDF es permitir a los SBD componentes inter operar proporcionarles los tipos de autonoma antes descritos 2.9- Procesamiento de consultas de bases de datos distribuidas
37
Costos de transferencia de datos en el procesamiento de consultas distribuidas En un sistema distribuido existen varios factores adicionales que complican aun ms el procesamiento de consultas. El primeo es el costo de transferir datos por la red. Estos datos incluyen los ficheros intermedios que se transfieren a otros sitios para continuar su procesamiento, as mismo los ficheros de resultado final que puede que deban transferirse al sitio donde se necesita el resultado de la consulta. Aunque es posible que estos costos no sean demasiado altos si los sitios estn conectados por medio de una red de rea local de alto rendimiento, adquieren una importancia considerable en otros tipos de redes. Por ello, los algoritmos que optimizacin de consultas de los SGBDD consideran el objetivo de reducir la cantidad de transferencia de datos como criterio de optimizacin al elegir una estrategia de ejecucin de una consulta distribuida
Procesamiento de consultas distribuidas por semirreunion El procesamiento de consultas distribuidas mediante la operacin de semirreunion se basa en la idea de reducir el nmero de tuplas de una relacin antes de transferirla a otro sitio. Intuitivamente la idea es enviar la columna de reunin de una relacin R al sitio donde se encuentre la otra relacin S; esta columna se rene entonces con S. despus de esto los atributos de reunin, junto con los atributos requeridos en el resultado, se extraen por proyeccin de R en una direccin, y un subconjunto de S que no contenga tuplas o atributos que no intervengan en el resultado se transfiere en la otra direccin. Si solo una pequea fraccin de las tuplas S participa en la reunin, esto puede ser una solucin bastante eficiente para minimizar las tuplas de S participa en la reunin, esto puede ser una solucin bastante eficiente para minimizar la transferencia de datos Descomposicin de actualizaciones y de consultas En un SGBD sin trasparencia de distribucin, el usuario expresa su consulta directamente en trminos de fragmentacin especficos.
38
Un SGBDD que ofrezca transparencia de distribucin, de fragmentacin y de replicacin completa permitir al usuario especificar una consulta o solucin de actualizacin. En el caso de las actualizaciones, el SGBDD se encarga de mantener la consistencia entre los elementos replicados usando alguno de los algoritmos de control de concurrencia distribuida. En el caso de las consultas, un modulo de descomposicin de consultas deber dividir o descomponer una consulta en sub consultas que se puedan ejecutar en los sitios individuales. Adems, deber generarse una estrategia pata combinar los resultados de las sub consultas y formar el resultado de la consulta. Siempre que el SGBDD determine que un elemento al que se hace referencia en la consulta esta replicado, deber escoger o materializar una rplica especifica durante la ejecucin de dicha consulta El SGBDD consulta la informacin de fragmentacin, replicacin y distribucin almacenada en su catlogo. En la fragmentacin vertical, la lista de atributos de cada fragmento se guarda en el catalogo. En la fragmentacin horizontal, se guarda una condicin, a veces llamada de guarda, para cada fragmento, esta es bsicamente una condicin de seleccin que especifica que tuplas estn en el fragmento. Esta es bsicamente una condicin de seleccin que especifica que tuplas estn en el fragmento; se le llama guarda porque solo las tuplas que satisfacen esta condicin pueden estar almacenadas en el fragmento. En el caso de fragmentos mixtos, tanto la lista de atributos como la condicin de guarda se mantienen en el catalogo. 2.10- Control de concurrencia y recuperacin en Bases de datos distribuidas El control de concurrencia y la recuperacin en un entorno de SGBDD distribuido, surge numeroso problemas que no se encuentran en los entornos de SGBD centralizados. Como:
39
Manejar mltiples copias de los elemento de datos: el mtodo de control de concurrencia tiene la obligacin de mantener la consistencia entre estas copias. El mtodo de recuperacin debe cuidar que una copia sea consistente con todas las dems si el sitio en el que la copia estaba almacenada falla y se recupera posteriormente. Fallo de sitio individual l: SGBDD distribuido debe continuar operando con sus sitios activos, si es posible, cuando fallen uno o ms sitios individuales, cuando un sitio se recupere su base de datos local se deber poner al da con los dems sitios antes de que se incorpore al sistema. Fallo en enlaces de comunicacin: el sistema debe ser capaz de manejar el fallo de uno o ms de los enlaces de comunicacin que conectan los sitios. Un caso extremo de este problema es que puede haber particin de la red. Esto divide los sitios en dos o ms particiones, dentro de las cuales los sitios pueden comunicarse entre s pero no con sitios de otras particiones Configuracin distribuida: puede haber problemas para confirmar una transaccin que est teniendo acceso a la base de datos almacenadas en mltiples sitios si algunos de estos fallan durante el proceso de configuracin. A menudo se utiliza el protocolo de confirmacin en dos fases Bloqueo mortal distribuido: puede ocurrir un bloqueo mortal entre varios sitios, lo que hace necesario extender las tcnicas de manejo de bloqueos mortales Las tcnicas de control de concurrencia y de recuperacin distribuida deben resolver estos y otros problemas. Control de concurrencia distribuido basado en una copia distinguida Consiste en designar una copia determinada de cada elemento de datos como copia distinguida. Los bloqueos para este elemento de datos se asocian a la copia distinguida, y todas las solicitudes de bloqueo y desbloqueo se envan al sitio que contiene esa copia.
40
La tcnica de sitios primario, todas las copias distinguidas se guardan en el mismo sitio. Una modificacin de este bloqueo es el sitio primario con sitio de respaldo. Otro enfoque es el mtodo de copia primaria, en el que las copias distinguidas de los diversos elementos de datos se pueden almacenar en diferentes sitios. Un sitio que incluye una copia distinguida de un elemento de datos actual bsicamente como sitio coordinador para el control de concurrencia de ese elemento. Tcnica de sitio primario: en este mtodo se designa un solo sitio primario como sitio coordinador pata todos los elementos de la base de datos. Por tanto, todos los bloqueos se mantienen en ese sitio, y todas las solicitudes de bloqueo y desbloqueo se envan a este sitio. As pues, este mtodo es una extensin del enfoque centralizado. Por ejemplo, si todas las transacciones siguen el protocolo de bloqueos en dos fases, la seriabilidad est garantizada. La ventaja de este enfoque es que es una simple extensin del enfoque centralizado y por tanto no es demasiado complejo. Sin embargo, posee ciertas desventajas inherentes. Una de ellas es que todas las solicitudes de bloqueo se envan a un mismo sitio, con lo que posiblemente se sobrecargue ese sitio y se origine un cuello de botella del sistema. La segunda desventaja es que un fallo del sitio primario paraliza el sistema, ya que toda la informacin de bloqueo se mantiene en dicho sitio. Esto puede limitar la fiabilidad y la disponibilidad del sistema Sitio primario con sitio respaldo Este enfoque busca la segunda desventaja del mtodo anterior designado un segundo sitio como sitio de respaldo. Toda la informacin de bloqueo se mantiene tanto en el sitio primario como en el de respaldo. En caso de fallar el sitio primario, el de respaldo puede asumir las funciones de sitio primario, y se puede escoger un nuevo sitio de respaldo. Esta simplificada el proceso de recuperarse de un fallo del sitio primario, ya que el sitio de respaldo asume sus funciones y el procesamiento puede reanudarse una vez que se elija el nuevo sitio de respaldo y la informacin de estado de los bloqueos se copie en el . sin embrago, el proceso de adquisicin de bloqueos se hace ms lento , porque todas las solicitudes de bloqueos y la concesin de los mismos se deben guardar tanto en el sitio primario como en el de
41
respaldo antes de enviar una respuesta la transaccin solicitante. El problema de que los sitios primarios y de respaldo se sobrecarguen con solicitudes y hagan ms lento el sistema no se alivia en absoluto
Tcnica de copia primaria: Este mtodo intenta la carga de la coordinacin de los bloqueos entre varios sitios manteniendo las copias distribuidas de diferentes elementos de datos almacenadas en diferentes sitios. El fallo de un sitio afecta las transacciones que estn teniendo acceso a bloqueos sobre elementos cuyas copias primarias residan en ese sitio, pero las dems transacciones no resultan afectadas. Este mtodo tambin puede usar sitios de respaldo para elevar la fiabilidad y la disponibilidad Eleccin de un nuevo sitio coordinador en caso de fallo Siempre que un sitio coordinador falle en cualquiera de las tcnicas, los sitio que siguen activos debern elegir un nuevo coordinador. En el caso del enfoque de sitio primario sin sitio de respaldo, ser preciso abortar y reiniciar todas las transacciones en ejecucin, y el proceso recuperacin ser bastante tedioso . Parte de dicho proceso implica elegir un nuevo sitio primario y crear un proceso gestor de bloqueos y un registro de toda la informacin de bloqueos en ese sitio. En los mtodos que usan sitios se respaldo, el procesamiento de transacciones se suspende mientras el sitio de respaldo se desina como nuevo sitio primario, se escoge un nuevo sitio de respaldo y se enva a l copias de roda la informacin de bloqueo del nuevo sitio primario. Si el sitio de respaldo X est a punto de convertirse en el nuevo sitio primario, x puede escoger el nuevo sitio de respaldo entre los sitios del sistema. Sin embrago si no hay sitios de respaldo, o si estn cados tanto el sitio primario como el de respaldo, se puede seguir un proceso denominado eleccin para escoger el nuevo sitio coordinador. En este proceso, cualquier sitio Y que intente comunicarse
42
repetidamente con el sitio coordinador y fracase puede suponer que el coordinador esta cado e iniciar el proceso de eleccin enviando un mensaje a toso los sitios activos en el cual proponga que Y se concierta en el nuevo coordinador. Tan pronto como Y reciba una mayora de voto, puede declararse que es el nuevo coordinador 2.11- Recuperacin distribuida El proceso de recuperacin en las bases datos distribuidas, es bastante complicado. Aqu daremos solo una idea de algunos de sus aspectos. En ciertos casos incluso es bastante difcil determinar si un sito esta cado intercambiar un gran nmero de mensajes con otros sitios. Por ejemplo si un sitios a enva un mensaje al sitio b y espera una respuesta el b pero no la recibe. Hay varias explicaciones posibles 1.- El mensaje no llego a b debido a un fallo en la comunicacin 2.- El sitio b esta cado y no puede responder 3.- El sitio b esta activo y envi una respuesta, pero esta no llego Es difcil determinar que sucedi realmente. Otro problema con la recuperacin distribuida es la configuracin distribuida, cuando una transaccin est actualizando datos en varios sitios, no puede conformarse hasta asegurarse de que el efecto de la transaccin no puede perderse en ningn sitio. Esto significa que cada sitio debe haber guardado primero permanentemente los efectos locales de la transaccin en el diario local es el disco del sitio. A menudo se usa el protocolo de confirmacin de dos fases 2.12- Arquitectura cliente-servidor y relacin con bases de datos distribuidas. Segn C, Date. (2010),SGBDD a escala completa no han sido desarrollados para soportar todos los tipos de funcionalidades que hemos explicado. En cambio las
43
aplicaciones de bases de datos distribuidas se desarrollan en el contexto de la arquitectura cliente- servidor Aun no se ha establecido como dividir la funcionalidad del SGBD entre el cliente y el servidor. Se han propuestos diferentes enfoques. Una posibilidad es incluir la funcionalidad de un SGBD centralizado en nivel del servidor. Varios productos del SGBD relacionadas han tomado este enfoque , en el que se proporciona a los clientes un servidor SQL. Entonces cada cliente debe formular las consultas SQL apropiadas y proporcionar una interfaz del usuario y funciones de interfaz del lenguaje de programacin. Mientras SQL estn relacionado, algunos servidores SQL, posiblemente proporcionados por diferentes vendedores, pueden aceptar instrucciones SQL. El cliente suele tambin referirse al diccionario de datos que incluye informacin de la distribucin de los datos entre varios servidores SQL, as como mdulos para descomponer una consulta global en varias consultas locales que pueden ejecutarse en varios sitios. La interaccin n entre el cliente y el servidor durante el procesamiento de una consulta SQL, podra proceder de la siguiente manera. 1.- El cliente analiza una consulta de usuario y la descompone en varias consultas de sitios independientes. Cada consulta de sitios se enva al correspondiente sitio servidor 2.- Cada servidor procesa la consulta local y enva la relacin resultante al sitio cliente 3.- El sitio cliente combina los resultados de las sub consultas para producir el resultado de la consulta original realizada En este enfoque el servidor SQL tambin se denomina servidor de transacciones (o procesador de base de datos o maquina del sistema subyacente), mientras que el cliente se denomina procesador de aplicaciones ( o maquina del aparte visible al usurario). La interaccin entre el cliente y el servidor puede especificarla el usuario en el nivel cliente o mediante un modulo especializado del SGBD que es parte del paquete SGBD. Por ejemplo el usuario debera saber los datos que estn
44
almacenados en cada servidor dividir manuela mente una peticin de consulta en sub consultas del sitio, y remitir las sub cuentas individuales a los diferentes sitos, las tablas resultantes la debe combinar explcitamente las consultas del usuario en el nivel del cliente. La alternativa es hacer que el modulo cliente se encargue de estas acciones automticamente. En un SGBDD tpico, es usual dividir los mdulos software en tres niveles 1.- El software del servidor es el responsable de la gestin de los datos locales en el sitio, al igual que el software del SGBD centralizado 2.- El software del cliente es el responsable de la mayora de las funciones de distribucin, accede a la informacin a la distribucin de los datos que estn en el catalogo del SGBDD y procesa todas la peticiones que requieren acceso a ms de un sitio. Tambin maneja las interfaces del usuario 3.- El software de comunicaciones (alguna veces conjunto con un sistema operativo distribuido) proporciona las primitivas de comunicacin que utiliza el cliente para transmitir instrucciones y datos entre los sitos necesario. Esta no es una parte estrictamente del SGBDD, pero proporciona servicios y primitivas de comunicacin esenciales El cliente es el responsable de generar un plan de ejecucin distribuida para una transaccin o consulta que indique varios sitos (multisitio) y de supervisar la ejecucin distribuida enviando instrucciones a los servidores. Estas instrucciones incluyen las consultas locales y transacciones que se van a ejecutar, as como la instrucciones para transmitir datos a otros cliente so servidores. Por tanto el software cliente deber incluirse en algunos sitios donde se introduzcan las consultas multicitios. Otra funcin controlada por el cliente (o coordinador) es la de asegurar la consistencia de replicacin de copias de elementos de datos, empleando tcnicas de control de concurrencia distribuida o global. El cliente debe tambin asegurar la atomicidad de transacciones globales realizando una recuperacin global cuando fallen ciertos sitos analizamos la recuperacin distribuida y el control de concurrencia. Una posible funcin del cliente es
45
esconder los detalles de la distribucin de datos del usuario; es decir permite al usuario escribir transacciones y consulta globales como si la base de datos fuese centralizada sin tener que especificar los sitios donde se realicen los datos referenciados en la consulta o transaccin. A esta propiedad es le denomina transparencia de distribucin algunos SGBDD no proporcionan transparencia de distribucin y requiere que el usuario este atento a los detalles de la distribucin de datos. En este captulo se menciono en qu consiste una base de datos distribuidas las mltiples funciones y ventajas que esta representa y es fundamental que se entienda que son las bases de datos distribuidas para entender en qu consiste la fragmentacin de una base de datos distribuida.
46
Capitulo 3: Replicacin y Fragmentacin de los datos en una Base de Datos Distribuida.
47
La administracin de bases de datos distribuidas en redes de computadoras con cientos de usuarios conectados concurrentemente, es un problema actual en muchas empresas que compiten en los mercados mundiales. Debido al alto grado de conectividad que provee Internet a las empresas, el problema del diseo de la distribucin de las bases de datos ha recuperado su vigencia. Este problema consiste en tratar de determinar la mejor forma de dividir las relaciones de la base de datos en fragmentos en los diversos sitios de la red.
Silberschatz, Abraham. (2006) maneja tres enfoques de almacenamiento de esta relacin de la base de datos distribuida. Replica: el sistema conserva replicas (copias) idnticas de la relacin y guarda cada rplica en un sitio diferente. La alternativa a la rplica es solo almacenar una copia de la relacin r Fragmentacin: el sistema divide la relacin en varios fragmento y guarda el fragmento en un sitio diferente. Replica y fragmentacin: la relacin se divide en varios fragmentos. El sistema conserva varias replicas de cada fragmento.
3.1- Replicacin Segn Coronel, Carlos. (2004), la replicacin de datos se refiere al almacenamiento de copias en sitios mltiples servidores por una red de computadoras. Pueden guardarse copias de fragmentos en vario sitios para satisfacer requerimientos de informacin especficos. Como la existencia de copias de fragmentos puede mejorar la disponibilidad de los datos y el tiempo de respuesta, estas copias reducen los costos de comunicacin y de consulta totales.
48
La base de datos A esta dividida en dos fragmentos: A1 y A2. Dentro de una base de datos distribuida replicada, es posible el escenario ilustrado en la figura 3. 1se guarda en los sitios S1 y S2, mientras que el A2 se guarda en los sitios S2 y S3.
Figura 3.1 Replicacin de Datos Los datos replicados se someten a la regla de consistencia mutua. La regla de consistencia mutua requiere que todas las copias de fragmentos de datos sean idnticas. Por consiguiente, para mantener la consistencia de los datos entre replicas, el DDBMS debe garantizar que se realice una actualizacin de la base de datos en todos los sitios donde existen replicas. Aunque la replicacin tiene algunos beneficios, tambin exige ms complejidad de procesamiento del DDBMS, porque cada copia de datos debe ser mantenida por el sistema. Para ilustrar la complejidad impuesta a un DDBMS, los procesos que el DDBMS debe realizar para utilizar la base de datos: Si la bese de datos est fragmentada, el DDBMS debe decidir que copia acezar Una operacin Read (lectura) selecciona la copia ms cercana para satisfacer la transaccin, una operacin write (escritura) requiere que todas las copias se seleccionen y actualicen para satisfacer la regla de consistencia muta
49
El procesador de transacciones enva una solicitud de datos a cada procesador de datos para su ejecucin El procesador de datos recibe y ejecuta cada solicitud y enva los datos de vuelta al procesador de transacciones El procesador de transacciones arma las respuestas del procesador de datos El problema se complica ms cuando se consideran factores adicionales tales como la topografa de la red y procesamiento de comunicacin. Como regla general se debe considerar que la replicacin de fragmentos es de utilidad cuando el nmero de consultas de solo lectura es (mucho) mayor que el nmero de consultas para actualizaciones.
3.1.1- Tipos de replicacin De acuerdo con Silberschatz, Abraham. (2006), existen tres escenarios de replicacin: una base de datos puede ser totalmente replicada, parcialmente replicada o no replicada. Una base de datos totalmente replicada guarda varias copias de cada fragmento de la base de datos en varios sitios. En este caso, los fragmentos de la base de datos estn replicados. Una base de datos totalmente replicada puede no ser prctica debido la cantidad de carga impuesta al sistema y puede reducir drsticamente la rapidez de las operaciones de actualizacin, pues una solo actualizacin lgica se deber ejecutar con todas y cada una de las copias de la base de datos a manera de mantener la consistencia. Una base de datos parcialmente replicada guarda mltiples copias de algunos fragmentos de la base de datos en mltiples sitios. La mayora de los DDBMS son capaces de manejar bien la base de datos parcialmente replicada Una base de datos no replicada guarda cada fragmento de base de datos en un solo sitio. Por consiguiente, no existe fragmentacin de base de datos duplicados. En este caso todos los fragmentos deben ser disjunta, con
50
excepcin de la repeticin de claves primarias entre los fragmentos verticales (o mixtos). Esto se denomina tambin reparto no redundante
Replicacin Completa Replicacin Parcial No replicada Procesamiento de Consultas Fcil Moderado Lento Manejo de Directorios Fcil o no existente Moderado Moderado Control de Concurrencia Moderado Difcil Fcil Confiabilidad Muy alto Alto Bajo Realidad Aplicacin posible Realista Aplicacin posible Tabla 3.1. Comparacin de las estrategias de replicacin de fragmentos.
3.1.2- Factores para la replicacin Segn Coronel, Carlos. (2004), Varios factores influyen en la decisin de utilizar replicacin de datos: Tamao de la base de datos Frecuencia de uso Costodesempeo, software, indirectos y de administracinasociados con la sincronizacin de las transacciones y sus componentes contra los beneficios de tolerancia a las fallas asociados con los datos replicados
Cuando la frecuencia de uso de los datos remotamente localizados es elevada y la base de datos es grande, la replicacin de los datos, reduce el costo de las solicitudes de datos. La informacin sobre la replicacin de los datos se guarda en el catalogo de datos distribuidos (DDC), cuyo contenido es utilizado por el
51
procesador de transacciones para decidir que copia de fragmento de base de datos acezar. La replicacin de datos permite recuperar los datos perdidos. Replica de datos si la relacin r se replica se guarda una copia de dicha relacin en dos o ms sitos, en el caso ms extremo se tiene una rplica completa en la que se guarda una copia en cada sitio del sistema.
3.1.3- Ventajas y Desventajas de la replicacin Continuando con Silberschatz, Abraham. (2006), quien considera que existen varias ventajas y desventajas de la rplica: Disponibilidad. Si algunos de los sitos que contiene la relacin falla la relacin puede hallarse en otro sitio distinto por tanto, el sistema puede seguir procesando las consultas que incluyan a r pese al fallo del sitio. Paralelismo incrementado. En caso en que la mayora de los acceso de la relacin r solo resulten en la lectura de la relacin, varios sitios pueden procesar en paralelo las lecturas que impliquen la r cuantas ms replicas r haya mayor ser las disponibilidad de que los datos necesarios se hallan en el sitio en que se ejecuta la transaccin pro tanto la rplica de los datos minimiza el movimiento de los datos entre los sitios Sobre carga incrementado durante la actualizacin. El sistema debe asegurar que todas las replicas de la relacin r sean consistentes en caso contrario pueden producirse cmputos errneos, por eso siempre que se actualiza r ah que propagara la actualizacin a todos los sitios que contiene replicas. El resultado de una sobre carga incrementada. Por ejemplo, en un sistema bancario en donde se replica en varios sitios la informacin e las cuentas es necesario asegurarse de que el saldo de cada cuenta concuerde en todos los sitios. En general, la rplica mejora el rendimiento de las operacin leer y aumenta la disponibilidad de los datos para que las transacciones solo de lectura. No obstante la transacciones de actualizacin suponen una mayor
52
sobrecarga. El control de las actualizaciones de actualizacin realizadas por varias transacciones en los datos replicados resulta ms complicado que en los sistemas centralizados. Se puede simplificar la gestin de las replicas de la relacin r escogiendo un de ellas como copia principal de r, por ejemplo en un sistema bancario las cuentas pueden asociarse con el sitio en que se abrieron. de manera parecida, en un sistema de reserva de billetes de avin los vuelos pueden asociarse con el sitio en que se origina el vuelo.
Coste del desarrollo de software: es ms difcil estructura un sistema de bases de datos distribuidos y por tanto su coste es menor. Mayor tiempo extra de procesamiento: el intercambio de mensajes y los clculos adicionales son una forma de tiempo extra que no existe en los sistemas centralizados. La decisin del tipo de replica es muy importante ya que proporciona ventajas y desventajas como se muestra en la figura 3.2 que compara una base da datos unificada y una base de datos distribuida.
Figura 3.2 Ventajas y desventajas de las formas de replicacin
53
3.2- Fragmentacin de los datos. Continuando con Silberschatz, Abraham. (2002), Si la relacin r se fragmenta, se divide en varios fragmentos r1, r2, rn. Estos fragmentos contienen suficiente informacin como para permitir la reconstruccin de la relacin original r ah dos esquemas diferentes de fragmentacin de las relaciones, fragmentacin horizontal y fragmentacin vertical. 3.2.1 Requerimientos de informacin Con el fin de realizar una fragmentacin adecuada es necesario proporcionar informacin que ayude a realizarla. Esta informacin normalmente debe ser proporcionada por el usuario y tiene que ver con cuatro tipos: Informacin sobre el significado de los datos Informacin sobre las aplicaciones que los usan Informacin acerca de la red de comunicaciones Informacin acerca de los sistemas de cmputo
3.2.2- Fragmentacin horizontal. La fragmentacin horizontal divide la relacin asignando cada tuplas de r en uno ms fragmentos. La fragmentacin vertical divide la relacin descomponiendo el esquema R de la relacin r. En la fragmentacin horizontal de la relacin r se divide en varios subconjuntos r1, r2rn .cada tupla de relacin r debe pertenecer como mnimo a uno de los fragmentos de modo que se pueda reconstruir la relacin original, si fuera necesario.
54
A modo de ejemplo, la cuenta puede dividirse en varios fragmentos cada uno puede dividirse en varios fragmentos, cada uno de los cuales consiste en tuplas de cuentas que pertenecen a una sucursal concreta. La fragmentacin horizontal suele utilizarse para conservar las tuplas de los sitios en que ms se utilizan para minimizar las transferencias de datos. En general, los fragmentos horizontales pueden definirse como una seleccin de la relacin global r. es decir se utiliza un predicado Pi para construir fragmentos ri. Una manera de asegurar que la relacin r puede reconstruirse es incluir los atributos de la llave principal de R en cada uno de los fragmentos Ri . de manera ms general se puede utilizar cualquier sper clave. Suele resultar conveniente aadir un atributo especial denominado id- tupla al esquema R. el valor id- tupla de una tupla es un valor nico que distingue cada tupla de todas las dems tuplas. Atributo id. Tupla por tanto, sirve como calve candidata para el esquema aumentado y se le incluye en cada uno de los fragmentos ri. La direccin fsica o lgica de la tupla puede utilizarse con id-tupla dado que cada tupla tiene una direccin nica. Ejemplo: Supongamos que la gerencia corporativa de la XYZ Company requiere informacin sobre sus clientes en los tres estados, pero las ubicaciones de la compaa en cada estado ( TN, FL, GA) solamente requieren datos con respecto a clientes locales. Con base en esos requerimientos, se decide distribuir los datos por estado . por consiguiente, se definen los fragmentos horizontales de acurdo con la estructura mostrada en la tabla 3.1.
Tabla 3.2 Fragmentacin Vertical de la Tabla Clientes
55
Cada fragmento horizontal puede tener un numero diferente de filas pero casa uno de ellos debe, tener los atributos. Los fragmentos resultantes producen las tres tablas ilustradas
Tabla 3.3 Fragmentacin de la tabla en tres lugares 3.2.3- Fragmentacin vertical Continuando con Silberschatz, Abraham. (2002), La fragmentacin vertical considrese una base de datos universitaria con una relacin info-empleado que almacena, para cada empleado, id-empleado, nombre, puesto y sali. Por motivos de preservacin de la intimidad puede que esta relacin se fragmente en una relacin empleado-info privada que contenga id-empleado y salario, y en otra relacin empleado-info- publica que contenga los atributos id-empleado, nombre y puesto. Puede que las dos relaciona se almacenen en sitios diferentes nuevamente por motivos de seguridad. Se puede aplicar a los dos tipos de fragmentacin a una solo esquema; por ejemplo, los objetos obtenidos de la fragmentacin horizontal, pueden dividirse nueva mente de maneja vertical, los fragmentos tambin pueden replicarse en general los fragmentos pueden replicarse, la rplica de los fragmentos pueden fragmentarse y ms. Ejemplo:
56
Puede dividirse la relacin Cliente, en fragmentos verticales compuestos de un conjunto de atributos. Por ejemplo suponga que la compaa est dividida en dos departamentos, en el de servicio y el de colecciones. Cada departamento est ubicado en un estilo distinto, y cada uno tiene intereses solamente en unos cuentos de los atributos de la tabla Cliente. En este caso, los fragmentos se dividen como se demuestra en la tabla.
Tabla 3.4 Fragmentacin Vertical de la tabla Clientes Cada fragmento vertical debe tener el mismo nmero de filas pero la inclusin de los diferentes tributos depende de la columna clave. Los resultados de la fragmentacin vertical se muestran en la figura. Observe que el atributo clave (CUS_NUM) es comn a ambos fragmentos CUS_V1 y CUS_V2.
57
Figura 3.3 Fragmentacin Vertical del contenido de la tabla
3.2.4 Fragmentacin mixta Podemos relacionar los dos tipos de fragmentacin para tener una fragmentacin mixta Esquemas de fragmentacin: de una base de datos es una definicin de un conjunto de fragmentos que incluye todos los atributos y tuplas de la base de datos y satisface la condicin de que la base de datos completa se puede reconstruir a partir de los fragmentos mediante alguna secuencia de operacin de UNION EXTERNA (reunin externa) y UNION. En ocasiones tambin es til pero no necesario que todos los fragmentos sean disjuntos, excepto la repeticin de las claves primarias de los fragmentos verticales(o mixtos) en este ltimo caso toda la replicacin y distribucin de los fragmentos se especifica claramente en una etapa siguiente, aparte de la fragmentacin. Esquema de asignacin: describe la asignacin de los fragmentos entre los sitios del SBDD; por tanto, es una correspondencia, que especifica el sitio o sitios donde se almacena cada fragmento. Si un fragmento se almacena en ms de una sitio se dice que esta replicado. Ejemplos La estructura de la XYYZ Company requiere que los datos Cliente se fragmenten horizontalmente para acomodar las diferentes ubicaciones de la compaa dentro de las ubicaciones, los datos deben ser fragmentados verticalmente para acomodar los diferentes departamentos (Servicio y coleccin). En suma, la tabla Cliente Requiere una fragmentacin mixta. La fragmentacin Mixta requiere un procedimiento de los pasos. 1.- Se introduce la fragmentacin horizontal por cada sitio, con base de la ubicacin dentro de un estado (CUS_STATE). La fragmentacin horizontal
58
produce los subconjuntos de tuplas Cliente (fragmentos Horizontales) localizados en cada sitio, como los departamentos estn localizados en edificios diferentes se utiliza una fragmentacin vertical dentro de cada fragmento horizontal para dividir los atributos con los cual se satisfacen las necesidades de informacin de cada departamento en cada sub sitio. La fragmentacin mixta con los resultado se ven ilustrados en la tabla 3.5
Tabla 3.5 Fragmentacin Mixta de la tabla clientes Cada fragmento mostrado en la tabla 3.5 Contienen datos de los clientes por estado y dentro de cada estado por ubicacin de departamento, para adaptarse a los requerimientos de datos de cada departamento. Las tablas que corresponden a los fragmentos listados en la tabla 3.5 Se muestran en la figura 3.4
59
Figura 3.4 Contenido de una tabla despus del proceso de fragmentacin mezclada
60
3.4- Colocacin de los datos La colocacin de los datos describe el proceso de decidir donde localizarlos. Las estrategias de colocacin de los datos son las siguientes: Con la colocacin centralizada de los datos: toda la base de datos se guarda en un sitio Con la colocacin particionada de los datos, la base de datos se divide en varias partes desarticuladas(fragmentos) y se guarda en varios sitios En la colocacin replicada de los datos: se guardan copias de uno o ms fragmentos de la base de datos en varios sitios Segn Coronel, Carlos. (2004), La distribucin de los datos a travs de una red de computadora, se logra mediante la particin de los datos, replicacin de los datos o mediante una combinacin de ambas. La colocacin de los datos est estrechamente relacionada con la manera en que una base de datos se divide o fragmenta. La mayora de los estudios de colocacin de los datos se enfocan en un tema: que datos localizar y en donde los algoritmos de colocacin de los datos consideran varios factores, incluidos: Objetivos de desempeo y disponibilidad de los datos Tamao, numero de filas y numero de relaciones que una entidad mantiene con otras entidades Tipos de transacciones a ser aplicadas a la base de datos, los atributos acezados por cada una de las transacciones, etc. Algunos algoritmos incluyen datos externos, tales como la topologa de la red o la cantidad de datos procesados a travs de la red. Aun no existen algoritmos ptimos o universalmente aceptados
61
3.4.1- Criterios para escoger la colocacin Localidad de la data: la data debera ser colocada donde sta se accede ms seguido. El diseador debe analizar las aplicaciones y determinar cmo colocar la data de tal forma que se optimicen los accesos a la data locales. Suponga que hay un conjunto de fragmentos F = { F1, F2, ..., Fn } y una red que consiste de los sitios S = { S1, S2, ..., Sm } en los cuales un conjunto de consultas Q = { q1, q2, ..., qq } se van a ejecutar. El problema de asignamiento determina la distribucin "ptima" de F en S. El problema de asignamiento determina la distribucin "ptima" de F en S. La optimisacion puede ser definida de acuerdo a las siguientes medidas: Fiabilidad de la data: Almacenando varias copias de la data en lugares geogrficamente apartados se logra maximizar la probabilidad de que la data va a ser recuperable en caso de que ocurra dao fsico en cualquier sitio. Disponibilidad de la data: como en la fiabilidad, almacenar varias copias asegura que los usuarios tengan a su disponibilidad los elementos de la data, an si el nodo al que usualmente acceden no est disponible o falla. Capacidades y costos de almacenamiento: a pesar de que los costos de almacenamiento no son tan grandes como los de transmisin, los nodos pueden tener diferentes capacidades de almacenamiento y procesamiento. Esto se debe analizar cuidadosamente para determinar dnde poner la data. El costo de almacenamiento se disminuye significativamente minimizando la cantidad de copias de la data. Distribucin de la carga de procesamiento: una de las razones por la cual se escoge un sistema de BDD es porque se desea poder distribuir la carga de procesamiento para hacer este ms eficiente. Costo de comunicacin: el diseador debe considerar tambin el costo de usar las comunicaciones de la red para obtener data. Los costos de
62
comunicacin se minimizan cuando cada sitio tiene su propia copia de la data, por otro lado cuando la data es actualizada se debe actualizar en todos los nodos. Uso del sistema: debe tomarse en consideracin cual ser el tipo principal de uso del sistema de BDD. Factores como la importancia en la disponibilidad de la data, la velocidad de escritura y la capacidad de recuperacin de daos fsicos deben tomarse en cuenta para escoger el esquema correcto Costo mnimo: Consiste del costo de comunicacin de datos, del costo de almacenamiento, y del costo procesamiento (lecturas y actualizaciones a cada fragmento). El problema de asigna miento, entonces, pretende encontrar un esquema de asigna miento que minimiza una funcin de costo combinada Rendimiento La estrategia de asigna miento se disea para mantener una mtrica de rendimiento. Las dos mtricas ms utilizadas son el tiempo de respuesta y el "throughput" (nmero de trabajos procesados por unidad de tiempo).
En cualquier problema de optimizacin existen restricciones que se deben satisfacer. El caso de distribucin de fragmentos, las restricciones se establecen sobre las capacidades de almacenamiento y procesamiento de cada nodo en la red. 3.5- Transparencia No se debe exigir a los usuarios de los sistemas distribuidos de bases de datos que conozcan la ubicacin fsica de los datos ni en el modo que se puede tener acceso a ellos en un sitio local concreto. Esta caracterstica denominada transparencia de los datos, puede adoptar varias formas:
63
Transparencia de la fragmentacin. No se exige a los usuarios que conozcan el modo en que se ha fragmentado la relacin. Transparencia de la replica: los usuarios ven cada objeto de datos como lgicamente nico. Puede que el sistema distribuido replique los objetos para incrementar el rendimiento del sistema o la disponibilidad de los datos. Los usuarios no deben preocuparse por los objetos que se hayan replicado ni por la ubicacin de estas replicas. Transparencia de la ubicacin. No se le exige a los usuarios que conozcan la ubicacin fsica de los datos. El sistema distribuido de bases de datos puede poder hallar los datos siempre que la transaccin del usuario facilite que el identificador de los datos.
Los elementos de datos (como de las relacin, los fragmentos y las replicas) deben tener nombre nicos. Esta propiedad es decir de asegurar de una base de datos centralizada. En las bases de datos distribuidas hay que tener cuidado para asegurase de que dos sitios no utilicen el mismo nombre para elementos de datos diferentes. Una solucin a este problema es exigir que todos los nombres se registren en un servidor de nombres central. El servidor de nombres ayuda a asegurar que le mismo nombre no se utilice para elementos de datos diferentes. Tambin se puede utilizar el servidor de nombre para ubicar un elemento de dato, dado que el nombre del elemento. Este enfoque sin embrago presenta dos inconvenientes principales en primer lugar, puede que el servidor de nombres se transforme en un cuello de botella para el rendimiento cuando los elementos de datos, se ubican por sus nombre, lo que da lugar a un bajo rendimiento. En segundo lugar, si el servidor de nombres queda fuera de servicio puede que no sea posible que siga funcionando ningn otro sito del sistema distribuido. Un enfoque alternativo ms utilizado, exige que cada sitio anteponga su propio identificador de sitio a cualquier nombre que generen. Este enfoque asegura que dos sitos no generan nunca el mismo nombre (dado que cada sitio tiene un identificar nico) ademan
64
son se necesita ningn control centralizado. Esta solucin, no obstante no logra conseguir la transparencia de la ubicacin, dado que se adjunta a los nombres los identificadores de los tipos. As, se puede hacer referencia la relacin en lugar de meramente cuenta. Muchos sistemas de bases de datos utilizan la direccin de internet de los sitios para identificarlos. Para superar este sistema de base de datos puede crear un conjunto de nombres alternativos, o aleas para los elementos de datos. Los usuarios se pueden referir a los artculos mediante nombre sencillos que el sistema traduce en los nombres completos. La asignacin de los nombres reales puede almacenarse en cada sito. Con los alias del usuario puede ignorar la ubicacin fsica de los elementos de datos. Adems el usuario no se ver afectado si el administrador de la base de datos decide trasladar un elemento de datos de un sitio a otro. Los usuarios no deben tener que hacer referencia a una rplica concreta de un elemento de datos en vez de eso, el sistema debe determinar las replicas a las que hay que hacer referencia en la solicitudes leer y actualizar todas las replicas de las solicitudes escribir., se puede asegura que lo hagan manteniendo una tabla de catalogo, que le sistema utiliza para determinar todas las replicas de elementos de datos.
65
CONCLUSION
66
El uso y la necesidad de contar con bases de datos va creciendo da con da, ya que en cualquier empresa necesita guardar informacin ya sea sobre sus ventas, compras, inventarios, clientes, empleados, informacin financiera, etc. Y al no contar con esta informacin ser muy difcil llevar un buen funcionamiento de cualquier organizacin. Las bases de datos facilitan la bsqueda y el almacenamiento de toda la informacin, garantizando la fiabilidad de la informacin que esta contiene. Las bases de datos distribuidas tienen mltiples ventajas. En primer lugar los datos son localizados en lugar ms cercano, por tanto, el acceso es ms rpido, el procesamiento es rpido debido a que varios nodos intervienen en el procesamiento de una carga de trabajo, nuevos nodos se pueden agregar fcil y rpidamente. La comunicacin entre nodos se mejora, los costos de operacin se reducen, son amigables al usuario, la probabilidad de que una falla en un solo nodo afecte al sistema es baja y existe una autonoma e independencia entre los nodos. Los almacenamientos de datos son un elemento fundamental para las empresas por ello ha llamado la atencin de estas ya que en la actualidad cualquier compaa por pequea que sea tiene que manejar grandes cantidades de informacin, para poder tener control sobre todas las reas de su empresa, es por ello que surge la necesidad de emplear bases de datos dentro de las organizaciones, no importando el giro de las empresas.
Por lo cual, se le denomina Base de Datos a la coleccin de datos aparentes usados por el sistema de aplicaciones de una determinada empresa.
La mayora de las empresas necesitan contar con bases de datos ya que las bases de datos facilitan la realizacin de sus actividades, garantiza la seguridad, la confiabilidad de la informacin, consistencia de los datos, mejora en la disponibilidad de informacin, guarda informacin sobres sus clientes, proveedores, informacin financiera, inventarios, compras, ventas etc. Si
67
contamos con un buen control de la informacin se podr llevar una empresa de mejor manejar y mas organizadamente
La gran cantidad de informacin que producen grandes empresas geogrficamente distribuidas, ha generado una gran dispersin de los datos asociados a sus sistemas de informacin. Para compartir dichos datos se requiere de tecnologa capaz de integrarlos para permitir el acceso concurrente de mltiples usuarios. Una de las tecnologas que se propone alcanzar este tipo de objetivos son las bases de datos distribuidas
Las bases de datos distribuidas mejoran la disponibilidad de los datos pues permite que el sistema pueda seguir operando y los usuarios desde cualquier sitio puedan acceder a la informacin, exactamente igual como si los datos estuvieran en el mismo sitio del usuario.
Las bases de datos, hoy en da, ocupan un lugar determinante en cualquier rea ya que se emplea en diversas empresas no importando el giro de esta, es por ello que deben de tener los conocimientos necesarios para poder utilizar las bases de datos.
Las bases de datos distribuidas se conectan por medio de redes de computadoras, estas pueden tener cientos de usuarios conectados concurrentemente, por lo cual es un problema en muchas empresas que compiten en los mercados mundiales. Debido al alto grado de conectividad que provee Internet a las empresas, se debe tener un buen diseo de replicacin y fragmentacin. Este problema consiste en tratar de determinar la mejor forma de dividir las relaciones de la base de datos en fragmentos. La fragmentacin mejora la disponibilidad de la informacin notablemente por que el sistema puede seguir operando mientras, por lo menos, uno de los sitios esta activo, con la replicacin tambin se mejora el rendimiento de la recuperacin en consultas globales, por
68
que el resultado de semejante consulta se puede obtener localmente en cualquier sitio, esto ayuda a contar con la informacin necesaria de una forma ms fcil y rpida y hoy en da para las empresas contra con la informacin en un corto tiempo es un factor clave para la toma de decisiones oportunas.
Para contar con una buena dase de datos distribuida esta debe de ser replicada y fragmentada. La replicacin y fragmentacin permite tener disponible la informacin, reduce costos, mejora el rendimiento de las operacin leer, aumenta la flexibilidad, se obtiene la informacin de una manera ms fcil y rpida teniendo un mejor procesamiento de las consultas. Mediante la replicacin de informacin, las bases de datos distribuidas pueden presentar cierto grado de tolerancia a fallos haciendo que el funcionamiento del sistema no dependa de un solo lugar como en el caso de las bases de datos centralizadas.
69
FUENTES DE INFORMACION C, Date. (2010). Sistemas de Bases de Datos. Sptima edicin. Mxico: Pearson educacin.
Castao, Miguel.(2001). Diseo de Bases de datos. Primera edicin .Mxico: Alfaomega.
Coronel, Carlos. (2004). Sistemas de bases de datos. Quinta edicin. Mxico: Thompson Editores
Coronel, Carlos. (2004). Sistemas de bases de datos. Quinta edicin. Mxico: Thompson Editores
Gmez, Miguel. (2004). Bases de datos. Segunda edicin. Mxico: Alfaomega
Joyanes, Luis. (1992).Diseo conceptual de bases de datos. Primera edicin. E.U.A: Addison- Wesley / Diaz de Santos
Korth, Henry.(2002). Fundamentos de Bases de Datos. Cuarta edicin. Madrid: Mc Graw-Hill
Navathe, Elmasri. Sistemas de bases de datos. Segunda Edicion. Estados Unidos :Addison- Wesley Iberoamericana
RAMEZ, Elmasri. (2006). Fundamentos de sistemas de Bases de Datos. Tercera edicin. Madrid: Pearson educacin
Silberschatz, Abraham. (2006). Fundamentos de Bases de Datos. Quinta edicin. Espaa: Mc Graw-Hill
70
Silberschatz, Abraham. (1998). Fundamentos de Bases de Datos. Tercera edicin. Espaa: Mc Graw-Hill
Valduriez, Patrick. (1999). Distributed Database Systems. Segunda edicin. E.U.A: Prentice Hall
Wildom, Jennifer. (1999). Introduccin a los sistemas de Bases de Datos. Primera edicin. Mxico: Prentice Hall Hispanoamericana
71
INDICE DE TABLAS
Nmero de Pgina Tabla 3.1. Comparacin de las estrategias de replicacin de fragmentos.51 Tabla 3.2 Fragmentacin Vertical de la Tabla Clientes55 Tabla 3.3 Fragmentacin de la tabla en tres lugares56 Tabla 3.4 Fragmentacin Vertical de la tabla Clientes..57 Tabla 3.5 Fragmentacin Mixta de la tabla clientes..59
72
INDICE DE FIGURAS
Nmero de Pgina Figura 1.1 Comparacin de una base de datos y un sistema archivos..7 Figura 1.2 Muestra un entorno de sistema de base de datos simplificado, que ilustra los conceptos y terminologa de un Sistema de Base de datos...9 Figura 2.1 Replicacin y distribucin de datos en bases de datos distribuidas..30 Figura 2.2 Ejemplo de una Base de datos Distribuida.33 Figura 3.1 Replicacin de Datos.49 Figura 3.2 ventajas y desventajas de las formas de replicacin...........53 Figura 3.3 Fragmentacin Vertical del contenido de la tabla57 Figura 3.4 Contenido de una tabla despus del proceso de fragmentacin mezclada.....60