base de datos distribuida

23
República Bolivariana de Venezuela Instituto Universitario Politécnico “Santiago Mariño” Extensión Maturín Escuela: Ingeniería de Sistema Base de Datos Profesora : Bachilleres: Paola López

Upload: rogert-ramos

Post on 20-Nov-2015

217 views

Category:

Documents


1 download

DESCRIPTION

Base de Datos, Distribuida, Tipos.

TRANSCRIPT

Repblica Bolivariana de Venezuela

Instituto Universitario Politcnico

Santiago Mario

Extensin Maturn

Escuela: Ingeniera de Sistema

Base de DatosProfesora: Bachilleres:Paola Lpez

Rogert Ramos

Seccin G

Rondn Brigdelys

Maturn, Diciembre del 2014

INTRODUCCIN

Todo conjunto de datos, almacenado en gran cantidad, requiere de un sistema que gestione tanto el almacenamiento como el acceso a dicha informacin. Un SGBD (Sistema de Gestin de Base de Datos) es el encargado de sta tarea, y los hace de varias maneras diferentes. Desde la aparicin de los primeros SGBDs comerciales en la dcada de los 60 hasta la actualidad, se han sucedido tres generaciones distintas de SGBDs basadas en tres modelos de datos. Los tres modelos en los que se ha basado el desarrollo de las bases de datos son el jerrquico, en red y el de distribucin. El modelo jerrquico domin el mercado de los SGBDs hasta mediados de los 80. Durante este mismo perodo, surgi el modelo en red con el que se pretenda sustituir a los SGBDs jerrquicos, lo que no se consigui.Los datos en un sistema de la base de datos distribuida se almacenan a travs de varios sitios, y cada sitio es manejado tpicamente por un DBMS que pueda funcionar independiente de los otros sitios. La vista clsica de un sistema de la base de datos distribuida debe mostrar los datos distribuidos de forma transparente, dar la impresin de que los datos son locales. Los SGBDs jerrquicos son Modelos Lgicos basados en registros que se usan para describir datos en los niveles lgicos y de vista, se llaman as debido a que la base de datos se estructura en registro de formato fijo de diferentes tipos, en cada tipo de registro se define un nmero fijo de campos o atributos, y cada campo tiene normalmente una longitud fija. El uso de registros de longitud fija simplifica la implementacin en el nivel fsico de la base de datos. Esta simplicidad contrasta con muchos de los modelos basados en objetos.

A pesar de que los avances en el campo de los SGBDs han sido muy grandes y de que los SGBDs actuales proporcionan un rendimiento muy elevado, an estn lejos de satisfacer todas las demandas de las aplicaciones ms avanzadas. Siguen existiendo hoy en da numerosas reas cientficas e industriales, en las que los SGBDs relacionales estn escasamente introducidos. Muchos de estos campos exigen la manipulacin de nuevos tipos de informacin o suponen unos volmenes de datos de difcil manejo por los sistemas.BASE DE DATOS DISTRIBUIDA:Una base de datos distribuida (BDD) es un conjunto de mltiples bases de datos lgicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lgicos (ej. un servidor corriendo 2 mquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDD tienen la capacidad de realizar procesamiento autnomo, esto permite realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (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 acceder los datos en cualquier parte de la red exactamente como si estos fueran accedidos de forma local.

Una Base de Datos Distribuida es, una base de datos construida sobre una red computacional y no por el contrario en una mquina aislada. La informacin que constituye la base de datos esta almacenada en diferentes sitios en la red, y las aplicaciones que se ejecutan accesan datos en distintos sitios. Entonces es una coleccin de datos que pertenecen lgicamente a un slo sistema, pero se encuentra fsicamente esparcido en varios "sitios" de la red. Un sistema de base de datos distribuidos se compone de un conjunto de sitios, conectados entre s mediante algn tipo de red de comunicaciones, en el cual:

Cada sitio es un sistema de base de datos en s mismo, pero, Los sitios han convenido en trabajar juntos (si es necesario) con el fin de que un usuario de cualquier sitio pueda obtener acceso a los datos de cualquier punto de la red tal como si todos los datos estuvieran almacenados en el sitio propio del usuario.

En consecuencia, la llamada "base de datos distribuida" es en realidad una especie de objeto virtual, cuyas partes componentes se almacenan fsicamente en varias bases de datos "reales" distintas ubicadas en diferentes sitios. De hecho, es la unin lgica de esas bases de datos. En otras palabras, cada sitio tiene sus propias bases de datos "reales" locales, sus propios usuarios locales, sus propios DBMS y programas para la administracin de transacciones (incluyendo programas de bloqueo, bitcoras, recuperacin, entre otros), y su propio administrador local de comunicacin de datos (administrador DC). En particular un usuario dado puede realizar operaciones sobre los datos en su propio sitio local exactamente como si ese sitio no participara en absoluto en el sistema distribuido. As pues, el sistema de bases de datos distribuidas puede considerarse como una especie de sociedad entre los DBMS individuales locales de todos los sitios. Un nuevo componente de software en cada sitio (en el aspecto lgico, una extensin del DBMS local) realiza las funciones de sociedad necesarias; y es la combinacin de este nuevo componente y el DBMS ya existente lo que constituye el llamado "sistema de administracin de bases de datos distribuidas" (DDBMS, distributed database management system).Las BDD pueden ser:

Homogneas: Todos los sitios tienen el mismo SGBD, son conscientes de la existencia de los dems sitios y cooperan en el procesamiento de las solicitudes. Los sitios locales mantienen un mismo esquema y SGBD. Heterogneas: Cada sitio puede tener un SGBD distinto as como esquemas diferentes. Puede que algunos sitios no conozcan a otros. Puede que solo ofrezcan facilidades limitadas para la cooperacin en el procesamiento de transaccionesUn sistema de gestin de bases de datos distribuidas (SGBDD) es un Sistema de Gestin de bases de datos que gestiona la BD distribuida y esta cumple con la funcin de:

Accede a sitios remotos y transmite consultas y datos a travs de varios sitios mediante una red de comunicacin.

Almacena el esquema de distribucin y replicacin de los datos en el catlogo del sistema.

Establece las estrategias de ejecucin de las consultas y las transacciones que acceden a los datos en ms de un sitio.

Decide sobre cual copia de los datos replicados acceder.

Mantiene la consistencia de las copias de los datos replicados.

Realiza la recuperacin ante los fallos.Un sistema gestor distribuido est compuesto por un hardware y un software, donde:

Hardware: El hardware que compone una base de datos distribuida se reduce a servidores y la red. Software:

Sistema manejador de base de datos distribuida (DDBMS): Este sistema est formado por las transacciones y los administradores de la base de datos distribuidos. Un DDBMS implica un conjunto de programas que operan en diversas computadoras, estos programas pueden ser subsistemas de un nico DDBMS de un fabricante o podra consistir de una coleccin de programas de diferentes fuentes. Administrador de transacciones distribuidas (DTM): Este es un programa que recibe las solicitudes de procesamiento de los programas de consulta o transacciones y las traduce en acciones para los administradores de la base de datos. Los DTM se encargan de coordinar y controlar estas acciones. Este DTM puede ser propietario o desarrollado en casa.El manejador de transacciones es el encargado de definir la estructura de las transacciones, mantener la consistencia en la base de datos cuando se ejecuta una transaccin o se cancela la ejecucin de una, mantener protocolos de fiabilidad, implementar algoritmos para el control de la concurrencia y sincronizar las transacciones que se ejecutan simultneamente. El manejador recibe solicitudes de procesamiento de transacciones y las traduce en acciones para el calendarizador.

La operacin COMMIT seala el trmino exitoso de la transaccin: le dice al manejador de transacciones que se ha finalizado con xito una unidad lgica de trabajo, que la base de datos esta (o debera estar) de nuevo en un estado consistente, y que se pueden hacer permanentes todas las modificaciones efectuadas por esa unidad de trabajo.La operacin ROLLBACK, en cambio, seala el trmino no exitoso de la transaccin: le dice al manejador de transacciones que algo sali mal, que la base de datos podra estar en un estado inconsistente y que todas las modificaciones efectuadas hasta el momento por la unidad lgica de trabajo deben retroceder o anularse. Sistema manejador de base de datos (DBMS): Es un programa que procesa cierta porcin de la base de datos distribuida. Se encarga de recuperar y actualizar datos del usuario y generales de acuerdo con los comandos recibidos de los DTM. Nodo: Un nodo es una computadora que ejecuta un DTM o un DBM o ambos. Un nodo de transaccin ejecuta un DTM y un nodo de base de datos ejecuta un DBM.Una de las decisiones ms importantes que el diseador de bases de datos distribuidas debe tomar es el posicionamiento de la data en el sistema y el esquema bajo el cual lo desea hacer. Para esto existen cuatro alternativas principales: centralizada, replicada, fragmentada, e hbrida.

Centralizada: Es muy similar al modelo de Cliente/Servidor en el sentido que la BDD est centralizada en un lugar y los usuarios estn distribuidos. Este modelo solo brinda la ventaja de tener el procesamiento distribuido ya que en sentido de disponibilidad y fiabilidad de los datos no se gana nada. Replicadas: El esquema de BDD de replicacin consiste en que cada nodo debe tener su copia completa de la base de datos. Es fcil ver que este esquema tiene un alto costo en el almacenamiento de la informacin. Debido a que la actualizacin de los datos debe ser realizada en todas las copias, tambin tiene un alto costo de escritura, pero todo esto vale la pena si tenemos un sistema en el que se va a escribir pocas veces y leer muchas, y dnde la disponibilidad y fiabilidad de los datos sea de mxima importancia. Particionadas o fragmentadas: Este modelo consiste en que solo hay una copia de cada elemento, pero la informacin est distribuida a travs de los nodos. En cada nodo se aloja uno o ms fragmentos disjuntos de la base de datos. Como los fragmentos no se replican esto disminuye el costo de almacenamiento, pero tambin sacrifica la disponibilidad y fiabilidad de los datos. Algo que se debe tomar en cuenta cuando se desea implementar este modelo es la granularidad de la fragmentacin. La fragmentacin se puede realizar tambin de tres formas: Horizontal: Los fragmentos son subconjuntos de una tabla (anlogo a un restringir) Vertical: Los fragmentos son subconjuntos de los atributos con sus valores (anlogo a un proyectar) Mixto: Se almacenan fragmentos producto de restringir y proyectar una tabla.Para que una fragmentacin sea correcta esta debe cumplir con las siguientes reglas:

Debe ser Completa: Si una relacin R se fragmenta en R1, R2,, Rn, cada elemento de la data de R debe estar en algn Ri. Debe ser Reconstruible: Debe ser posible definir una operacin relacional que a partir de los fragmentos obtenga la relacin. Los fragmentos deben ser Disjuntos: Si la fragmentacin es horizontal entonces si un elemento e est en Ri este elemento no puede estar en ningn Rk (para k distinto a i). En el caso de fragmentacin vertical es necesario que se repitan las llaves primarias y esta condicin solo se debe cumplir para el conjunto de atributos que no son llave primaria. Hbrida: Este esquema simplemente representa la combinacin del esquema de particin y replicacin. Se particiona la relacin y a la vez los fragmentos estn selectivamente replicados a travs del sistema de BDD.En un sistema de bases de datos distribuidas, existen varios factores que deben tomar en consideracin que definen la arquitectura del sistema:

Distribucin: Los componentes del sistema estn localizados en la misma computadora o no. Heterogeneidad: Un sistema es heterogneo cuando existen en l componentes que se ejecutan en diversos sistemas operativos, de diferentes fuentes, etc. Autonoma: Se puede presentar en diferentes niveles, los cuales se describen a continuacin: Autonoma de diseo: Habilidad de un componente del sistema para decidir cuestiones relacionadas a su propio diseo. Autonoma de comunicacin: Habilidad de un componente del sistema para decidir cmo y cundo comunicarse con otros SGBD (Sistema Gestor de Bases de Datos). Autonoma de ejecucin: Habilidad de un componente del sistema para ejecutar operaciones locales como quiera.Al implementar una base de datos distribuida se tienen ciertos objetivos comunes:

Transparencia de ubicacin. Permite a los usuarios tener acceso a los datos sin que tenga conocimiento de la ubicacin de stos. Se puede conseguir este nivel de transparencia al utilizar los administradores de transacciones distribuidas, los cuales son capaces de determinar la localizacin de los datos y de emitir acciones a los calendarizadores apropiados, lo cual puede ejecutarse cuando los administradores de transacciones distribuidas poseen acceso a los directorios de localizaciones de los datos. Transparencia de duplicacin. Para que la transparencia de duplicacin sea posible, los administradores de transacciones deben traducir las solicitudes de procesamiento de transaccin en acciones para el administrador de datos. Para las lecturas el administrador de transacciones selecciona uno de los nodos que almacena los datos y ejecuta la lectura. Para optimizar el proceso, el administrador de transacciones necesita informacin sobre el rendimiento de varios nodos respecto al sitio de consulta, as podr seleccionar el nodo de mejor rendimiento. La actualizacin y escritura de datos duplicados suelen ser ms complicadas, ya que el manejador de transacciones debe emitir una accin de escritura para cada uno de los calendarizadores que almacena una copia de los datos. Transparencia de concurrencia. Cuando varias transacciones se ejecuten al mismo tiempo, los resultados de las transacciones no debern afectarse. La transparencia de concurrencia se logra si los resultados de todas las transacciones concurrentes son consistentes de manera lgica con los resultados que se habran obtenido si las transacciones se hubieran ejecutado una por una, en cualquier orden secuencial. Transparencia de fallas. Significa que a pesar de fallas las transacciones sean procesadas de un modo correcto. Frente a una falla, las transacciones deben ser atmicas, significa que se procesen todas o ninguna de ellas. Para este tipo de problemas es importante tener resguardo de la base de datos, y as poder restaurarla cuando sea conveniente. El sistema debe detectar cundo falla una localidad y tomar las medidas necesarias para recuperarse del fallo. El sistema no debe seguir utilizando la localidad que fall. Por ltimo, cuando se recupere o repare esta localidad, debe contarse con mecanismos para reintegrarla al sistema con el mnimo de complicaciones. Localidad del procesamiento. Los datos se deben distribuir lo ms cerca posible de las aplicaciones que los usan para maximizar la localidad del procesamiento, este principio responde a minimizar el acceso remoto a los datos. Disear una distribucin que maximice localidad del procesamiento puede hacerse aadiendo la cantidad de referencias locales y remotas correspondientes a cada fragmentacin candidata y asignar la fragmentacin eligiendo la mejor solucin. Independencia de configuracin. La independencia de configuracin permite aadir o reemplazar hardware sin tener que cambiar componentes de software existentes en el sistema de base de datos distribuida.

Ventajas de la BBD:Desventajas de la BBD

Refleja una estructura organizacional los fragmentos de la base de datos se ubican en los departamentos a los que tienen relacin.Complejidad Se debe asegurar que la base de datos sea transparente, se debe lidiar con varios sistemas diferentes que pueden presentar dificultades nicas. El diseo de la base de datos se tiene que trabajar tomando en cuenta su naturaleza distribuida, por lo cual no podemos pensar en hacer joins que afecten varios sistemas.

Autonoma local un departamento puede controlar los datos que le pertenecen.Economa la complejidad y la infraestructura necesaria implican que se necesitar una mayor mano de obra.

Disponibilidad un fallo en una parte del sistema solo afectar a un fragmento, en lugar de a toda la base de datos.Seguridad se debe trabajar en la seguridad de la infraestructura as como cada uno de los sistemas.

Rendimiento los datos generalmente se ubican cerca del sitio con mayor demanda, tambin los sistemas trabajan en paralelo, lo cual permite balancear la carga en los servidores.Integridad Se vuelve difcil mantener la integridad, aplicar las reglas de integridad a travs de la red puede ser muy caro en trminos de transmisin de datos.

Economa es ms barato crear una red de muchas computadoras pequeas, que tener una sola computadora muy poderosa.Falta de experiencia las bases de datos distribuidas es un campo relativamente nuevo y poco comn por lo cual no existe mucho personal con experiencia o conocimientos adecuados.

Modularidad se pueden modificar, agregar o quitar sistemas de la base de datos distribuida sin afectar a los dems sistemas (mdulos).Carencia de estndares an no existen herramientas o metodologas que ayuden a los usuarios a convertir un DBMS centralizado en un DBMS distribuido.

Ejemplo de Base de Datos Distribuida:

BASE DE DATOS JERRQUICA:

Una base de datos jerrquica consiste en una coleccin de segmentos (registro) que se conectan entre s por medio de enlaces. Cada segmento es una coleccin de campos (atributos), que contienen un solo valor cada uno de ellos. Un enlace es una asociacin o unin entre dos segmentos exclusivamente.Las caractersticas principales de implementar este modelo son:

Globalizacin de la informacin: permite a los diferentes usuarios considerar la informacin como un recurso corporativo que carece de dueos especficos. Eliminacin de informacin inconsistente: si existen dos o ms archivos con la misma informacin, los cambios que se hagan a stos debern hacerse a todas las copias del archivo de facturas. Permite compartir informacin Permite mantener la integridad en la informacin: la integridad de la informacin es una de sus cualidades altamente deseable y tiene por objetivo que slo se almacena la informacin correcta. Independencia de datos: el concepto de independencia de datos es quizs el que ms ha ayudado a la rpida proliferacin del desarrollo de Sistemas de Bases de Datos.

En este tipo de modelos la organizacin se establece en forma de rbol, donde la raz es un nodo ficticio. As tenemos que, una base de datos jerrquica es una coleccin de rboles. El contenido de un registro especfico puede repetirse en varios sitios (en el mismo rbol o en varios rboles).

Los Segmentos se clasifican en tres tipos:

Padre: Es aquel que tiene descendientes (hijos) todos localizados al mismo nivel. Hijo: Es aquel que depende de un segmento anterior, todos los hijos del mismo padre tendrn que estar localizados en el mismo nivel Segmento Raz: Es el nico segmento que no tiene padre, es el antecesor de todos, y es el segmento de mayor nivel, es decir est en el nivel superior del rbol.

Segmento Raz:

Segmento Padre:

Segmento Hijo:

Los elementos de base del Modelo Jerarquizado son registros lgicos que se unen entre s, mediante punteros, para construir un rbol valorado. Como rbol valorado se entiende que es aquel rbol cuyos nodos son tipos de registros lgicos y a la vez estn valorados. Una rbol valorado tiene una estructura puramente de rboles n-arios, y mantiene las estructuras y limitaciones de ste; un conjunto de registros y enlaces donde existe una nica raz (distinguido por ser el nico que no recibe ninguna flecha), desde la que se desprenden los dems registros. Como enlaces se representan a los punteros (apuntadores a direcciones fsicas) que apuntan a registros que contienen informacin relacionada jerrquicamente con otra. Los enlaces son asociaciones entre exactamente dos registros. Cada registro padre, puede tener muchos hijos, y cada hijo puede tener un solo padre. No hay enlaces entre hermanos (como hermanos entendemos dos registros hijos de un mismo padre, aunque hay otros tipos de implementacin que s los permiten).

Vnculos virtuales padre - hijo

En la relacin Padre-hijo: El hijo slo puede tener un padre pero un padre puede tener mltiples hijos. Los padres e hijos son atados juntos por eslabones "indicadores" llamados. Un padre tendr una lista de indicadores de cada uno de sus hijos. El modelo jerrquico tiene problemas cuando se modelan ciertos tipos de vnculos. Entre ellos estn los siguientes vnculos y situaciones:

Vnculos M:N.

El caso en que un tipo de registro participa como hijo en ms de un tipo de VPH.

Vnculos n-arios con ms de dos de registros participantes.

Restricciones del modelo de datos Jerrquico:

Si ningn registro est relacionada con una ocurrencia de registro padre, con excepcin de los registros raz, no puede existir.

No puede existir un registro hijo si no est enlazado con un registro padre.

El registro hijo tiene que duplicarse si este tiene dos o ms registros padres.

Un registro hijo se puede eliminar independientemente de su padre; pero la eliminacin de un padre causa automticamente la eliminacin de todos sus registros hijos y descendientes

Si el registro hijo tiene dos o ms padres, este slo puede tener uno real; todos los dems tienen que ser virtuales.Ventajas:Desventajas:

Un rbol con todo su entrerramado de relaciones, en el que la conexin es fija y slo puede ser cambiada modificando una porcin de cdigo, suministra, sin embargo, la ventaja de que la navegacin se realiza de una forma muy rpida.Puede dar lugar a la consistencia de los datos cuando se llevan a cabo actualizaciones.

Es fcil de ver la estructura de la base de datos.Resulta inevitable el desaprovechamiento de espacio.

Su implementacin es sencilla y rpida de implantar.La extraccin de la informacin de una unidad que se encuentra varios niveles abajo requiere navegar por un camino a travs de las unidades y sus relaciones hasta llegar a ella.

Se puede predefinir relaciones, lo que simplifica las variaciones a futuroPresenta la desventaja de que es necesario un conocimiento en profundidad de las unidades de informacin y de sus relaciones entre s. Adicionalmente, combinar la informacin de unidades que residen en ramas muy separadas de la estructura arbrea es una tarea que consume tiempo y esfuerzo.

Las operaciones de insertar y borrar son complejas.

Las relaciones Nodo a Nodo pueden ser implementadas de una forma no muy eficiente, pues para hacerlo se genera redundancia.

Ejemplo de Base de Datos Jerrquica:

CUADRO COMPARATIVO DE LA BASE DE DATOS DISTRIBUIDA Y LA JERARQUICA

BASE DE DATOS DISTRIBUIDABASE DE DATOS JERRQUICA

Transparencia en la Distribucin:

Localizacin de los datos es un aspecto adicional de independencia de datosFueron los primeros en aparecer.

Replicacin de Datos:

Copias mltiples de datos que incrementa la localidad y la disponibilidad de datosSe puede visualizar como una estructura en rbol.

No hay estructuras intersitios. Uso de optimizacin global para reducir transferencia de datosSon bastante rgidas. Una vez diseada la base de datos, es complejo cambiarla y, adems, es necesario un conocimiento amplio de la forma en la que se han almacenado los datos para poder recuperarlos de forma efectiva.

Problemas de seguridad intrnsecosDominaron el mercado en sus comienzos

Han ido decayendo y actualmente no se encuentran en el mercado.

CONCLUSINEn el futuro la mayora de las organizaciones cambiarn la forma convencional de manejo de la informacin a la arquitectura de base de datos a las ventajas derivadas de su uso. El uso de las bases de datos distribuidas se incrementar de manera considerable en la medida en que la tecnologa de comunicacin de datos brinde ms facilidades para ello. El uso de bases de datos facilitar y soportar en gran medida a los Sistemas de Informacin para la Toma de Decisiones.Las bases de datos jerrquicas pierden simplicidad a medida que el factor volumen de la informacin va tomando magnitud de cantidad. El Modelo jerrquico es una simple versin de una base de datos con formato de rbol n-ario, sirve y funciona muy bien en sistemas que en el mundo real slo poseen entidades que no se relacionan de otra forma que 1 a N, es decir que ste tipo de sistemas estn seriamente limitados en cuanto a su adaptacin natural mediante las diferentes inclinaciones que deberan tener sus componentes. Este no es el objetivo de una base de datos (Limitar un sistema en cuanto su adaptacin con el medio), es por eso que ste tipo de modelo no es conveniente para modelar un sistema de grandes volmenes de informacin que adems se encuentran en una muy estrecha relacin con el medio en que se desenvuelven.

Una base de datos distribuidos permite compartir datos alrededor de una red. Su importancia radica en que permite descentralizar datos acumulados en un solo servidor en especfico. Se da como una solucin a la globalizacin de mercados, agilizacin y eficiencia de acceso, disponibilidad, autonoma local, y econmicamente ms barato. Funciona mediante fragmentacin de datos, la seleccin de lugar fsico de almacenamiento y el almacenamiento mismo de las bases de datos.A

A

A

A

A