Fundamentos Bases de Datos Distribuidas

Click here to load reader

download Fundamentos Bases de Datos Distribuidas

of 20

description

fundamentos base datos

Transcript of Fundamentos Bases de Datos Distribuidas

FUNDAMENTOS BASES DE DATOS DISTRIBUIDAS

CONCEPTOS BASICOS

FUNDAMENTOS BASES DE DATOS DISTRIBUIDASDEFINICION DE BASE DE DATOS DISTRIBUIDASEs 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 distribuidas se compone de un conjunto de sitios, conectados entre s mediante algn tipo de red de comunicacionesEn el cual :

1. cada sitio es un sistema de base de datos en s mismo, pero

2. 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.

El procesamiento de bases de datos distribuidas esel procesoen el cual la ejecucin de transacciones y la recuperacin y actualizacin de los datos acontece a travs de dos o ms computadoras independientes, por lo general separadas geogrficamente.

Las Bases de Datos Distribuidas , no son simplemente implementaciones distribuidas de bases de datos centralizadas, por que ellas permiten el diseo de sistemas que representan diferentes caractersticas de las tradicionales, de sistemas centralizados. Esto es por lo tanto til para ver las caractersticas tpicas de BDD. Los rasgos que caracterizan las BD tradicionales se aproximan al control centralizado, independencia de datos, reduccin de redundancia, estructuras fsicas complejas para acceso eficiente, integridad, recuperacin control de concurrencia, privacidad y seguridad.

Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes:Hay mltiples computadores, llamados sitios o nodos.Estos sitios deben de estar comunicados por medio de algn tipo de red de comunicaciones para transmitir datos y rdenes entre los sitios

OBJETIVOS DE LAS B.D.DTransparencia de ubicacin.Permite a los usuarios tener acceso a los datos sin que tenga conocimiento de la ubicacin de stos.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.Transparencia de concurrencia.Cuando varias transacciones se ejecuten al mismo tiempo, los resultados de las transacciones no debern afectarse.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.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.Particionado de la Base de Datos.La base de datos se distribuye de modo que no haya solapamiento o duplicacin de los datos mantenidos en las diferentes localidades, como no hay duplicaciones de los datos, se evitan los costos asociados con el almacenamiento y mantenimiento de datos redundantes.Fragmentacin de datos.Consiste en subdividir las relaciones y distribuirlas entre los sitios de la red, tiene como objetivo buscar formas alternativas de dividir una las instancias de relaciones en otras ms pequeas

Objetivos Bases de Datos Distribuidas1) Lograr Mayor Seguridad

2) Conseguir Minimizar Costos

3) Evitar concurrencia

4) Aumentar ProductividadDisciplinas Estudio Bases de Datos DistribuidasComo principales disciplinas de estudio para conocer las bases de datos tenemos las siguientes:

A) INGENIERIA: Para conocer como se desarrollan y que forma tendrn para implementarse

B) ALGEBRA: Buscando establecer relaciones en base a funciones algebraicas

C) BASES DE DATOS: Buscando un adecuado funcionamiento de acuerdo a los principios de estas

D) REDES: Implementado en adecuado sistema para su funcionamiento sin concurrencia

Arquitetura Bases de Datos DistribudasEn esta parte ser de gran utilidad establecer y dejar en claro como ser la comunicacin entre la base de datos para que cuando se implemente en las dems sedes no se tenga que volver a organizar.Es de vital importancia dejar claro como ser la interaccin entre el cliente-servidor para que al guardar datos o hacer los diferente tipos de operaciones no se duplique la informacin y se tenga la certeza de obtener datos realesPara esto definiremos 3 niveles que son:1. Nivel interno: es el nivel ms bajo de abstraccin, y define cmo se almacenan los datos en el soporte fsico, as como los mtodos de acceso.

2. Nivel conceptual: es el nivel medio de abstraccin. Se trata de la representacin de los datos realizada por la organizacin, que recoge las vistas parciales de los requerimientos de los diferentes usuarios y las aplicaciones posibles. Se configura como visin organizativa total, e incluye la definicin de datos y las relaciones entre ellos.

3. Nivel externo: es el nivel de mayor abstraccin. A este nivel corresponden las diferentes vistas parciales que tienen de la base de datos los diferentes usuarios. En cierto modo, es la parte del modelo conceptual a la que tienen acceso.

Ejemplo de una BDD

CUADRO COMPARATIVO ENTRE BASE DE DATOS DISTRIBUIDAS Y CENTRALIZADAS

El modelo cliente - servidor

El modelo cliente-servidor (client-server), describe el proceso de interaccin entre la computadora local (el cliente) y la remota (el servidor). El cliente le hace peticiones (requests, solicitudes, requerimientos) al servidor, el cual procesa dicho requerimiento y retorna los resultados al cliente apropiado.Por lo general, los clientes y los servidores se comunican entre s a travs de una red, pero tambin pueden residir ambos en un mismo sistema (el mismo hardware). Siguen este modelo de cliente/servidor servicios como el intercambio de emails, el acceso a webs, el acceso a bases de datos, y muchos otros protocolos de internet se basan en esta idea (HTTP, SMTP, Telnet, DNS), etc. Caractersticas del modelo cliente/servidorLa mquina que sirve como servidor (host) es la que tiene en ejecucin programas de servidor que contestan los requerimientos de los clientes. Por lo general los clientes inician la sesin de comunicacin, mientras que los servidores esperan la llegada de solicitudes. La interaccin entre cliente y servidor es generalmente representada empleando diagramas de secuencia (estandarizados en UML).En contraste, la arquitectura P2P (peer-to-peer), cada host o instancia de programa puede ser simultaneamente tanto cliente como servidor, y cada uno tener sus propias responsabilidades y estado

Ventajas y desventajas del modelo cliente/servidorVentajas: * Centralizacin del control de los recursos, datos y accesos. * Facilidad de mantenimiento y actualizacin del lado del servidor: Esto es porque el lado del servidor se puede mantener o actualizar fcilmente. Por ejemplo, una actualizacin se aplica a un nico servidor, pero los beneficios los obtienen mltiples clientes generalmente sin necesidad de que stos actualicen nada. * Toda la informacin es almacenada en el lado del servidor, que suele tener mayor seguridad que los clientes. * Hay muchas herramientas cliente-servidor probadas, seguras y amigables para usar. Desventajas: * Si el nmero de clientes simultneos es elevado, el servidor puede saturarse. Esto sucede con menor frecuencia en las redes P2P.* Frente a fallas del lado del servidor, el servicio queda paralizado para los clientes. Algo que no sucede en una red P2PEl modelo de aplicacin cliente/servidor

Algunos servidores esperan las solicitudes en puertos bien conocidos de modo que sus clientes saben a que zcalo IP deben dirigir sus peticiones. El cliente emplea un puerto arbitrario para comunicarse. Los clientes que se quieren comunicar con un servidor que no usa un puerto bien conocido tienen otro mecanismo para saber a qu puerto dirigirse. Este mecanismo podra usar un servicio de registro como Portmap, que utiliza un puerto bien conocido.