Vous êtes sur la page 1sur 94

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA PROGRAMA DE INGENIERIA DE SISTEMAS

102070 - BASES DE DATOS DISTRIBUIDAS CESAR MANUEL CASTILLO RODRGUEZ


Director Nacional

HILDA GLADYS TRASLAVIA FORERO Acreditadora

PEREIRA Enero de 2010

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO

El presente mdulo fue diseado en el ao 2010 por el Ing. Cesar Manuel Castillo Rodrguez, Tutor de la UNAD, y ubicado en el CCAV del Eje Cafetero en la ciudad de Pereira, el Ing. Castillo es Ingeniero de Sistemas, y Especialista en Educacin Superior a Distancia, se ha desempeado como tutor de la UNAD desde el ao 2008 hasta el presente ao y ha sido profesor catedrtico de otras Universidades de Risaralda. En algunos de sus temas, este modulo toma como base aspectos estructurados en el anterior modulo del curso Bases de Datos Distribuidas realizado por el Ing. Jaime Rubiano Llorente, Tutor de la UNAD, Ingeniero de Sistemas, Especialista en Inteligencia Artificial, Especialista en Docencia Universitaria y Mster en Computacin Aplicada.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

INDICE DE CONTENIDO

INTRODUCCION UNIDAD 1. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS Introduccin Objetivo General Objetivos Especficos Competencias CAPITULO 1. Introduccin a los Conceptos Generales de Bases de Datos Distribuidas 1.1 Preliminares 1.1.1 Enfoque de una Base de Datos 1.1.2 El Modelo Entidad - Relacin 1.1.3 Normalizacin 1.1.4 La Arquitectura Cliente - Servidor 1.2 Qu es Computacin Distribuida? 1.3 Qu es una Base de Datos Distribuida? 1.4 Ventajas 1.5 Desventajas CAPITULO 2. Sistemas de Bases de Datos Distribuidas 2.1 Sistemas de BDD 2.2 Sistemas de Gestin de BDD 2.3 Arquitectura de BDD 2.4 Bases de Datos Homogneas

7 8

9 BDD 9 9 10 11 12 13 14 19 21 22 22 22 24 25
3

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

2.5 Bases de Datos Heterogneas CAPITULO 3. Anlisis y Diseo de Bases de Datos Distribuidas 3.1 El Anlisis 3.2 El Diseo 3.3 Proceso de Diseo de Arriba Hacia Abajo (Top-Down) 3.4 Proceso de Diseo de Abajo Hacia Arriba (Bottom-Up) 3.5 Fragmentacin de Datos 3.5.1 Fragmentacin Horizontal 3.5.2 Fragmentacin Vertical 3.5.3 Fragmentacin Hbrida 3.6 Transparencia 3.7 Replica de Datos Actividades Complementarias Fuentes Documentales de la Unidad 1 UNIDAD 2. PROCESAMIENTO DE CONSULTAS Y TRANSACCIONES EN BASES DE DATOS DISTRIBUIDAS Introduccin Objetivo General Objetivos Especficos Competencias CAPITULO 4. Procesamiento de Consultas 4.1 Costos de la Transferencia de Datos 4.2 Procesamiento de Consultas Distribuidas por Reduccin de Tuplas 4.3 Descomposicin de Consultas 4.4 Transformacin de Consultas

26 27 27 28 29 29 30 30 30 30 31 33 34 35 36 BDD 36

37 37 37 38 39
4

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

4.5 Procesamiento de Reuniones Sencillas CAPITULO 5. Transacciones 5.1 Estructura del Sistema 5.2 El Gestor y Coordinador de Transacciones 5.3 Modos de Fallo del Sistema 5.4 Sistemas de Directorio 5.5 Modelos Alternativos del Procesamiento de Transacciones CAPITULO 6. Control de Concurrencia y Recuperacin 6.1 Protocolos de Bloqueo 6.2 Marcas Temporales 6.3 Tratamiento de los Interbloqueos 6.4 Disponibilidad 6.5 Replica con Grado de Consistencia Bajo Actividades Complementarias Fuentes Documentales de la Unidad 2 UNIDAD 3. DISTRIBUCION DE DATOS EN MS SQL SERVER Introduccin Objetivo General Objetivos Especficos Competencias CAPITULO 7. MS SQL Server Express Edition 7.1 Requerimientos Previos 7.2 Instalacin Inicial 7.3 Motor de Base de Datos

40 42 42 42 43 44 45 48 48 50 51 52 53 54 55 56 56

57 57 59 74

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

7.4 Herramientas de Configuracin 7.5 SQL Server Management Studio CAPITULO 8. Planeamiento, Arquitectura e Implementacin 8.1 Replicacin en SQL Server 8.2 Planeacin y arquitectura 8.3 Desarrollo 8.4 Implementacin 8.5 Seguridad y Proteccin CAPITULO 9. Diseo de una Base de Datos Relacional Distribuida 9.1 Operaciones 9.2 Administracin 9.3 Alta Disponibilidad 9.4 Supervisin 9.5 Rendimiento Actividades Complementarias Fuentes Documentales de la Unidad 3 ANEXOS SOFTWARE LIBRE

75 76 78 78 79 80 81 82 84 84 88 89 90 91 93 94

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

INTRODUCCIN

Este curso ofrece a los estudiantes los conceptos y aspectos fundamentales de los sistemas de bases de datos distribuidas y adems presenta los problemas ms importantes para su funcionamiento y uso, para as desarrollar aplicaciones que den soluciones a problemas reales de manejo de datos.

El curso tiene 3 crditos acadmicos, los cuales comprenden el estudio independiente y el acompaamiento tutorial, integrado con talleres que fortalecen el proceso del aprendizaje:

Se pretende en este curso ensear a los estudiantes los conceptos y principios del manejo y diseo de bases de datos distribuidos, fomentar en estos la capacidad de apropiar conocimiento y relacionarlo para su aplicacin en diferentes escenarios de la vida profesional, capacitarlos en el manejo del procesamiento de consultas y los factores que intervienen en la optimizacin de consultas distribuidas aparte de promover el espritu investigativo e innovador, que fortalezca la creatividad en el desarrollo de soluciones a problemas computacionales con la ayuda de modelos bases de datos.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

UNIDAD 1 FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Introduccin Los sistemas de informacin basados en bases de datos distribuidas, buscan el manejo eficiente e integrado de la informacin generada en cualquier tipo de entorno productivo; los sistemas de bases de datos distribuidas, que no necesariamente deben ser homogneos, permiten a los usuarios obtener una visin generalizada de la informacin disponible. Este proceso de consolidacin de la informacin no implica la centralizacin de los datos, ms bien, con la estructuracin de redes de computadoras, la informacin se mantiene localizada en diversos lugares y los sistemas de bases de datos distribuidos permiten el acceso a ella como si estuviera localizada en un solo lugar. La distribucin de la informacin permite, entre otras cosas, tener accesos rpidos a la informacin y generar de una manera ms fiable copias de seguridad de la informacin creada en los diferentes procesos implementados por un sistema de informacin.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

CAPITULO 1 Introduccin a los Conceptos Generales de Bases de Datos Distribuidas

1.1 Preliminares Todas las empresas necesitan almacenar informacin. La informacin puede ser de todo tipo. Cada elemento informativo es lo que se conoce como dato. Las soluciones utilizadas por las empresas para almacenar los datos son diversas. Antes de la aparicin de la informtica se almacenaban en cajones y carpetas. Tras la aparicin de la informtica estos datos se almacenan en archivos digitales dentro de las unidades de almacenamiento de un equipo de cmputo. Adems las diferentes empresas requieren utilizar aplicaciones informticas para realizar tareas propias de la empresa a fin de estructurarlas. Estas aplicaciones requieren manejar los datos de la empresa.

1.1.1 Enfoque de una Base de Datos Una base de datos es una serie de datos relacionados que forman una estructura lgica, es decir una estructura accesible desde un programa informtico. Esa estructura no slo contiene los datos en s, sino la forma en la que se relacionan. Las bases de datos empiezan a aparecer en los aos sesenta y triunfan en los aos setenta y ochenta.

Sistema de Bases de Datos: Un sistema de bases de datos sirve para integrar los datos. Lo componen los siguientes elementos: Hardware: Mquinas en las que se almacenan las bases de datos. Incorporan unidades de almacenamiento para este fin. Software: Es el sistema gestor de bases de datos. El encargado de administrar las bases de datos. Datos: Incluyen los datos que se necesitan almacenar y los metadatos que son datos que sirven para describir lo que se almacena en la base de datos.
9

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Usuarios. Personas que manipulan los datos del sistema. Hay tres categoras de usuarios: Desarrolladores, Administradores y Usuarios Finales.

Sistema Gestor de Bases de Datos: Un Sistema de Administracin o Gestin de Bases de Datos - SGBD". (En ingles DBMS, DataBase Management System) es el software o sistema de informacin que permite a los usuarios administrar, procesar, describir y recuperar los datos almacenados en una base de datos.

1.1.2 El Modelo Entidad - Relacin Fue ideado por el seor Peter Chen en el ao 1976y dado a conocer a travs de dos artculos. Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. De hecho es un estndar para crear este tipo de operacin.

10

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Sus siglas ms populares son las E/R porque sirven para el ingls y el espaol. Inicialmente Chen slo se inclua los conceptos de entidad, relacin y atributos. Despus otros autores aadieron nuevas propuestas como atributos compuestos y generalizaciones que forman el llamado modelo entidad relacin extendido (ERE).

Entidad: Se trata de cualquier objeto u elemento (real o abstracto) acerca del cual se puede almacenar informacin en la base de datos. Una entidad no es un propiedad concreta sino un objeto que puede poseer mltiples propiedades (atributos). La representacin grfica de las entidades se realiza con un rombo al que se le unen lneas que se dirigen a las entidades, las relaciones tienen nombre (se suele usar un verbo).

Relaciones: Representan asociaciones entre entidades. Es el elemento del modelo que permite relacionar en s los datos del modelo.

Atributos: Describen propiedades de las entidades y las relaciones.

Pasos para el diseo del modelo E/R: 1. Encontrar entidades (conjuntos de entidades) 2. Identificar atributos de las entidades 3. Buscar identificadores 4. Especificar las relaciones y cardinalidades 5. Identificar entidades dbiles 6. Especializar y generalizar entidades donde sea posible

1.1.3 Normalizacin Una vez obtenido el esquema relacional resultante del modelo E/R que representa la base de datos, normalmente tendremos una base de datos funcional y correcta. Pero otras veces, debido a fallos en el diseo o a problemas indetectables,
11

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

tendremos un esquema que puede producir una base de datos que incorpore problemas como redundancia, ambigedades, prdida de restricciones de integridad o anomalas en operaciones de modificacin de datos

El principio fundamental reside en que las tablas deben referirse a objetos o situaciones muy concretas, relacionados exactamente con elementos reconocibles por el sistema de informacin de forma exacta. Cada fila de una tabla representa exactamente un elemento reconocible en el sistema. Lo que ocurre es que conceptualmente es difcil agrupar esos elementos correctamente.

En este caso la mayor parte de problemas se presentan si no se sigue un modelo conceptual y se dificulta ms si se decide crear directamente el esquema relacional. En ese caso el diseo funcionara mal o errticamente. Cuando aparecen los problemas enumerados entonces se les puede resolver usando reglas de normalizacin (Formas Normales). Estas reglas suelen forzar la divisin de una tabla en dos o ms tablas para arreglar ese problema. La teora de Formas Normales en un postulado absolutamente matemtico; se pueden considerar desde la Primera hasta la Quinta Forma Normal.

1.1.4 La Arquitectura Cliente - Servidor La arquitectura cliente - servidor est diseada para administrar los entornos de computo en los que un gran nmero de computadoras, estaciones de trabajo, servidores de archivos, servidores de bases de datos, servidores Web, impresoras y otros equipos estn interconectados a travs de una red de computo.

En un sistema cliente - servidor tenemos dos partes fundamentales:

Cliente: Se podra corresponder con una mquina que proporciona capacidad de interfaz al usuario final y procesamiento local. Servidor: Es una mquina que puede proporcionar a las mquinas cliente servicios, como imprimir, tener acceso a archivos o acceso a la base de datos.
12

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Al momento de dividir la funcionalidad de un SGBD entre el cliente y el servidor existen varios enfoques.

En cuanto al sistema de gestin de bases de datos es normal dividir los diferentes mdulos software en tres niveles: 1. El software de servidor que gestiona los datos locales en un sitio, al igual que el software del SGBD centralizado. 2. El software del cliente que soporta casi todas las tareas de distribucin y maneja las interfaces de usuario. 3. El software de comunicaciones (algunas veces junto con el sistema operativo) proporciona las primitivas de comunicacin que utiliza el cliente para transmitir instrucciones y datos entre los sitios necesarios.

Existen componentes a distribuir, para realizar una tarea. En computacin distribuida los elementos que se pueden distribuir son: 1. Control: Las actividades administracin del sistema. relacionadas con el manejo o

2. Datos: La informacin que maneja el sistema. 3. Funciones: Las actividades que cada elemento del sistema realiza. 4. Procesamiento lgico: Las tareas especficas involucradas en una actividad de procesamiento de informacin.

1.2 Qu es Computacin Distribuida? La computacin distribuida es un sistema de administracin de computadores en los cuales un conjunto de elementos de procesamiento independiente (no necesariamente homogneos) se interconectan por una red de comunicaciones y trabajan entre ellos para efectuar sus tareas asignadas. El cmputo distribuido determina la forma como se realizan los procesos entre ellas y las funciones de manejo de datos para el manejo de funciones distribuidas y procesamiento distribuido de datos.

13

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

1.3 Qu es una Base de Datos Distribuida? Una Base de Datos Distribuida (BDD) es, una base de datos construida sobre una red de computadores. La informacin que estructura la base de datos esta almacenada en diferentes sitios en la red, y los diferentes sistemas de informacin que las utilizan accesan datos en distintas posiciones geogrficas.

Por ende una Base de Datos Distribuida es una coleccin de datos que pertenecen lgicamente a un solo sistema, pero se encuentra fsicamente distribuido en varios computadores o servidores de datos en una red de computadoras. Un sistema de bases de datos distribuidas se compone de un conjunto de sitios lgicos, conectados entre s, mediante algn tipo de red de comunicaciones, en el cual:

Cada sitio lgico puede tener un sistema de base de datos.

14

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Los sitios han sido diseados para trabajar en conjunto, con el fin de que un usuario de cualquier posicin geogrfica pueda obtener acceso a los datos desde cualquier punto de la red tal como si todos los datos estuvieran almacenados en la posicin propia del usuario. Entonces, la llamada "Base de Datos Distribuida" es en realidad una especie de objeto virtual, cuyos componentes se almacenan fsicamente en varias bases de datos reales ubicadas en diferentes sitios. En esencia es la unin lgica de esas diferentes bases de datos.

En otras palabras, cada sitio tiene sus propias bases de datos reales" locales, sus propios usuarios locales, sus propios SGBD y programas para la administracin de transacciones y su propio administrador de comunicacin de datos. As pues, el sistema de bases de datos distribuidas puede considerarse como una especie de sociedad entre los diferentes SGBD individuales locales. Un nuevo componente de software en cada sitio realiza las funciones de sociedad necesarias; y es la combinacin de este nuevo componente y el SGBD ya existente constituyen el llamado Sistema de Administracin o Gestin de Bases de Datos Distribuidas SGBDD. (En ingles DDBMS, Distributed DataBase Management System).

Desde el punto de vista del usuario final, un sistema distribuido deber ser idntico a un sistema no distribuido. Los usuarios de un sistema distribuido se comportan en su manipulacin de informacin exactamente como si el sistema no estuviera distribuido. Todos los problemas de los sistemas distribuidos son de tipo interno o a nivel de realizacin, no pueden existir problemas de tipo externo o a nivel del usuario final.

Los datos que se encuentran distribuidos en varios sitios y que estn interconectados por una red de comunicaciones tienen capacidad de procesamiento autnomo de transacciones y hacer procesos locales. Cada sitio realiza la ejecucin de al menos una transaccin global, la cual requiere accesos a datos en diversos sitios.

Los principios fundamentales de un sistema de datos distribuido son: 1. Autonoma local.


15

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

2. No dependencia de un sitio central. 3. Operacin contina. 4. Independencia con respecto a la localizacin. 5. Independencia con respecto a la fragmentacin. 6. Independencia de rplica. 7. Procesamiento distribuido de consultas. 8. Manejo distribuido de transacciones. 9. Independencia con respecto al equipo. 10. Independencia con respecto al sistema operativo. 11. Independencia con respecto a la red. 12. Independencia con respecto al SGBD.

Estos doce postulados no son todos independientes entre s, ni tienen la misma importancia que cada usuario le otorgue. Sin embargo, s son tiles como fundamento para entender la tecnologa distribuida y como marco de referencia para caracterizar la funcionalidad de sistemas distribuidos especficos.

1. Autonoma local: Los sitios o posiciones de un sistema distribuido deben ser autnomos. La autonoma local significa que todas las operaciones en un sitio determinado se controlan en ese sitio; ningn sitio A deber depender de algn otro sitio B para su buen funcionamiento (pues de otra manera el sitio A podra ser incapaz de trabajar, aunque no tenga en s problema alguno, si cae el sitio B). La autonoma local significa que existe un propietario y un administrador local de los datos, con responsabilidad local: todos los datos pertenecen a una base de datos local, aunque los datos sean accesibles desde algn sitio distante. Todo el manejo de la seguridad y la integridad de los datos se efectan con control de la instalacin y administracin local.

2. No dependencia de un sitio central: La no dependencia de un sitio central, sera lo ideal pero si esto no se logra la autonoma local completa se vera
16

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

comprometida. La dependencia de un sitio central no es prctica al menos por las siguientes razones: en primer lugar, estos sitios podran generar un cuello de botella, y en segundo lugar, el sistema sera vulnerable; si el sitio central sufriera un desperfecto, todo el sistema dejara de funcionar.

3. Operacin contina: En un sistema distribuido, lo mismo que en uno no distribuido, nunca debera haber necesidad de apagar o dejar de funcionar. Es decir, el sistema nunca debera necesitar apagarse para que se pueda realizar alguna operacin, como aadirse un nuevo sitio o instalar una versin mejorada del SGBD en un sitio ya existente.

4. Independencia con respecto a la localizacin: La independencia con respecto a la localizacin, permite que los usuarios finales no sepan donde estn almacenados fsicamente los datos, sino que trabajen como si todos los datos estuvieran almacenados en su propio sitio local. La independencia con respecto a la localizacin es deseable porque simplifica los sistemas de informacin de los usuarios y sus actividades en la terminal. Esto hace posible la migracin de datos de un sitio a otro sin anular la validez de ninguno de esos sistemas o actividades. Esta funcin de migracin permite modificar la distribucin de los datos dentro de la red, en respuesta a cambios en los requerimientos de desempeo.

5. Independencia con respecto a la fragmentacin: Un sistema tiene fragmentacin de datos solo si es posible dividir una relacin en partes o "fragmentos" para propsitos de almacenamiento fsico. La fragmentacin es deseable por razones de desempeo: los datos pueden almacenarse en la localidad donde se utilizan con mayor frecuencia, de manera que la mayor parte de las operaciones sean solo locales y se reduzca el trfico en la red de cmputo. Existen en esencia dos clases de fragmentacin, la fragmentacin horizontal y la fragmentacin vertical; estos tipos de fragmentacin son correspondientes a las operaciones relacionales de restriccin y proyeccin, respectivamente. Un fragmento puede ser cualquier sub relacin que pueda derivarse de la relacin original mediante operaciones de restriccin y proyeccin; la reconstruccin de la relacin originada a partir de los fragmentos se hace mediante operaciones de reunin y unin (reunin en el caso de fragmentacin vertical, y la unin en casos de fragmentacin horizontal).

17

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

6. Independencia de rplica: Un sistema maneja rplica de datos si una relacin dada se puede representar en el nivel fsico mediante varias copias rplicas, en muchos sitios distintos. La rplica es deseable al menos por dos razones: en primer lugar, puede producir un mejor desempeo (las aplicaciones pueden operar sobre copias locales en vez de tener que comunicarse con sitios remotos); en segundo lugar, tambin puede significar una mejor disponibilidad (un objeto estar disponible para su procesamiento en tanto est disponible por lo menos una copia, al menos para propsitos de recuperacin). La desventaja principal de las rplicas es cuando se pone al da un cierto objeto copiado, deben ponerse al da todas las rplicas de ese objeto. La rplica debe ser "transparente para el usuario final", un sistema que maneja la rplica de los datos deber ofrecer tambin una independencia de rplica (conocida tambin como transparencia de rplica); es decir, los usuarios debern comportarse como si slo existiera una copia de los datos.

7. Procesamiento distribuido de consultas: Este manejo de datos en las consultas permite las consultas eficientes desde diferentes usuarios con las caractersticas que determine el sistema; la consulta de datos es ms importante en un sistema distribuido que en uno centralizado. Lo esencial es que, en una consulta donde estn implicados varios sitios, habr muchas maneras de trasladar los datos en la red de cmputo para satisfacer la solicitud, y es crucial encontrar una estrategia suficiente. Por ejemplo, una solicitud de unin de una relacin Rx almacenada en el sitio X y una relacin Ry almacenada en el sitio Y podra llevarse a cabo trasladando Rx a Y o trasladando Ry a X, o trasladando las dos a un tercer sitio Z.

8. Manejo distribuido de transacciones: Este manejo tiene dos aspectos principales, el control de recuperacin y el control de concurrencia, cada uno de los cuales requiere un tratamiento ms amplio en el ambiente distribuido. En un sistema distribuido, una sola transaccin puede implicar la ejecucin de programas o procesos en varios sitios (en particular puede implicar actualizaciones en varios sitios). Por esto, cada transaccin est compuesta de varios agentes, donde un agente es el proceso ejecutado en nombre de una transaccin dada en determinado sitio. Y el sistema necesita saber cundo dos agentes son parte de la misma transaccin. Es importante aclarar que no puede haber un bloqueo mutuo entre dos agentes que sean parte de la misma transaccin.

18

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

9. Independencia con respecto al equipo: Las instalaciones de cmputo en el mundo real por lo regular incluyen varias mquinas de diferentes marcas comerciales como IBM, DELL, HP, SUN, entre otras; por esta razn existe una verdadera necesidad de poder integrar los datos en todos esos sistemas y presentar al usuario "una sola imagen del sistema". Por tanto conviene ejecutar el mismo SGBD en diferentes equipos, y adems lograr que esos diferentes equipos se integren en un sistema distribuido.

10. Independencia con respecto al sistema operativo: Es necesario y conveniente no slo de poder ejecutar el mismo SGBD en diferentes equipos, sino tambin poder ejecutarlo en diferentes sistemas operativos y lograr que una versin LINUX y una WINDOWS participen todas en el mismo sistema distribuido.

11. Independencia con respecto a la red: Si el sistema puede manejar mltiples sitios, con equipos distintos y diferentes sistemas operativos, resulta obvia la conveniencia de manejar tambin varios tipos de redes de comunicacin distintas.

12. Independencia con respecto al SGBD: En la independencia con respecto a su manejo, se requiere que los SGBD en los diferentes sitios manejen todos la misma interfaz; no necesitan ser por fuerza copias del mismo sistema.

1.4 Ventajas de las BDD Las ventajas de utilizar sistemas de Bases de Datos Distribuidas son:

Favorecer la naturaleza distribuidora de muchas aplicaciones, no solamente a nivel local sino incluso en diferentes lugares. Existe un acercamiento bastante notable a las estructuras organizacionales de las empresas o sectores productivos. Se consigue compartir los datos, sin perder el control local. El rendimiento es ms alto cuando se distribuye una gran base de datos por mltiples sitios, las consultas locales y las transacciones tienen mejor
19

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

rendimiento porque las bases de datos locales son ms pequeas. A parte de esta distribucin, se puede conseguir lo siguiente en estos sistemas: 1. Reducir el nmero de transacciones ejecutndose por sitio. 2. Un paralelismo entre las consultas ejecutando varias de estas en sitios diferentes. 3. Descomposicin de consultas en sub consultas que pueden ejecutarse en paralelo. 4. Aumento de la fiabilidad y la disponibilidad de los datos. 5. Los procesos de expansin se hacen ms sencillos en un sistema distribuido; cuando se quiere aadir un nuevo sitio en nuestro sistema distribuido, el resto de operaciones que se ejecutan en los dems no se vern afectados. 6. La autonoma de estos sistemas es alta.

Para garantizar las ventajas anteriormente descritas, es necesario que el software del SGBDD proporcione las siguientes funciones adicionales a las que un sistema centralizado ya tiene de por s:

Capacidad para seguir la traza a la distribucin y replicacin de los datos en el catlogo del SGBDD Capacidad para acceder a sitios remotos. Capacidad de implementar estrategias de ejecucin para consultas y transacciones que tiene acceso a datos en ms de un sitio. Capacidad de recuperarse de errores de sitios o fallos de la red. Capacidad de direccionar a qu copia de un elemento de datos replicado acceder y de mantener la consistencia de las copias. Gestin del directorio o catlogo distribuido de la BDD. Implementacin apropiada de la seguridad de los datos y los privilegios de autorizacin de los usuarios finales.

20

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

1.5 Desventajas de las BDD Las desventajas de utilizar sistemas de Bases de Datos Distribuidas son:

Hay una menor seguridad en cuanto al control de acceso a los datos: control de replicas y errores que puedan producirse en la red. Mayor complejidad en el diseo e implementacin del sistema. Adems si la replicacin de datos no se hace de forma adecuada, las ventajas se pueden transformar en desventajas. Excesivos costos en el intento de conseguir la transparencia mencionada anteriormente. Falta de estndares y de experiencia en estos modelos avanzados de BD. No se puede garantizar al 100 % el rendimiento y la fiabilidad.

21

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

CAPITULO 2 Sistemas de Bases de Datos Distribuidas

2.1 Sistemas de BDD Un sistema de bases de datos distribuidas (SBDD) es un sistema en el cual mltiples sitios de bases de datos estn ligados por un sistema de comunicaciones, de tal forma que, un usuario en cualquier sitio puede accesar los datos en cualquier parte de la red exactamente como si los datos estuvieran almacenados en su sitio propio.

2.2 Sistemas de Gestin de BDD Un sistema de gestin de bases de datos distribuidas (SGBDD) es aquel que se encarga del manejo de la BDD y proporciona un mecanismo de acceso que hace que la distribucin sea transparente a los usuarios. El trmino transparente significa que la aplicacin trabajara, desde un punto de vista lgico, como si un solo SGBD ejecutado en una sola mquina, administrara esos datos.

El medio ambiente tpico de un SGBDD consiste de un conjunto de sitios o nodos los cuales tiene un sistema de procesamiento de datos completo que incluye una base de datos local, un sistema de manejo de bases de datos y facilidades de comunicaciones. Si los diferentes sitios pueden estar geogrficamente dispersos, entonces, ellos estn interconectados por una red de tipo WAN. Por otro lado, si los sitios estn localizados en diferentes edificios o departamentos de una misma organizacin pero geogrficamente en la misma ubicacin, entonces, estn conectados por una red local (LAN)

Aspectos importantes de los SGBDD: Existen varios factores relacionados a la construccin de bases de datos distribuidas que no se presentan en bases de datos centralizadas. Entre los ms importantes se encuentran los siguientes:

22

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

1. Diseo de la base de datos distribuida. En el diseo de bases de datos distribuidas se debe considerar el problema de cmo distribuir la informacin entre diferentes sitios. Existen razones organizacionales las cuales determinan en gran medida lo anterior. Sin embargo, cuando se busca eficiencia en el acceso a la informacin, se deben abordar dos problemas relacionados. Primero, como fragmentar la informacin. Segundo, como asignar cada fragmento entre los diferentes sitios de la red. En el diseo de la BDD tambin es importante considerar si la informacin est replicada, es decir, si existen copias mltiples del mismo dato y, en este caso, como mantener la consistencia de la informacin. Finalmente, una parte importante en el diseo de una BDD se refiere al manejo del directorio. Si existen nicamente usuarios globales, se debe manejar un solo directorio global. Sin embargo, si existen tambin usuarios locales, el directorio combina informacin local con informacin global. 2. Procesamiento de consultas. El procesamiento de consultas es de suma importancia en bases de datos centralizadas. Sin embargo, en BDD ste adquiere una relevancia mayor. El objetivo es convertir transacciones de usuario en instrucciones para manipulacin de datos. No obstante, el orden en que se realizan las transacciones afecta de una manera muy alta la velocidad de respuesta del sistema. As, el procesamiento de consultas presenta un problema de optimizacin en el cual se determina el orden en el cual se hace la menor cantidad de operaciones. Este problema de optimizacin es difcil, por lo que en tiempos razonables solo se pueden obtener soluciones aproximadas. En BDD se tiene que considerar el procesamiento local de una consulta junto con el costo de transmisin de informacin al lugar en donde se solicito la consulta. 3. Control de concurrencia. El control de concurrencia es la actividad de coordinar accesos concurrentes a la base de datos. El control de concurrencia permite a los usuarios acceder la base de datos en una forma multiprogramada mientras se preserva la ilusin de que cada usuario est utilizndola solo en un sistema dedicado. El control de concurrencia asegura que transacciones mltiples sometidas por usuarios diferentes no interfieran unas con otras de forma que se produzcan resultados incorrectos. En BDD el control de concurrencia es an ms complejo que en sistemas centralizados. Los algoritmos ms utilizados son variaciones de aquellos usados en sistemas
23

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

centralizados: candados de dos fases, ordenamiento por estampas de tiempos simples y mltiples y control de concurrencia optimista. Un aspecto interesante del control de concurrencia es el manejo de nter bloqueos. El sistema no debe permitir que dos o ms transacciones se bloqueen entre ellas. 4. Confiabilidad. En cualquier sistema de bases de datos, centralizado o distribuido, se debe tener en cuenta que la informacin sea confiable. As cada consulta o actualizacin de la informacin se realiza mediante transacciones, las cuales tienen un principio y un fin. En los sistemas distribuidos, el manejo de la atomicidad y durabilidad de las transacciones es an ms complejo, ya que una sola transaccin puede involucrar dos o ms sitios de la red. As, el control de recuperacin en sistemas distribuidos debe asegurar que el conjunto de agentes que participan en una transaccin realicen todos un solo compromiso al unsono o todos al mismo tiempo restablezcan la informacin anterior.

2.3 Arquitectura de las BDD La mayora de los sistemas de manejo de bases de datos disponibles actualmente estn basadas en la arquitectura ANSI - SPARC la cual divide a un sistema en tres niveles: interno, conceptual y externo. En estos niveles se muestran los conceptos de las diferentes vistas. As como la vista conceptual, conocida tambin como vista lgica global que representa la visin de la comunidad de usuarios de los datos en la base de datos., incluyendo a los programadores de aplicaciones, observan los datos a travs de un esquema externo definido a nivel externo. La vista externa proporciona una ventana a la vista conceptual lo cual permite a los usuarios observar nicamente los datos. Y como este proporciona una interfaz al sistema de archivos del sistema operativo el cual es el responsable del acceso a la base de datos.

Modelo de Referencia: Un modelo de referencia el cual sera un marco de trabajo conceptual cuyo propsito es dividir el trabajo de estandarizacin en piezas manejables y mostrar a un nivel general como esas piezas se relacionan unas con otras. Para definir ese modelo de referencia se puede seguir uno de los siguientes tres enfoques:

24

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

1. Basado en componentes. Se definen las componentes del sistema junto con las relaciones entre ellas. As, un SGBD consiste de un nmero de componentes, cada uno de los cuales proporciona alguna funcionalidad. 2. Basado en funciones. Se identifican las diferentes clases de usuarios junto con la funcionalidad que el sistema ofrecer para cada clase. La especificacin del sistema en esta categora tpicamente determina una estructura jerrquica para las clases de usuarios. La ventaja de este enfoque funcional es la claridad con la cual se especifican los objetivos del sistema. 3. Basado en datos. Se identifican los diferentes tipos de descripcin de datos y se especifica un marco de trabajo arquitectural el cual define las unidades funcionales que realizarn y/o usarn los datos de acuerdo con las diferentes vistas. La ventaja de este enfoque es la importancia que asigna al manejo de datos. Este es un enfoque significativo para los SGBD dado que su propsito principal es manejar datos. Sin embargo, la desventaja de este enfoque es que es prcticamente imposible especificar un modelo arquitectural sin especificar los modelos para cada una de sus unidades funcionales. Este es el enfoque seguido por el modelo ANSI - SPARC.

Arquitectura ANSI - SPARC: La arquitectura de sistemas de bases de datos de tres esquemas fue aprobado por la ANSI-SPARC (American National Standard Institute - Standards Planning and Requirements Committee) en 1975 como ayuda para conseguir la separacin entre los programas de aplicacin y los de datos, el manejo de mltiples vistas por parte de los usuarios y el uso de un catlogo para almacenar el esquema de la base de datos. La vista conceptual, conocida tambin como vista lgica - global, representa la visin de la comunidad de usuarios de los datos en la base de datos. No toma en cuenta la forma en que las aplicaciones individuales observan los datos o como stos son almacenados.

2.4 Bases de Datos Homogneas Las bases de datos distribuidas homogneas son aquellas donde los sitios emplean el mismo sistema de informacin de gestin de bases de datos distribuidas (SGBDD), son conscientes de la existencia de los dems sitios y cooperan en el procesamiento de las solicitudes de los usuarios.
25

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

En estos sistemas, los sitios locales renuncian a una parte de su autonoma en cuanto a su derecho a modificar los esquemas o el software de gestin de bases de datos. Ese software tambin debe cooperar con los dems sitios en el intercambio de la informacin sobre las transacciones para hacer posible su procesamiento entre varios sitios.

Los sistemas gestin de bases de datos distribuidas homogneos son una realidad; an estn limitados por la experiencia prctica; tambin necesitan seguir afrontando distintos entornos y variaciones de algoritmos de acceso a datos.

2.5 Bases de Datos Heterogneas Las bases de datos distribuidas heterogneas o Multibase de Datos son aquellas donde sitios diferentes utilizan diferentes sistemas de informacin de gestin de bases de datos distribuidas (SGBDD), siendo cada uno esencialmente autnomo.

Es posible que algunos sitios no sean conscientes de la existencia de los dems y quizs proporcionen facilidades limitadas para la cooperacin en el procesamiento de transacciones.

En las bases de datos distribuidas heterogneas puede que los diferentes sitios utilicen esquemas y software de gestin de sistemas de bases de datos diferentes. Puede que algunos sitios no tengan informacin de la existencia del resto y que slo proporcionen facilidades limitadas para la cooperacin en el procesamiento de las transacciones.

26

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

CAPITULO 3 Anlisis y Diseo de Bases de Datos Distribuidas

3.1 El Anlisis En el anlisis para la construccin de una nueva base de datos distribuida se deben revisar el problema la distribucin de carga y el manejo del costo de almacenamiento y la disponibilidad.

Procesamiento Local: El procesamiento local en la distribucin de los datos pretende maximizar el procesamiento que corresponde al principio simple de colocar los datos tan cerca como sea posible de las aplicaciones que los utilizan. Se puede realizar el anlisis de la distribucin de los datos para maximizar el procesamiento local agregando el nmero de referencias locales y remotas que le corresponden a cada fragmentacin candidata y la localizacin del fragmento, que de esta forma se seleccione la mejor solucin de ellas. Distribucin de la Carga de Trabajo: La distribucin de la carga de trabajo sobre los sitios, es una caracterstica importante de los sistemas de cmputo distribuidos. Esta distribucin de la carga se realiza para tomar ventaja de las diferentes caractersticas o utilidades de las computadoras de cada sitio, y maximizar el grado de ejecucin de paralelismo de las aplicaciones. Sin embargo, la distribucin de la carga de trabajo podra afectar negativamente el procesamiento local deseado. Costo de Almacenamiento Y disponibilidad: La distribucin de la base de datos refleja el costo y disponibilidad del almacenamiento en diferentes sitios. Para esto, es posible tener sitios especializados en la red para el almacenamiento de datos. Sin embargo el costo de almacenamiento de datos no es tan relevante si ste se compara con el del CPU, I/O y costos de transmisin de las aplicaciones.

27

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

3.2 El Diseo En el diseo para la construccin de una nueva base de datos distribuida se deben considerar las estrategias de diseo de bases de datos distribuidas referentes a los enfoques que se le otorgan a este tipo de procesos, como son el enfoque de arriba hacia abajo (Top-Down) como el diseo de abajo hacia arriba (Bottom-Up).

Se ha propuesto que el diseo de una base de datos distribuida puede ser asistido e implantado a lo largo de tres dimensiones ortogonales.

Estos tres niveles o dimensiones son: 1. Nivel de distribucin 2. Comportamiento de los patrones de acceso. 3. Nivel de conocimiento en el comportamiento del patrn de acceso.

En trminos del nivel de distribucin hay tres posibilidades. Primero: Que no haya distribucin; cada aplicacin y sus datos se ejecutan en un sitio y no hay comunicacin con algn otro programa o acceso a algn archivo de datos de otro sitio. Esto caracterizaba a los primeros das de trabajo en red pero ya no es tan comn en nuestros tiempos. Segundo: Distribucin de datos; Todos los programas son replicados en todos los sitios pero no los archivos de datos, por consiguiente las peticiones de los usuarios son manejadas en el sitio donde fueron originados y solo los archivos de datos necesarios son movidos alrededor de la red. Tercero: Datos ms programas. Los archivos de datos y los programas pueden ser compartidos.

En la primera dimensin se puede observar una distincin entre la distribucin de datos y la distribucin de datos ms programas ilustrando las diferencias entre sistemas de computadora distribuidos homogneos y heterogneos. Indica correctamente que en un ambiente heterogneo es ms difcil e incluso imposible
28

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

ejecutar un programa dado en diferente hardware bajo un diferente sistema operativo.

A lo largo de la segunda dimensin del comportamiento de los patrones de acceso es posible identificar dos alternativas. Los patrones de acceso de peticiones de usuarios puede ser esttico, es decir que no cambian en el tiempo, o dinmico.

A lo largo de la tercera dimensin tenemos el nivel de conocimiento del comportamiento de los patrones de acceso. Podemos plantear la opcin de que el desarrollador no conozca nada acerca de estos patrones pero sera difcil construir un DBMS que cubriera esta cuestin sin informacin previa por eso, y para que sea ms fcil es necesario que el diseador o desarrollador tenga la informacin completa.

3.3 Proceso de Diseo de Arriba Hacia Abajo (Top-Down) Este enfoque es ms apropiado para aplicaciones nuevas y para sistemas homogneos. Consiste en partir desde el anlisis de requerimientos para definir el diseo conceptual y las vistas de usuario. A partir de ellas se define un esquema conceptual - global y los esquemas externos necesarios. Se prosigue con el diseo de la fragmentacin de la base de datos, y de aqu se contina con la localizacin de los fragmentos en los sitios, creando las imgenes fsicas. Esta aproximacin se completa ejecutando, en cada sitio, el diseo fsico de los datos, que se localizan en ste.

3.4 Proceso de Diseo de Abajo Hacia Arriba (Bottom-Up) Se utiliza particularmente a partir de bases de datos existentes, generando con esto bases de datos distribuidas. El diseo Bottom-Up de una base de datos distribuida requiere de la seleccin de un modelo de bases de datos comn para describir el esquema global de la base de datos. Es posible que se utilicen diferentes SGBD. Despus se hace la traduccin de cada esquema local en el modelo de datos comn y finalmente se hace la integracin del esquema local en un esquema global comn.

29

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

3.5 Fragmentacin de Datos La fragmentacin en una base de datos distribuida es encontrar un nivel de particionamiento adecuado en el rango que va desde tuplas o atributos hasta relaciones completas.

3.5.1 Fragmentacin Horizontal Corresponde esencialmente al tratamiento que se le da a una tabla y el procedimiento consiste en dividirla en fragmentos menores; inmediatamente surgen dos alternativas lgicas para llevar a cabo el proceso: la divisin horizontal y la divisin vertical. La divisin o fragmentacin horizontal trabaja sobre las tuplas, dividiendo la relacin en sub relaciones que contienen un subconjunto de las tuplas que alberga la primera.

3.5.2 Fragmentacin Vertical La fragmentacin vertical, se basa en los atributos de la relacin para efectuar la divisin. La fragmentacin vertical es la subdivisin de atributos en grupos. Los fragmentos se obtienen proyectando la relacin global sobre cada grupo. La fragmentacin es correcta si cada atributo se procesa en al menos un atributo del fragmento.

3.5.3 Fragmentacin Hbrida Fundamentalmente, se habla de fragmentacin mixta o hbrida cuando el proceso de particin hace uso de los dos tipos anteriores. La fragmentacin mixta puede llevarse a cabo de tres formas diferentes: desarrollando primero la fragmentacin vertical y, posteriormente, aplicando la particin horizontal sobre los fragmentos verticales (denominada particin VH), o aplicando primero una divisin horizontal para luego, sobre los fragmentos generados, desarrollar una fragmentacin vertical (llamada particin HV), o bien, de forma directa considerando la semntica de las transacciones.

30

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

3.6 Transparencia El concepto de transparencia de un sistema de base de datos distribuida va ligado a la idea de que todo el sistema funcione de forma similar en todos los puntos de la red, independientemente de la posicin del usuario. Los siguientes son los niveles de independencia al emitir el concepto de Transparencia: Independencia Lgica de Datos: Se refiere a la inmunidad de los sistemas de informacin de usuario a los cambios en la estructura lgica de la base de datos. Esto permite que un cambio en la definicin de un esquema no debe afectar a las aplicaciones de usuario. Por ejemplo, el agregar un nuevo atributo a una relacin, la creacin de una nueva relacin, el reordenamiento lgico de algunos atributos. Independencia Fsica de los Datos: La Independencia fsica de datos. se refiere al ocultamiento de los detalles sobre las estructuras de almacenamiento a las aplicaciones de usuario. Esto quiere decir que la descripcin fsica de datos puede cambiar sin afectar a las aplicaciones de usuario. Por ejemplo, los datos pueden ser movidos de un disco a otro, o la organizacin de los datos puede cambiar. Transparencia al Nivel de Red: La transparencia al nivel de red se refiere a que los datos en un SGBDD se accesan sobre una red de computadoras, sin embargo, las aplicaciones del usuario final no deben notar su existencia. La transparencia al nivel de red conlleva a dos cosas: 1. Transparencia sobre la localizacin de datos. El proceso se define como el comando que se usa para acceso a datos es independiente de la ubicacin de los datos en la red y del lugar en donde la operacin se lleve a cabo. 2. Transparencia sobre el esquema de nombramiento. El proceso se logra proporcionando un nombre nico a cada objeto en el sistema distribuido. As, no se debe mezclar la informacin de la localizacin con en el nombre de un objeto. Transparencia Sobre Replicacin: La transparencia sobre replicacin de datos se refiere a que si existen rplicas de objetos de la base de datos, su existencia debe ser controlada por el sistema, no por el usuario. Se debe tener en cuenta que cuando el usuario se encarga de manejar las rplicas en un sistema, el trabajo de ste es mnimo por lo que se puede obtener una eficiencia mayor. Sin embargo, el usuario puede olvidarse de mantener la consistencia de las rplicas teniendo as datos diferentes.
31

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Transparencia a Nivel de Fragmentacin de Datos: La transparencia a nivel de fragmentacin de datos permite que cuando los objetos de la bases de datos estn fragmentados, el sistema tiene que manejar la conversin de consultas de usuario definidas sobre relaciones globales, a consultas definidas sobre fragmentos. As tambin, ser necesario mezclar las respuestas a consultas fragmentadas para obtener una sola respuesta a una consulta global. El acceso a una base de datos distribuida debe hacerse en forma transparente.

La transparencia tiene como punto central la independencia de datos. Los diferentes niveles de transparencia se pueden organizar en capas como se muestra en la Figura.

32

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

En el primer nivel se soporta la transparencia de red. En el segundo nivel se permite la transparencia de replicacin de datos. En el tercer nivel se permite la transparencia de la fragmentacin. En el cuarto nivel se permite la transparencia de acceso.

La responsabilidad sobre el manejo de transparencia debe estar compartida tanto por el sistema operativo, el sistema de manejo de bases de datos y el lenguaje de acceso a la base de datos distribuida. Entre estos tres mdulos se deben resolver los aspectos sobre el procesamiento distribuido de consultas y sobre el manejo de nombres de objetos distribuidos.

3.7 Replica de Datos Las rplicas en las bases de datos distribuidas consisten en un duplicado de las bases de datos del servidor en el disco duro de su computadora, es decir, en el servidor local.

Estas bases de datos contienen aparte de los datos, un identificador que permitir posteriormente actualizar sus contenidos, tanto en el servidor como en las bases de datos locales. Esto constituye una ayuda especialmente til cuando se desea trabajar en un equipo de cmputo que en ocasiones no estar conectado a la red donde se encuentra el servidor en el que reside el servidor de datos.

La rplica de una base de datos se realiza solamente una vez y posteriormente se procede a la "replicacin" de los documentos cada vez que se considere necesario.

Para poder trabajar desde distintos equipos en una base de datos distribuida es necesario crear una o varias rplicas de dicha BDD que despus, debern ser sincronizadas. Cada rplica es miembro de un conjunto de rplicas que se pueden sincronizar con otras rplicas del mismo grupo, es decir, los cambios realizados en una rplica se aplican a las otras rplicas y al diseo principal o base de datos original.

33

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Actividades Complementarias

Realizar instalacin del Sistema de Gestin de Base de Datos MS SQL Server 2008 Express Edition en una maquina virtual.

34

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Fuentes Documentales de la Unidad 1

Elmasri R. Navathe S. (1997). Sistemas de Base de Datos. Mxico DF: AddisonWesley Iberoamericana

Castao M. Piattini M. (1998). Fundamentos y Modelado de Base de Datos. Madrid: AlfaOmega S.A.

De Miguel A. Martnez P. (2001). Diseo de Bases de Datos: Problemas Resueltos. Madrid: RA-MA.

De La Rosa M. (2005). Monografa Bases de Datos Distribuidas. La Habana: Editorial Universitaria.

Silberschatz A. Korth H. Sudarshan S. (2002). Fundamentos de Bases de Datos. Madrid: McGraw-Hill

35

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

UNIDAD 2 PROCESAMIENTO DE CONSULTAS Y TRANSACCIONES EN BASES DE DATOS DISTRIBUIDAS

Introduccin La disponibilidad de lenguajes de programacin no estructurados puede mejorar significativamente el desarrollo de sistemas de informacin y la productividad del usuario final. Ocultando los detalles acerca de la localizacin fsica de los datos, los sistemas de bases de datos relacionales permiten la construccin de consultas complejas en una forma concisa y simple para obtener la respuesta a una consulta; el usuario tiene como herramienta principal para la generacin de consultas un modulo del SGBD llamado el Procesador de Consultas

Dado que la ejecucin de consultas es un aspecto critico en el rendimiento de un SGBD, el procesamiento de consultas ha recibido una gran atencin tanto para bases de datos centralizadas como distribuidas. Sin embargo, el procesamiento de consultas es mucho ms difcil en ambientes distribuidos que en los centralizados, ya que existe un gran nmero de parmetros que afectan el rendimiento de las consultas distribuidas.

36

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

CAPITULO 4 Procesamiento de Consultas

4.1 Costos de la Transferencia de Datos La transferencia de datos en una base de datos distribuida genera un costo de mediana intensidad en el performance o rendimiento de las maquinas que contienen la distribucin de los datos.

Para tal fin los SGBDD proveen clases de utilidad que proporciona herramientas para transferir objetos y datos. Los objetos del esquema de la base de datos se transfieren ejecutando un script generado en el servidor de destino. Los datos de las tablas de la BDD se transfieren con un paquete creado dinmicamente.

El objeto derivado de ejecutar esta clase contiene toda la funcionalidad de los objetos transferidos y funcionalidad del lenguaje SQL. Adems, los mtodos y propiedades que se utilizan para realizar transferencias de datos residen en el objeto transferido en lugar de los objetos anteriormente creados en la BDD. La funcionalidad de este tipo de clases de utilidad es coherente con un modelo de objetos ms ligero porque el cdigo para las tareas concretas slo se carga cuando se requiere.

4.2 Procesamiento de Consultas Distribuidas por Reduccin de Tuplas Recordemos que una tupla es la representacin de una fila en una de las tablas resultantes de una relacin ejecutada en un almacn de datos; en el proceso de reduccin de tuplas se puede presentar una significativa reduccin del nmero de tuplas ejecutando uniones de relaciones entre diferentes tablas de la BDD.

Se enva la columna con la que se va a realizar la unin de una relacin R a la tabla donde se encuentra la otra relacin, all se realiza la unin con la otra relacin S, luego se envan las columnas implicadas en el resultado a la tabla
37

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

inicial y se vuelve a realizar la unin con R. Slo se transfieren las columnas de R que intervienen en la realizacin de la consulta en una direccin y el subconjunto de columnas de S resultantes en la otra.

4.3 Descomposicin de Consultas Para realizar la divisin de datos en una consulta consideraremos el siguiente ejemplo de consulta distribuida

Tabla 1: EMPLEADO ID Nombre Apellido Dir Sexo Sueldo Fecha Nac Dpto

La tabla tiene 10.000 tuplas. Cada tupla tiene 100 bytes de longitud. El campo ID tiene 9 bytes de longitud. El campo Dpto tiene 4 bytes de longitud. El campo Nombre tiene 15 bytes de longitud. El campo Apellido tiene 15 bytes de longitud. Tamao de la relacin: 100 * 10.000 = 106 bytes

Tabla 2: DEPARTAMENTO NombreDpto NDpto Responsable Edificio

La tabla tiene 100 tuplas. Cada tupla tiene 35 bytes de longitud. El campo NombreDpto tiene 10 bytes de longitud. El campo NDpto tiene 4 bytes de longitud. El campo Responsable tiene 9 bytes de longitud. Tamao de la relacin: 35 * 100 = 3500 bytes

Por cada empleado, obtener el nombre del empleado y el nombre del departamento al que pertenece

38

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Consulta 1: Nombre, Apellido, NombreDPto(EMPLEADO*DEPARTAMENTO)

La consulta se lanza desde la tabla 3 (tabla o vista respuesta) que no tiene datos implicados en la consulta. El resultado de sta consulta constar de 10.000 tuplas. Cada tupla resultante ser de una longitud de 40 bytes. El tamao del resultado ser por tanto de 400.000 bytes.

Existen tres alternativas para resolver la consulta.

Primera alternativa: Transferir, tanto la relacin EMPLEADO, como la relacin DEPARTAMENTO a la tabla respuesta (tabla 3) y realizar all mismo la operacin de unin. En ste caso se transfieren: 1.000.000 + 3.500 = 1.003.500 bytes.

Segunda alternativa: Transferir la relacin EMPLEADO a la tabla 2, ejecutar la unin en esta tabla y enviar el resultado a la tabla 3. Esto implicara transferir: 1.000.000 + 400.000 (resultado) = 1.400.000 bytes

Tercera alternativa: Transferir la relacin DEPARTAMENTO a la tabla 1, ejecutar la unin en este nodo y enviar el resultado a la tabla 3. En este caso, los bytes transferidos sern: 3.500 + 400.000 (resultado) = 403.500 bytes.

La segunda alternativa es ms ptima, ya que nos transfiere el mayor nmero de datos efectivos en la consulta, mientras que en las otras alternativas algunos datos quedaron fuera del resultado.

4.4 Transformacin de Consultas Esta situacin puede estudiarse a partir de una consulta extremadamente sencilla; por ejemplo hallar todas las tuplas de la relacin EMPLEADO DEPARTAMENTO, tomando como referencia el ejemplo anterior. Aunque la consulta es sencilla (en realidad, trivial), su procesamiento no es trivial, ya que puede que la relacin EMPLEADO DEPARTAMENTO est fragmentada,
39

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

replicada o ambas cosas. Si la relacin est replicada, se tiene que elegir la rplica. Si no se han dividido las rplicas, se escoge aquella para la que el costo de transmisin es ms bajo. No obstante, si se ha dividido una rplica, la eleccin no resulta tan sencilla de hacer dado que hay que calcular varias reuniones o uniones para reconstruir la relacin EMPLEADO DEPARTAMENTO. En ese caso, el nmero de estrategias para este ejemplo escogido puede ser grande.

Como se observa, existen varias alternativas que permiten transformar la consulta original, en otras, puede que la optimizacin de las consultas mediante la enumeracin exhaustiva de todas las estrategias no resulte prctica en esas situaciones.

4.5 Procesamiento de Reuniones Sencillas Una decisin importante en la seleccin de una estrategia de procesamiento de consultas es la eleccin de la estrategia de reunin. Tomemos como referencia la relacin EMPLEADO DEPARTAMENTO. Supongamos que la relacin no est replicada ni fragmentada, y que cuenta est almacenada en dos sitios diferentes. Supngase que el primer sitio se ha formulado la consulta. El sistema necesita obtener el resultado en el primer sitio. Entre las estrategias posibles para el procesamiento de esta consulta figuran las siguientes:

Enviar copia de la relacin resultante al primer sitio. Enviar copia de la consulta al segundo sitio y ejecutarla. Enviar el resultado al primer sitio. Disear estrategias parecidas a la anterior con los roles de los sitios intercambiados.

Ninguna estrategia es siempre la mejor. Entre los factores que deben tenerse en cuenta estn el volumen de los datos que se envan, el costo de la transmisin de los bloques de datos entre los sitios y la velocidad relativa de procesamiento en cada sitio. Para analizar la situacin de esta consulta podemos emplear dos alternativas; la estrategia de semirreunin, que nos permite configurar reuniones de varias relaciones, esta estrategia puede ampliarse a una serie de pasos de
40

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

semirreunin; se ha desarrollado un importante aspecto terico en relacin con el empleo de la semirreunin para la optimizacin de consultas. La otra alternativa contempla diferentes estrategias de reunin que aprovechan el paralelismo donde hay muchas estrategias posibles para la evaluacin en paralelo, estas estrategias pueden comenzar el clculo de relaciones, con una tcnica de reunin canalizada, as, el clculo del resultado de la reunin final una relacin resultante puede hacerse en paralelo con el clculo de otras relaciones resultantes.

41

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

CAPITULO 5 Transacciones

5.1 Estructura del Sistema Cada sitio de almacenamiento de una BDD tiene su propio SGBD, y estos a su vez tienen integrado el gestor local de transacciones, cuya funcin es asegurar las propiedades ACID (conjunto de caractersticas necesarias para que una serie de instrucciones puedan ser consideradas como una transaccin; as, si un sistema de gestin de bases de datos es ACID compliant quiere decir que el mismo cuenta con las funcionalidades necesarias para que sus transacciones tengan las caractersticas ACID. En concreto ACID es un acrnimo de Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad en espaol) de las transacciones que se ejecuten en ese sitio. Los diferentes gestores de transacciones colaboran para ejecutar las transacciones globales. Para comprender el modo en que se pueden implementar estos gestores, considrese un modelo abstracto de sistema de transacciones, en el que cada sitio contenga dos subsistemas, el Gestor y el Coordinador de Transacciones.

5.2 El Gestor y Coordinador de Transacciones El gestor de transacciones administra la ejecucin de las transacciones (o sub transacciones) que tienen acceso a los datos almacenados en un sitio local. Tngase en cuenta que cada una de esas transacciones puede ser una transaccin local (es decir, una transaccin que se ejecuta slo en ese sitio) o parte de una transaccin global (es decir, una transaccin que se ejecuta en varios sitios).

El coordinador de transacciones coordina la ejecucin de las diferentes transacciones (tanto locales como globales) diseadas para ese sitio.

La estructura de los gestores de transacciones es parecida en muchos aspectos a la de los sistemas centralizados. Cada gestor de transacciones es responsable del mantenimiento de un registro histrico con fines de recuperacin y la participacin
42

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

en un esquema adecuado de control de la concurrencia para coordinar la ejecucin concurrente de las transacciones que se ejecuten en ese sitio

Como se observa, hay que modificar tanto el esquema de recuperacin como el de concurrencia para adaptarlos a la distribucin de las transacciones.

El subsistema del coordinador de transacciones no se necesita en los entornos centralizados, dado que las transacciones slo tienen acceso a los datos en un sitio. Los coordinadores de transacciones, como su propio nombre implica, son responsables de la coordinacin de la ejecucin de todas las transacciones iniciadas en ese sitio. En cada una de esas transacciones el coordinador es responsable de:

Inicio de la ejecucin de la transaccin Divisin de la transaccin en varias sub transacciones y distribucin de esas sub transacciones a los sitios correspondientes para su ejecucin Coordinacin de la terminacin de la transaccin, que puede hacer que la transaccin se comprometa en todos los sitios o que se aborte en todos los sitios

5.3 Modos de Fallo del Sistema Los sistemas distribuidos pueden sufrir los mismos tipos de fallos que los sistemas centralizados (por ejemplo, errores de software, errores de hardware y fallos de almacenamiento). No obstante, hay ms tipos de fallos con los que hay que tratar en los entornos distribuidos. Los tipos bsicos de fallos son:

Fallo de un sitio Prdida de mensajes Fallo de un enlace de comunicaciones Divisin de la red


43

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

La prdida o deterioro de los mensajes o paquetes de datos siempre constituyen una posibilidad en los sistemas distribuidos. El sistema utiliza protocolos de control de las transmisiones, como los protocolos TCP/IP, para tratar esos errores.

No obstante, si dos sitios A y B no se hallan conectados de manera directa, los mensajes de uno a otro deben encaminarse mediante una serie de enlaces de comunicaciones. Si falla un enlace de comunicaciones los mensajes que se deberan haber transmitido por el enlace deben reencaminarse. En algunos casos resulta posible hallar otra ruta por la red de modo que los mensajes puedan alcanzar su destino. En otros casos el fallo puede hacer que no haya conexin entre algunos de estos sitios. Un sistema est dividido si se ha dividido en dos (o ms) subsistemas, denominados particiones, que carecen de conexin entre ellas. Tngase en cuenta que, con esta definicin, cada subsistema puede consistir en un solo nodo.

5.4 Sistemas de Directorio Los sistemas de directorio, pueden considerarse una forma especializada de bases de datos distribuidas. Los sistemas de directorio ofrecen un mecanismo sencillo para nombrar a los objetos de manera jerrquica, parecida a los nombres de directorios de los sistemas de archivos, que pueden utilizarse en un sistema distribuido de directorio para especificar la informacin que se almacena en cada servidor de directorio.

Por ejemplo, puede que un servidor de directorio concreto almacene la informacin de los empleados de Laboratorios XX en Pereira y que otro almacene la informacin de los empleados de Laboratorios XX en Medelln, lo que da a ambos sitios autonoma para controlar sus datos locales. Se puede utilizar el protocolo de acceso al directorio para obtener datos de los dos directorios por la red. Lo que es ms importante, el sistema de directorios puede configurarse para que enve de manera automtica a un sitio las consultas formuladas en el otro, sin intervencin del usuario.

Por estos motivos varias organizaciones tienen sistemas de directorios para hacer que la informacin de la organizacin est disponible en conexin. Como poda
44

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

esperarse, varias implementaciones de los directorios consideran conveniente utilizar las bases de datos relacionales para almacenar los datos, en lugar de crear sistemas de almacenamiento con finalidad especial.

En general, los sistemas de directorios se implementan como uno o varios servidores que atienden a varios clientes. Los clientes utilizan la interfaz de programacin de aplicaciones definida por el sistema de directorios para comunicarse con los servidores de directorios. Los protocolos de acceso a directorios tambin definen un modelo de datos y el control de los accesos.

El protocolo de acceso a directorios X.500, definido por la organizacin internacional para la normalizacin (International Organization for Standardization, ISO), es una norma para el acceso a informacin de los directorios. No obstante, el protocolo es bastante complejo y no se utiliza demasiado. El protocolo de acceso ligero a directorios (Lightweight Directory Access Protocol, LDAP) ofrece muchas de las caractersticas de X.500, pero con menos complejidad y se utiliza bastante. En el resto de este apartado se esbozarn detalles del modelo de datos y del protocolo de acceso de LDAP.

5.5 Modelos Alternativos del Procesamiento de Transacciones Para muchas aplicaciones el problema del bloqueo del compromiso de dos fases no resulta aceptable. El problema en este caso es la idea de una sola transaccin que trabaja en varios sitios. Para este fin se describe el modo de utilizar la mensajera persistente para evitar el problema del compromiso distribuido.

Para comprender la mensajera persistente considrese el modo en que se podran transferir fondos entre dos bancos diferentes, cada uno con su propia computadora. Un enfoque es hacer que la transaccin abarque los dos sitios y utilizar el compromiso de dos fases para asegurar la atomicidad. Sin embargo, puede que la transaccin tenga que actualizar todo el saldo del banco y el bloqueo podra tener un grave impacto en las dems transacciones de cada banco, dado que casi todas las transacciones de los bancos actualizan el saldo total del banco.

45

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Para comparar, considrese el modo en que se produce la transferencia de fondos mediante un cheque. El banco deduce en primer lugar el valor del cheque del saldo disponible e imprime un cheque. El cheque se transfiere fsicamente al otro banco, donde se deposita. Tras comprobar el cheque, el banco aumenta el saldo local en el valor del cheque. El cheque constituye un mensaje enviado entre los dos bancos. Para que los fondos no se pierdan ni se aumenten de manera incorrecta no se debe perder el cheque ni se debe duplicar ni depositar ms de una vez. Cuando las computadoras de los bancos se hallan conectadas mediante una red, los mensajes persistentes ofrecen el mismo servicio que los cheques.

Los mensajes persistentes son mensajes que tienen garantizada su entrega al destinatario exactamente una sola vez (ni ms ni menos), independientemente de los fallos, la transaccin que enva el mensaje tiene que ofrecer la garanta de no efectuar la entrega si la transaccin se aborta. Las tcnicas de recuperacin de bases de datos se utilizan para implementar la mensajera persistente por encima de los canales normales de la red. A diferencia de esto, los mensajes normales pueden perderse o, incluso, entregarse varias veces en algunas circunstancias.

El manejo de los errores resulta ms complicado con la mensajera persistente que con el compromiso de dos fases. Por ejemplo, si la cuenta en la que hay que ingresar el cheque se ha cerrado, hay que devolver el cheque a la cuenta que lo origin y volver a cargar su valor en ella. Por tanto, ambos sitios deben disponer de cdigo para el manejo de errores y con cdigo para manejar los mensajes persistentes. Sin embargo, con el compromiso de dos fases, el error lo detectara la transaccin, que no deducira nunca el valor del cheque de la primera cuenta.

Los tipos de condiciones de excepcin que pueden surgir dependen de la aplicacin, por lo que no es posible que el sistema de bases de datos maneje las excepciones de manera automtica. Los programas de aplicaciones que envan y reciben los mensajes persistentes deben incluir cdigo para manejar las condiciones de excepcin y devolver el sistema a un estado consistente. Por ejemplo, no resulta aceptable que se pierda el dinero que se transfiere si se ha cerrado la cuenta receptora; hay que devolver el dinero a la cuenta ordenante, y si ello no resulta posible por algn motivo, hay que advertir a los empleados del banco para que resuelvan manualmente la situacin.

46

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Se considerar ahora la implementacin de la mensajera persistente. La mensajera persistente pueden implementarla los siguientes protocolos por encima de estructuras de mensajera que no sean dignas de confianza, que pueden perder mensajes o entregarlos varias veces:

Protocolo de sitio emisor. Cuando una transaccin desea enviar un mensaje persistente escribe un registro que contiene el mensaje en una relacin especial mensajes a enviar, en lugar de enviar el mensaje directamente. Tambin se le da al mensaje un identificador de mensaje nico. Protocolo de sitio receptor. Cuando un sitio recibe un mensaje persistente ejecuta una transaccin que aade el mensaje a la relacin especial mensajes recibidos, siempre que no se halle ya presente en la relacin (el identificador nico de mensajes detecta los duplicados). Una vez que la transaccin se compromete, o si el mensaje ya se hallaba en la relacin, el sitio receptor devuelve un acuse de recibo al sitio emisor.

47

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

CAPITULO 6 Control de Concurrencia y Recuperacin

6.1 Protocolos de Bloqueo

Un protocolo de bloqueo nace de la necesidad creada cuando una transaccin solicita un bloqueo de un modo particular sobre un elemento de datos y ninguna otra transaccin posee un bloqueo sobre el mismo elemento de datos en un modo conflictivo, se puede conceder el bloqueo. Sin embargo, hay que tener cuidado para evitar la siguiente situacin: suponemos que la transaccin T2 posee un bloqueo en modo compartido sobre un elemento de datos y que la transaccin T1 solicita un bloqueo en modo exclusivo sobre dicho elemento de datos. Obviamente T1 debe esperar a que T2 libere el bloqueo en modo compartido. Mientras tanto, la transaccin T3 puede solicitar un bloqueo en modo compartido sobre el mismo elemento de datos. La peticin de bloqueo es compatible con el bloqueo que se ha concedido a T2, por tanto se puede conceder a T3 el bloqueo en modo compartido. En este punto T2 puede liberar el bloqueo, pero T1 debe seguir esperando hasta que T3 termine. Pero de nuevo puede haber una nueva transaccin T4 que solicite un bloqueo en modo compartido sobre el mismo elemento de datos y a la cual se conceda el bloqueo antes de que T3 lo libere. De hecho es posible que haya una secuencia de transacciones que soliciten un bloqueo en modo compartido sobre el elemento de datos, y que cada una de ellas libere el bloqueo un poco despus de que sea concedido, de forma que T1 nunca obtenga el bloqueo en modo exclusivo sobre el elemento de datos. La transaccin T1 nunca progresa y se dice que tiene inanicin.

Se puede evitar la inanicin de las transacciones al conceder los bloqueos de la siguiente manera: cuando una transaccin Ti solicita un bloqueo sobre un elemento de datos Q en un modo particular M, el gestor de control de concurrencia concede el bloqueo siempre que:

No exista otra transaccin que posea un bloqueo sobre Q en un modo que est en conflicto con M.
48

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

No exista otra transaccin que est esperando un bloqueo sobre Q y que lo haya solicitado antes que Ti.

De este modo, una peticin de bloqueo nunca se quedar bloqueada por otra peticin de bloqueo solicitada ms tarde.

Existen diferentes protocolos de bloqueo que se pueden utilizar en entornos distribuidos, entre los que se encuentran el protocolo de bloqueo de dos fases, protocolos basados en grafos, entre otros. La nica modificacin que hay que incorporar es el modo en que el gestor de bloqueos trata los datos replicados. Se presentan varios esquemas posibles que son aplicables a entornos en que los datos puedan replicarse en varios sitios. Esta situacin se presenta en los modos de bloqueo compartido y exclusivo.

En el enfoque de gestor nico de bloqueos el sistema mantiene un nico gestor de bloqueos que reside en un sitio nico escogido. Todas las solicitudes de bloqueo y de desbloqueo se realizan en el sitio. Cuando una transaccin necesita bloquear un elemento de datos enva una solicitud de bloqueo al sitio. El gestor de bloqueos determina si se puede conceder el bloqueo de manera inmediata. Si se puede conceder el bloqueo, el gestor de bloqueos enva un mensaje con ese objeto al sitio en el que se inici la solicitud de bloqueo. En caso contrario, la solicitud se retrasa hasta que puede concederse, en cuyo momento se enva un mensaje al sitio en el que se inici la solicitud de bloqueo. La transaccin puede leer el elemento de datos de cualquiera de los sitios en los que residen las rplicas del elemento de datos. En caso de una operacin de escritura deben implicarse en la escritura todos los sitios en los que residen rplicas del elemento de datos.

El esquema tiene las siguientes ventajas:

Implementacin sencilla. Este esquema necesita dos mensajes para tratar las solicitudes de bloqueo y slo uno para las de desbloqueo.

49

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Tratamiento sencillo de los interbloqueos. Dado que todas las solicitudes de bloqueo y de desbloqueo se realizan en un solo sitio, se pueden aplicar directamente a este entorno algoritmos de tratamiento de los interbloqueos.

Los inconvenientes del esquema son:

Cuello de botella. El sitio se transforma en un cuello de botella, dado que todas las solicitudes deben procesarse all. Vulnerabilidad. Si el sitio falla se pierde el controlador de la concurrencia. Se debe detener el procesamiento o utilizar un esquema de recuperacin de modo que pueda asumir la administracin de los bloqueos un sitio de respaldo.

6.2 Marcas Temporales Otro mtodo para determinar el orden de secuencialidad en la ejecucin de bloqueo de datos es seleccionar previamente un orden entre las transacciones en el mtodo ms comn para hacer esto es utilizar un esquema de ordenacin por marcas temporales

El protocolo de ordenacin por marcas temporales asegura que todas las operaciones leer y escribir conflictivas se ejecutan en el orden de las marcas temporales.

El protocolo de ordenacin por marcas temporales asegura la secuencialidad en cuanto a conflictos. Esta afirmacin se deduce del hecho de que las operaciones conflictivas se procesan durante la ordenacin de las marcas temporales. El protocolo asegura la ausencia de interbloqueos, ya que ninguna transaccin tiene que esperar. El protocolo puede generar planificaciones no recuperables; sin embargo se puede extender para producir planificaciones sin cascada.

50

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Otro esquema utilizado es el mecanismo de marcas de tiempo, este supone que existe una nica versin de los datos; por lo que slo una transaccin puede acceder a los mismos. Se puede relajar esta restriccin permitiendo que varias transacciones lean y escriban diferentes versiones del mismo dato siempre que cada transaccin vea un conjunto consistente de versiones de todos los datos a los que accede.

El problema con las tcnicas de bloqueo es que puede producirse un interbloqueo (llamado deadlock), que es una situacin que se da cuando dos o ms transacciones estn esperando cada una de ellas que otra libere algn objeto antes de seguir. Este problema, que ha sido estudiado en profundidad en los sistemas operativos, puede tener dos soluciones:

Prevenir el interbloqueo, obligando a que las transacciones bloqueen todos los elementos que necesitan por adelantado. Detectar el interbloqueo, controlando de forma peridica si se ha producido, para lo que suele construirse un grafo de espera. Si existe un ciclo en el grafo se tiene un interbloqueo. Cada SGBD tiene su propia poltica para escoger las transacciones bloqueadas, aunque suelen ser las transacciones ms recientes.

6.3 Tratamiento de los Interbloqueos Un sistema est en estado de interbloqueo si existe un conjunto de transacciones tal que toda transaccin del conjunto est esperando a otra transaccin del conjunto. En tal situacin ninguna de las transacciones puede progresar.

El nico remedio a esta situacin no deseada es que el sistema invoque alguna accin drstica, como retroceder alguna de las transacciones involucradas en el interbloqueo. El retroceso de una transaccin puede ser parcial: esto es, se puede retroceder una transaccin hasta el punto donde obtuvo un bloqueo cuya liberacin resuelve el interbloqueo.

51

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Existen dos mtodos principales para tratar el problema de los interbloqueos. Se puede utilizar un protocolo de prevencin de interbloqueos para asegurar que el sistema nunca llega a un estado de interbloqueo. De forma alternativa se puede permitir que el sistema llegue a un estado de interbloqueo, y tratar de recuperarse despus a travs de un esquema de deteccin y recuperacin de interbloqueos.

Estos algoritmos de prevencin y de deteccin de interbloqueos pueden utilizarse en los sistemas distribuidos, siempre que se realicen modificaciones. Por ejemplo, se puede utilizar el enfoque de ordenacin por marcas temporales puede aplicarse de manera directa en entornos distribuidos.

La prevencin de interbloqueos puede dar lugar a esperas y retrocesos innecesarios. Adems, puede que algunas tcnicas de prevencin de interbloqueos necesiten que se impliquen en la ejecucin de una transaccin ms sitios que los que seran necesarios de otro modo.

6.4 Disponibilidad Para garantizar que una aplicacin distribuida sea altamente disponible (es decir, que pueda estar en servicio de manera continua) se deben instanciar mltiples replicas de esta en distintos equipos de computo. Segn el tipo de fallo que se quiera soportar (cortes de energa elctrica, averas, desconexiones) se debe conseguir que cada uno de las computadoras que mantenga una rplica de la BDD sea independiente del resto ante la ocurrencia de tales fallos. As, por ejemplo, si queremos proteger a la aplicacin ante cortes de alimentacin, cada equipo de computo donde se ejecute una rplica debera disponer de su propio sistema de proteccin, por ejemplo una UPS de alto rendimiento.

El hecho de disponer de mltiples replicas permitir que la capacidad de servicio de la aplicacin tambin mejore. As, aquellas peticiones de los usuarios del sistema que slo impliquen una consulta de datos, podrn ser atendidas por diferentes replicas simultneamente. Con ello, el tiempo de respuesta percibido por los usuarios disminuir.

52

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Por tanto, con la replicacin se pueden llegar a obtener dos mejoras importantes:

Por un lado, se garantiza que el servicio ofrecido por la aplicacin, no se vea interrumpido en caso de que se d un fallo en alguna de las replicas. Observemos que tal fallo habra dejado inutilizable a la aplicacin en caso de no haber empleado replicacin. Adems, el tiempo necesario para restablecer el servicio en la aplicacin podra llegar a ser grande en algunos tipos de fallo. Por ejemplo, si se llegara a estropear el disco duro en el que se mantienen parte de los datos de la aplicacin: habra que parar la mquina, sustituir el disco, restaurar su contenido a partir de alguna copia de seguridad, re arrancar la mquina y reiniciar la aplicacin. Adems, todas las peticiones en curso en el momento de fallo se habran perdido. Afortunadamente, un RAID evitara esta situacin. Por otra parte, la capacidad de servicio se ve incrementada cuando las peticiones efectuadas por los clientes nicamente implican consultas.

6.5 Replica con Grado de Consistencia Bajo En general, el sistema de rplica de la BDD hace que las consultas sean ms eficientes, pero complica las actualizaciones debido al problema de la redundancia de datos y el mantenimiento de la consistencia de los datos. Normalmente, se elige una de las rplicas como copia principal para simplificar la administracin, esta situacin garantiza que no exista el problema de que exista la replica con un grado de consistencia bajo, que sera una replica que se genero con prdida de informacin.

Si queremos garantizar una consistencia fuerte entre las replicas habra que solicitar una entrega en orden total. Es decir, todos los mensajes deben entregarse en idntico orden en todos los procesos del grupo. No obstante, ciertos tipos de aplicacin slo requieren el uso de orden causal (esto es, bastarla con ordenar aquellos mensajes con relacin causa-efecto entre ellos) que permite una entrega ms rpida.

53

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Actividades Complementarias

Realizar informe donde se describen los pasos a seguir para la implementacin y puesta en marcha de un sistema de Base de Datos Distribuida, tomando una Base de Datos de una agencia de viajes donde se realizan las operaciones sobre las tablas de dicha BDD para lograr la distribucin de los datos en diversos nodos.

54

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Fuentes Documentales de la Unidad 2

Elmasri R. Navathe S. (1997). Sistemas de Base de Datos. Mxico DF: AddisonWesley Iberoamericana

De Miguel A. Martnez P. (2001). Diseo de Bases de Datos: Problemas Resueltos. Madrid: RA-MA.

De La Rosa M. (2005). Monografa Bases de Datos Distribuidas. La Habana: Editorial Universitaria.

Silberschatz A. Korth H. Sudarshan S. (2002). Fundamentos de Bases de Datos. Madrid: McGraw-Hill

55

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

UNIDAD 3 DISTRIBUCION DE DATOS EN MS SQL SERVER

Introduccin El creciente desarrollo de tecnologa y la disminucin de los costos del hardware han sido las principales causas que han motivado a los programadores la implementacin de los Sistemas de Gestin de Bases de Datos Distribuidas (SGBDD).

MS SQL Server contiene una variedad de caractersticas y herramientas que se pueden usar para desarrollar y administrar bases de datos y soluciones distribuidas.

SQL Server contiene aplicaciones que le ayudarn en las tareas de programacin y administracin: SQL Server Management Studio desarrolla y administra el SQL Server Database Engine (Motor de base de datos de SQL Server) y soluciones de notificacin, se administran las soluciones implementadas y se administran los servidores de informes.

56

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

CAPITULO 7 MS SQL Server Express Edition

7.1 Requerimientos Previos El proceso de instalacin de Microsoft SQL Server 2008 no es complicada, es de gran importancia tener en cuenta que se est realizando en cada uno de los pasos del proceso, realizar una instalacin sin la informacin necesaria podra terminar en una instalacin de ms o menos servicios de los necesarios y en la implementacin de malas prcticas de seguridad entre muchas otras.

Es importante que antes de instalar SQL Server se tengan en cuenta las siguientes recomendaciones importantes:

A.) Definir la edicin de SQL Server 2008 que se desea instalar, en nuestro caso ser SQL Server 2008 Express Edition, este software puede ser descargado de la siguiente direccin URL:

http://www.microsoft.com/downloads/details.aspx?familyid=B5D1B8C3-FDA54508-B0D0-1311D670E336&displaylang=es

B.) Verificar que se cumpla con los requerimientos de hardware y software necesarios para instalar SQL Server 2008, entre los cuales tenemos:

El programa de instalacin de SQL Server requiere el siguiente software: Microsoft Windows Installer 4.5 o una versin posterior Microsoft Windows PowerShell 1.0 .NET Framework 3.5 SP1

57

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

El programa de instalacin de SQL Server instala los siguientes componentes de software requeridos por el producto: SQL Server Native Client Archivos auxiliares para la instalacin de SQL Server

Una vez instalados los componentes requeridos, el programa de instalacin de SQL Server comprobar que el equipo en el que se ha instalado SQL Server 2008 tambin cumple los dems requisitos para su correcta instalacin; entre estos tenemos: Procesador: Procesador compatible con Pentium III o superior; la Velocidad de procesador debes ser mnimo 1,0 GHz, se recomienda 2,0 GHz o ms. Memoria RAM: Mnimo 512 MB para SQL Server Express con herramientas y SQL Server Express con Advanced Services, se recomienda 1,024 GB y como mximo 1,0 GB para Database Engine (Motor de base de datos) que se instala con SQL Server Express, SQL Server Express con herramientas y SQL Server Express con Advanced Services, 4,0 GB para Reporting Services que se instala con SQL Server Express con Advanced Services Disco duro: Las necesidades de espacio en disco variarn con los componentes de SQL Server 2008 que instale, lo mnimo requerido es 1,0 GB. Unidad: Para la instalacin desde disco se necesita una unidad de DVD. Pantalla: Las herramientas grficas de SQL Server 2008 requieren VGA o una resolucin mayor: resolucin mnima de 1.024 x 768 pxeles. Dispositivo sealador: se necesita un mouse o dispositivo sealador compatible. Sistema operativo: Windows XP SP2 Home Edition o superior. Software de Internet: Para todas las instalaciones de SQL Server 2008 se requiere Microsoft Internet Explorer 6 SP 1 o una versin posterior. Se requiere Internet Explorer 6 Service Pack 1 o una versin posterior para Microsoft Management Console (MMC), SQL Server Management Studio, Business Intelligence Development Studio, el componente Diseador de informes de Reporting Services y la Ayuda HTML.
58

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

7.2 Instalacin Inicial

Para iniciar la instalacin de SQL Server 2008 Express debe ejecutar el archivo SQLEXPRADV_x86_ESN.exe, archivo descargado del link anteriormente mencionado. El instalador comenzar a extraer los archivos necesarios para la instalacin de SQL Server 2008 Express. En el SQL Server Installation Center, elija System Configuration Checker para asegurarse de que est listo para instalar SQL Server 2008 Express.

59

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Cuando el System Configuration Checker ha validado que est listo para instalar SQL Server 2008 Express, volver a SQL Server Installation Center y haga clic en Installation.

60

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Seleccione New SQL Server stand-alone installation or add features to an existing installation.

61

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Se ejecutar un chequeo de soporte de instalacin. Asegrese de que no hay errores o advertencias, pulse Ok.

62

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

QL Server 2008 Setup aparecer ahora, en la pgina de Product Key; la clave del producto de SQL Server 2008 Express viene por defecto, haga clic en Next.

63

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Active la casilla de verificacin I accept the license terms y haga clic en Next.

64

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Haga clic en Install para instalar los archivos de soporte de instalacin.

65

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Completada la instalacin de Setup Support Files, Setup Support Rules aparecer, asegrese de que no hay errores o advertencias (existe una advertencia de Windows Firewall que no colocara problema en la instalacin), haga clic en Next.

66

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Ahora estar en la pgina de Feature Selection. Seleccione Database Engine Services, Reporting Services, SQL Server Management Studio y, a continuacin, haga clic en Next.

67

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

En la pgina de Instance Configuration, especifique SQLEXPRESS en los campos Named instance e Instance ID. Haga clic en Next dos veces.

68

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Ahora estar en la pgina Server Configuration. Cambiar el SQL Server Database Engines Account Name a NT AUTHORITY\SYSTEM y SQL Server Browsers Startup Type en Automatic y, a continuacin, haga clic en Next.

69

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

En la pgina de Database Engine Configuration, puede dejar configurado para utilizar slo Windows Authentication Mode o el Mixed Mode (autenticacin de SQL Server y autenticacin de Windows). Se debe habilitar el Mixed Mode (la cuenta SA - System Administrator). Al elegir el Mixed Mode, necesitar entrar y confirmar la contrasea para la cuenta SA. Antes de continuar, debe especificar los grupos que desea otorgar acceso ilimitado a SQL Server. Haga clic en Add y seleccione los grupos. Se recomienda que agregue al menos los administradores y el usuario actual (cuenta de servicio actual Add Current User). Cuando haya terminado aqu, haga clic en Next dos veces.

70

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Ahora se encontrar en Installation Rules, asegrese de que no existan errores o advertencias y, a continuacin, haga clic en Next.

71

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Finalmente haga clic en Install para proceder con la instalacin.

72

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Cuando finalice el programa de instalacin, haga clic en Next y, a continuacin, Close.

Hasta aqu la instalacin de SQL Server 2008 Express with Service Pack 1 est completa y sin errores.

73

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

7.3 Motor de Base de Datos

El Motor de base de datos de MS SQL Server 2008 (Database Engine), es el servicio principal para almacenar, procesar y proteger los datos. El Motor de base de datos proporciona acceso controlado y procesamiento rpido de transacciones para cumplir los requisitos de las aplicaciones de datos ms exigentes. El Motor de base de datos tambin proporciona una completa compatibilidad para mantener una gran disponibilidad.

El Motor de base de datos est diseado para crear bases de datos relacionales para el procesamiento de transacciones en lnea, o datos de procesamiento analtico en lnea. Esto incluye la creacin de tablas para almacenar datos y objetos de base de datos, entre ellos tenemos ndices, vistas y procedimientos almacenados, para ver, administrar y proteger datos. Puede usar SQL Server Management Studio para administrar los objetos de bases de datos y SQL Server Profiler para capturar eventos de servidor.

El Motor de base de datos cumple con las siguientes tareas utilizadas para implementar un sistema para el almacenamiento de datos:

Disear y crear una base de datos que contenga las tablas relacionales o los documentos XML que el sistema necesita. Implementar sistemas para obtener acceso y cambiar los datos almacenados en la base de datos, lo que incluye implementar los sitios Web o las aplicaciones que funcionan con los datos, as como crear procedimientos que utilicen las herramientas y utilidades de SQL Server para trabajar con los datos. Aplicar los sistemas implementados en la organizacin o en los clientes. Proporcionar soporte tcnico administrativo diario para optimizar el rendimiento de la base de datos.

74

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

7.4 Herramientas de Configuracin

Las herramientas de configuracin de un Sistema de Base de Datos varan de acuerdo al SGBD, en este caso MS SQL Server 2008 cuenta con las siguientes:

Analysis Services - Datos multidimensionales. Analysis Services admite OLAP al permitir al usuario disear, crear y administrar estructuras multidimensionales que contienen datos agregados de otros orgenes tales como bases de datos relacionales. Analysis Services - Minera de datos. Analysis Services permite al usuario disear, crear y visualizar modelos de minera de datos. Estos modelos de minera de datos se pueden construir a partir de otros orgenes de datos empleando una amplia variedad de algoritmos de minera de datos estndar. SQL Server Integration Services (SSIS). Integration Services es una plataforma para generar soluciones de integracin de datos de alto rendimiento, lo que incluye paquetes que proporcionan procesamiento de extraccin, transformacin y carga (ETL) para almacenamiento de datos. Rplica de SQL Server. La rplica es un conjunto de tecnologas destinadas a la copia y distribucin de datos y objetos de base de datos desde una base de datos a otra, para luego sincronizar ambas bases de datos y mantener su coherencia. La rplica permite distribuir datos a diferentes ubicaciones y a usuarios remotos o mviles mediante redes de rea local y de rea extensa, conexiones de acceso telefnico, conexiones inalmbricas e Internet. SQL Server Reporting Services. Reporting Services ofrece funcionalidad empresarial de informes habilitados para Web con el fin de poder crear informes que extraigan contenido a partir de una variedad de orgenes de datos, publicar informes con distintos formatos y administrar centralmente la seguridad y las suscripciones. SQL Server Service Broker. Service Broker ayuda a los programadores a crear aplicaciones de base de datos escalables y seguras. Esta nueva tecnologa de Motor de base de datos proporciona una plataforma de comunicacin basada en mensajes que permite a los componentes de aplicacin independientes trabajar como un conjunto funcional. Service Broker incluye infraestructura para

75

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

programacin asincrnica que se puede utilizar para aplicaciones en una base de datos nica o instancia nica, y tambin para aplicaciones distribuidas.

7.5 SQL Server Management Studio

Microsoft SQL Server Management Studio Express (SSMSE) ofrece herramientas grficas para la administracin de bases de datos, junto con un completo entorno de desarrollo. Management Studio permite obtener acceso y administrar el Motor de base de datos, Analysis Manager y Analizador de consultas SQL en una sola herramienta, junto con la posibilidad de escribir instrucciones MDX, XMLA y XML de Transact-SQL.

La interfaz de usuario de SSMSE es un subconjunto de SQL Server Management Studio disponible con otras ediciones de SQL Server 2005. SSMSE se diferencia de la versin completa de SQL Server Management Studio en los siguientes aspectos:

SSMSE no puede administrar Analysis Services, Integration Services, Notification Services ni Reporting Services. No es posible actualizar el catlogo de texto mediante SSMSE. Para actualizar dicho catlogo, se puede emplear la utilidad sqlcmd o el Programador de Windows. La resolucin interactiva, que permite solucionar conflictos de forma manual durante la sincronizacin a peticin en el Administrador de sincronizacin de Microsoft Windows, no es compatible con SSMSE. SSMSE no admite la programacin de tareas administrativas mediante el Agente SQL Server. SSMSE no permite importar y exportar los datos. En SSMSE, el Explorador de objetos slo admite instancias del Motor de base de datos. El cuadro de dilogo Conectar al servidor evita la conexin a otros servicios, como Analysis Services.

76

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Dado que SSMSE es un subconjunto de SQL Server Management Studio, todos los objetos que normalmente se enumeraran para un rbol del Explorador de objetos del Motor de base de datos siguen siendo visibles en SSMSE. Si se trata de un objeto de un elemento no compatible, slo estar disponible el comando de actualizacin.

77

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

CAPITULO 8 Planeamiento, Arquitectura e Implementacin

8.1 Replicacin en SQL Server La replicacin es un conjunto de tecnologas destinadas a la copia y distribucin de datos y objetos de base de datos desde una base de datos a otra, para luego sincronizar ambas bases de datos y mantener su coherencia. La replicacin permite distribuir datos entre diferentes ubicaciones y entre usuarios remotos o mviles mediante redes locales y de rea extensa, conexiones de acceso telefnico, conexiones inalmbricas e Internet.

La replicacin transaccional se usa normalmente en escenarios servidor a servidor que requieren un alto rendimiento, como por ejemplo, la mejora de la escalabilidad y la disponibilidad, el almacenamiento de datos y la creacin de informes, la integracin de datos procedentes de varios sitios, la integracin de datos heterogneos, y la descarga del procesamiento por lotes. La replicacin de mezcla se ha diseado principalmente para las aplicaciones mviles o de servidores distribuidos que pueden encontrarse con conflictos de datos. Los escenarios ms frecuentes son: el intercambio de datos con usuarios mviles, las aplicaciones de punto de venta (POS) a consumidores, y la integracin de datos de varios sitios. La replicacin de datos se usa para proporcionar el conjunto de datos inicial para la replicacin transaccional y de mezcla; tambin se puede usar cuando est indicada una actualizacin completa de los datos. Con estos tres tipos de replicacin, SQL Server proporciona un sistema eficaz y flexible para la sincronizacin de datos en toda la organizacin.

Adems de la replicacin, en SQL Server 2008 puede sincronizar las bases de datos mediante Microsoft Sync Framework y Sync Services for ADO.NET. Sync Services for ADO.NET proporciona una interface intuitiva y flexible que se puede utilizar para generar aplicaciones destinadas a escenarios para la colaboracin sin conexin.

78

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

8.2 Planeacin y arquitectura

La replicacin utiliza una idea del sector editorial para representar los componentes de una topologa de replicacin, que incluyen el publicador, el distribuidor, los suscriptores, las publicaciones, los artculos y las suscripciones. Resulta til pensar en la replicacin de Microsoft SQL Server como si fuera una revista: El publicador (editor) de una revista produce una o ms publicaciones. Una publicacin contiene artculos. El publicador distribuye la revista directamente o a travs de un distribuidor. Los suscriptores reciben las publicaciones a las que se han suscrito.

Adicional a estos aspectos la replicacin de MS SQL Server incluye otras funciones, como la posibilidad de que un suscriptor realice actualizaciones y de que un publicador enve cambios incrementales a los artculos de una publicacin.

Una topologa de replicacin define la relacin entre los servidores y las copias de los datos, y aclara la lgica que determina cmo fluyen los datos entre los servidores. Hay varios procesos de replicacin (denominados agentes) que son responsables de copiar y mover los datos entre el publicador y los suscriptores.

79

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

En la anterior grafica se muestra informacin general acerca de los componentes y procesos que participan en la replicacin.

MS SQL Server proporciona los siguientes tipos de replicacin para usarlos en las aplicaciones distribuidas: Replicacin transaccional. Para obtener ms informacin, vea Informacin general de la replicacin transaccional. Replicacin de mezcla. Para obtener ms informacin, vea Informacin general sobre la replicacin de mezcla. Replicacin de instantneas. Para obtener ms Informacin general de la rplica de instantneas. informacin, vea

8.3 Desarrollo

El distribuidor es un servidor que contiene la base de datos de distribucin, que almacena los datos del historial de todos los tipos de replicacin y transacciones para la replicacin transaccional. Para configurar la replicacin, debe configurar un distribuidor. Un publicador slo se puede asignar a una instancia del distribuidor, aunque varios publicadores pueden compartir un distribuidor. El distribuidor utiliza estos recursos adicionales en el servidor en el que se encuentra: Espacio de disco adicional, si los archivos de instantneas de la publicacin se almacenan en el distribuidor. Espacio de disco adicional para almacenar la base de datos de distribucin. Uso adicional del procesador por los agentes de replicacin para las suscripciones de insercin que se ejecutan en el distribuidor.

El servidor seleccionado como distribuidor debe disponer del espacio en disco y la capacidad de proceso adecuados para la replicacin y cualquier otra actividad asignada a ese servidor. Al configurar el distribuidor, debe especificar:

80

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Una carpeta de instantneas que se utiliza, de manera predeterminada, para todos los publicadores que usen este distribuidor. Asegrese de que la carpeta est compartida y tenga establecidos los permisos adecuados. El nombre y la ubicacin de los archivos de la base de datos de distribucin. No se puede cambiar el nombre de la base de datos de distribucin una vez creada. Si desea utilizar un nombre distinto para la base de datos, debe desactivar la distribucin y volver a configurar la base de datos. Todos los publicadores autorizados para utilizar el distribuidor. Si especifica otros publicadores adems de la instancia en la que se ejecuta el distribuidor, debe especificar tambin una contrasea para las conexiones entre los publicadores y el distribuidor remoto.

De forma predeterminada, el distribuidor es el mismo servidor que el publicador (un distribuidor local), aunque tambin puede ser un servidor distinto del publicador (un distribuidor remoto). Por lo general, se elige un distribuidor remoto cuando se desea: Descargar el proceso en otro equipo para que la replicacin tenga un impacto mnimo en el publicador (por ejemplo, si el publicador es un servidor OLTP). Configurar un distribuidor centralizado para varios publicadores.

8.4 Implementacin

La replicacin de SQL Server se instala a travs del programa de instalacin de SQL Server 2008, como parte de los Servicios de Database Engine (Motor de base de datos).

Los componentes de replicacin se pueden instalar mediante el asistente para la instalacin de SQL Server o en un smbolo del sistema. Se debe instalar la replicacin al instalar SQL Server o al modificar una instancia existente.

81

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Despus de instalar los componentes de replicacin, debe configurar el servidor antes de poder utilizar la replicacin.

Para instalar la replicacin al instalar una nueva instancia de SQL Server se deben instalar componentes de replicacin, incluidos los objetos de administracin de replicacin (RMO), para tal fin debe seleccionar Replicacin de SQL Server en la pgina Seleccin de caractersticas del Asistente para la instalacin.

La creacin de reflejo de la base de datos se puede usar conjuntamente con la replicacin para proporcionar disponibilidad para la base de datos de publicacin. La creacin de reflejo de la base de datos incluye la creacin de dos copias de una sola base de datos que suelen residir en diferentes equipos.

8.5 Seguridad y Proteccin

La autenticacin es el proceso por el que una entidad (normalmente un equipo en este contexto) comprueba que otra entidad, denominada principal (normalmente otro equipo o usuario) es quien o lo que dice ser. La autorizacin es el proceso por el que a una entidad de seguridad autenticada se le proporciona acceso a recursos, como a un archivo en el sistema de archivos o a una tabla en una base de datos.

La seguridad de replicacin utiliza la autenticacin y autorizacin para controlar el acceso a objetos de bases de datos replicadas y a los equipos y agentes que intervienen en el proceso de replicacin. Esto se consigue con tres mecanismos:

Seguridad del agente: El modelo de seguridad del agente de replicacin permite un control perfecto de las cuentas con las que los agentes de replicacin se ejecutan y realizan las conexiones. Funciones de administracin: Asegrese de que se utilizan las funciones de base de datos y servidor correctas en la configuracin, mantenimiento y proceso de la replicacin.
82

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Lista de acceso a la publicacin (PAL): Conceda acceso a las publicaciones mediante la PAL. La PAL funciona de forma similar a las listas de control de acceso de Microsoft Windows. Cuando un suscriptor se conecta al publicador o al distribuidor y solicita acceso a una publicacin, la informacin de autenticacin transferida por el agente se comprueba con la PAL.

83

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

CAPITULO 9 Diseo de una Base de Datos Relacional Distribuida

9.1 Operaciones Las consultas distribuidas obtienen acceso a datos de varios orgenes de datos homogneos o heterogneos. Estos orgenes de datos pueden estar almacenados en el mismo equipo o en equipos diferentes. Microsoft SQL Server admite consultas distribuidas utilizando OLE DB.

Los usuarios de SQL Server pueden utilizar consultas distribuidas para obtener acceso a lo siguiente: Datos distribuidos almacenados en varias instancias de SQL Server. Datos heterogneos almacenados en varios orgenes de datos relacionales y no relacionales a los que se obtiene acceso mediante un proveedor OLE DB.

Los proveedores OLE DB exponen datos en objetos tabulares denominados conjuntos de filas. SQL Server permite hacer referencia a conjuntos de filas desde proveedores OLE DB en instrucciones Transact-SQL como si fuesen tablas de SQL Server.

En las instrucciones SELECT, INSERT, UPDATE y DELETE de Transact-SQL, se puede hacer referencia directa a las tablas y vistas de orgenes de datos externos. Siempre que el software propietario de los datos los exponga en un conjunto de filas a travs del proveedor OLE DB, los datos se podrn usar en consultas distribuidas.

La siguiente imagen muestra las conexiones entre un equipo cliente, una instancia de SQL Server y un proveedor OLE DB.
84

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Vincular servidores: Una configuracin con servidores vinculados permite a SQL Server ejecutar comandos en orgenes de datos OLE DB situados en servidores remotos. Los servidores vinculados ofrecen las siguientes ventajas: Acceso al servidor remoto. Capacidad de ejecutar consultas distribuidas, actualizaciones, comandos y transacciones en orgenes de datos heterogneos en toda la organizacin. Capacidad de tratar diferentes orgenes de datos de manera similar.

Una definicin de servidor vinculado especifica los siguientes objetos: Un proveedor OLE DB Un origen de datos OLE DB

Un proveedor OLE DB es una biblioteca DLL que administra un origen de datos especfico e interacta con l. Un origen de datos OLE DB identifica la base datos especfica a la que se puede tener acceso mediante OLE DB. Aunque los orgenes de datos en los que se realizan consultas a travs de definiciones de servidores vinculados son bases de datos normales, existen proveedores OLE DB para una
85

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

amplia variedad de archivos y formatos de archivo. Se trata de archivos de texto, datos de hojas de clculo y los resultados de bsquedas de contenido de texto.

El proveedor OLE DB de MS SQL Server Native Client (PROGID: SQLNCLI10) es el proveedor OLE DB oficial para SQL Server.

En la siguiente ilustracin se muestran los conceptos bsicos de una configuracin con servidores vinculados.

Normalmente, los servidores vinculados se utilizan para tratar consultas distribuidas. Cuando una aplicacin cliente ejecuta una consulta distribuida mediante un servidor vinculado, SQL Server analiza el comando y enva peticiones a OLE DB. La peticin de conjuntos de filas se puede realizar como una consulta al proveedor o abriendo una tabla base del proveedor.

86

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Para que un origen de datos devuelva informacin mediante un servidor vinculado, el proveedor OLE DB (DLL) para ese origen de datos debe encontrarse en el mismo servidor que la instancia de SQL Server.

Cuando se utiliza un proveedor OLE DB de otro fabricante, la cuenta con la que se ejecuta el servicio de SQL Server debe tener permisos de lectura y ejecucin para el directorio y todos los subdirectorios en los que est instalado el proveedor. Administrar proveedores: Existe un conjunto de opciones para controlar cmo SQL Server carga y utiliza proveedores OLE DB que se hayan especificado en el registro. Para obtener ms informacin, vea Configurar proveedores OLE DB para consultas distribuidas.

Cuando configure un servidor vinculado, registre la informacin de la conexin y del origen de datos con SQL Server. Una vez realizado el registro, se puede hacer referencia a ese origen de datos con un nico nombre lgico. Puede utilizar procedimientos almacenados y vistas de catlogo para administrar definiciones de servidores vinculados: Cree una definicin de servidor vinculado ejecutando sp_addlinkedserver. Puede observar informacin acerca de los servidores vinculados definidos en una instancia especfica de SQL Server ejecutando una consulta en las vistas de catlogo del sistema sys.servers. Elimine una definicin de servidor vinculado ejecutando sp_dropserver. Tambin puede utilizar este procedimiento almacenado para quitar servidores remotos.

Tambin puede definir servidores vinculados mediante SQL Server Management Studio. En el Explorador de objetos, haga clic con el botn secundario en Objetos de servidor, seleccione Nuevo y, a continuacin, Servidor vinculado. Para eliminar una definicin de servidor vinculado, haga clic con el botn secundario en el nombre del servidor vinculado y seleccione Eliminar.

87

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Cuando ejecute una consulta distribuida en un servidor vinculado, incluya el nombre de cuatro partes completo de una tabla para cada origen de datos en el que desee realizar la consulta. Este nombre de cuatro partes debe tener el formato linked_server_name.catalog.schema.object_name.

Durante una conexin de servidores vinculados (por ejemplo, cuando se procesa una consulta distribuida), el servidor de envo proporciona un nombre de inicio de sesin y una contrasea para conectarse en su nombre al servidor de recepcin. Para que esta conexin funcione, debe crear una asignacin de inicio de sesin entre los servidores vinculados utilizando procedimientos almacenados del sistema de SQL Server.

9.2 Administracin

La administracin de servidores de MS SQL Server abarca una gran variedad de tareas de administracin.

En la mayor parte de los casos, no es necesario volver a configurar el servidor. La configuracin predeterminada de los componentes del servidor permite ejecutar MS SQL Server inmediatamente despus de instalarlo. No obstante, es necesaria la administracin de los servidores cuando se desea agregar servidores nuevos, establecer configuraciones especiales de servidores, cambiar las conexiones de red o establecer opciones de configuracin de servidores para mejorar el rendimiento de SQL Server.

Entre las tareas de administracin de MS SQL Server tenemos: Registrar servidores: Contiene informacin acerca del registro de los servicios de bases de datos de SQL Server. Operaciones administrativas simultneas: Abarca administrativas que se pueden realizar simultneamente. operaciones

Usar una conexin de administrador dedicada: Describe las conexiones de emergencia.


88

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

9.3 Alta Disponibilidad

MS SQL Server ofrece varias opciones para crear una alta disponibilidad para un servidor o una base de datos distribuida. Entre las opciones de alta disponibilidad figuran las siguientes: Agrupacin en clsteres de conmutacin por error: Una agrupacin en clsteres de conmutacin proporciona alta disponibilidad a una instancia completa de SQL Server. Un clster de conmutacin por error es una combinacin de uno o varios nodos, o servidores, con dos o ms discos compartidos. Las aplicaciones se instalan cada una en un grupo de clsteres de Servicios de Cluster Server de Microsoft (MSCS), conocido como grupo de recursos. En todo momento, cada grupo de recursos es propiedad de un nico nodo del clster. El servicio de aplicacin tiene un nombre virtual que es independiente de los nombres del nodo y al que nos referimos como nombre de instancia de clster de conmutacin por error. Una aplicacin puede conectarse con la instancia de clster de conmutacin por error si hace referencia al nombre de la misma. La aplicacin no necesita saber qu nodo aloja a la instancia de clster de conmutacin por error. Creacin de reflejo de la base de datos: La creacin de reflejo de la base de datos es bsicamente una solucin de software para aumentar la disponibilidad de la base de datos mediante una conmutacin por error casi inmediata. La creacin de reflejo de la base de datos puede utilizarse para mantener una sola base de datos en estado de espera, o base de datos reflejada, para una base de datos de produccin correspondiente a la que se conoce como base de datos principal. Replicacin: La replicacin utiliza un modelo de publicacin y suscripcin. Esto permite que un servidor principal, conocido como publicador, distribuya datos a uno o varios servidores secundarios, o suscriptores. Gracias a la replicacin, se puede obtener una disponibilidad y escalabilidad en tiempo real entre tales servidores. MS SQL Server ofrece tres tipos de replicacin: replicacin de instantneas, replicacin transaccional y replicacin de mezcla. La replicacin transaccional proporciona la latencia ms baja y es la que ms se suele utilizar por su alta disponibilidad. Bases de datos compartidas escalables: La caracterstica de base de datos compartida y escalable permite escalar una base de datos de slo lectura
89

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

construida exclusivamente para informes. La base de datos de informes debe residir en un conjunto de volmenes dedicados de slo lectura, cuyo fin principal es hospedar la base de datos. Mediante el uso de hardware estndar para servidores y volmenes, puede escalar una base de datos de informes para que proporcione la misma vista de los datos de los informes en varios servidores de informes. Esta caracterstica tambin proporciona una forma de actualizacin sencilla para la base de datos de informes.

9.4 Supervisin

MS SQL Server incluye un completo conjunto de herramientas para supervisar los eventos de SQL Server y para optimizar el diseo de la base de datos fsica. La eleccin de la herramienta depende del tipo de supervisin u optimizacin que se realice y de los eventos particulares que se supervisen.

A continuacin se describen las principales herramientas de supervisin y optimizacin de SQL Server: El SQL Server Profiler realiza un seguimiento de los eventos de procesos del motor, como el inicio de un lote o una transaccin, que permite supervisar la actividad del servidor y de la base de datos (por ejemplo, interbloqueos, errores irrecuperables o actividad de inicio de sesin). Puede capturar datos del SQL Server Profiler en un archivo o una tabla de SQL Server para su anlisis posterior y tambin reproducir paso a paso los eventos capturados en SQL Server, para ver qu sucedi exactamente. Supervisar el uso de recursos (Monitor de sistema): La funcin principal del Monitor de sistema es hacer un seguimiento del uso de los recursos, como el nmero de solicitudes de pgina del administrador de bfer activas, que permite supervisar el rendimiento y actividad del servidor mediante objetos y contadores predefinidos o contadores definidos por el usuario para supervisar eventos. Monitor de actividad (SQL Server Management Studio): El Monitor de actividad de SQL Server Management Studio muestra informacin grfica acerca de: o Los procesos que se ejecutan en una instancia de SQL Server.
90

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

o Los procesos bloqueados. o Bloqueos. o La actividad de los usuarios. Traza de SQL: Procedimientos almacenados de Transact-SQL que crean, filtran y definen trazas. Las marcas de traza muestran informacin acerca de una actividad especfica en el servidor para diagnosticar problemas o causas de bajo rendimiento (por ejemplo, cadenas de interbloqueos). Supervisar los registros de errores: El registro de sucesos de aplicacin de Windows proporciona una imagen global de los eventos que ocurren en todos los sistemas operativos Windows Server y Windows, as como de los eventos de SQL Server y la bsqueda de texto. Contiene informacin acerca de los eventos de SQL Server que no est disponible en ningn otro lugar. Puede utilizar la informacin del registro de errores para solucionar problemas relacionados con SQL Server.

9.5 Rendimiento

Para mejorar el rendimiento, MS SQL Server realiza los siguientes tipos de optimizacin especficos de las consultas distribuidas:

Ejecucin de consultas remotas utilizada con proveedores de comandos SQL de OLE DB. Se considera que un proveedor OLE DB es un proveedor de comandos SQL si cumple los siguientes requisitos mnimos: Admite el objeto Command y todas sus interfaces obligatorias. Admite la sintaxis DBPROPVAL SQL SUBMINIMUM o ISO de nivel de entrada o superior, u ODBC de nivel de ncleo o superior. El proveedor debe proporcionar este nivel de lenguaje mediante la propiedad DBPROP_SQLSUPPORT de OLE DB.

91

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Acceso indizado utilizado con proveedores de ndices de OLE DB. Se considera que un proveedor OLE DB es un proveedor de ndices si cumple los siguientes requisitos mnimos: Admite la interfaz IDBSchemaRowset con los conjuntos de filas de esquema TABLES, COLUMNS e INDEXES. Admite la apertura de un conjunto de filas en un ndice con IOpenRowset, especificando el nombre del ndice y el nombre de la tabla base correspondiente.

En la ejecucin de consultas remotas MS SQL Server intenta delegar la mayor parte posible de la evaluacin de una consulta distribuida en el proveedor de comandos SQL. De la consulta distribuida original se extrae una consulta SQL que slo tiene acceso a las tablas remotas almacenadas en el origen de datos del proveedor; esta consulta se ejecuta con el proveedor. Este comportamiento reduce el nmero de filas devueltas desde el proveedor y permite a ste utilizar sus ndices para evaluar la consulta.

La parte de la consulta distribuida original que se delega en el proveedor de comandos SQL se ve afectada por: El nivel de lenguaje que admite el proveedor de comandos SQL. La compatibilidad de intercalacin.

92

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Actividades Complementarias Ejecutar la Prctica de Laboratorio del curso Bases de Datos Distribuidas; para tal fin se ha estructurado una Gua de Laboratorio que permitir aplicar los conceptos de Bases de Datos Distribuidas para el anlisis de una situacin en un ambiente corporativo.

93

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 102070 - BASES DE DATOS DISTRIBUIDAS

Fuentes Documentales de la Unidad 3

Castao M. Piattini M. (1998). Fundamentos y Modelado de Base de Datos. Madrid: AlfaOmega S.A.

De Miguel A. Martnez P. (2001). Diseo de Bases de Datos: Problemas Resueltos. Madrid: RA-MA.

Microsoft MSDN Library.

94

Vous aimerez peut-être aussi