Sei sulla pagina 1di 20

Nombre : MONZERRAT POTRERO, SAMUEL AYALA VELASCO No.Control No.

Asignado Hora de clase Fecha de tarea

SOLS

GMEZ,

DAVID

OLIVO

: 10220365, 10220342, 10220290 : EQUIPO 2 11:00-12:00 M

: 11:00-13:00M-V : 20-FEBRERO-2013

FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

1.1.

Conceptos bsicos.

Las bases de datos distribuidas surgen a partir de la necesidad de poder almacenar y administrar informacin en cada rea geogrfica, tener una red de computo en cada una de ellas, y poder compartir dicha informacin de manera transparente a todos y cada uno de los usuarios de las redes, formando a si una gigantesca base de datos distribuida. En las bases de datos distribuidas es posible identificar una estructura de control jerrquico basado en un Administrador global de bases de datos, el cual tiene la principal responsabilidad de la totalidad de la base de datos, y el Administrador local de bases de datos, quien tiene la responsabilidad de su respectiva base de datos local. En las bases de datos distribuidas, se tienen varias razones para considerar la redundancia de los datos como una caracterstica necesaria: primero, las aplicaciones pueden verse favorecidas si los datos son replicados en todos los sitios donde la aplicacin las necesita, y segundo, la razn de disponibilidad del sistema puede incrementarse por este medio, debido a que si el sitio en el que se encuentran los datos fallara, la ejecucin de la aplicacin no se detiene porque existe una copia en algn otro sitio.

1.2.

Objetivos de las B.D.D.

Principio fundamental de los sistemas distribuidos en general, y por tanto es aplicable a las bases de datos distribuidas: Desde el punto de vista del usuario, un sistema distribuido deber ser idntico a un sistema no distribuido. Esto quiere decir que, los usuarios de un sistema distribuido debern comportarse exactamente como si el sistema no estuviera distribuido. Al principio fundamental antes mencionado se le conoce como el "objetivo o regla cero" de los sistemas distribuidos. Existen doce reglas u objetivos ms, las cuales norman la existencia de un sistema distribuido y en este caso, de una base de datos distribuida. Dichos sistemas debern apegarse a ellas, en la medida, en que el diseo y la tecnologa lo permitan, tales reglas son: 1) Autonoma local. Los sitios de un sistema distribuido debern ser autnomos. La autonoma local significa que todas las operaciones en un sitio se controlan en ese sitio; ningn sitio deber depender de algn otro sitio para su buen funcionamiento. La autonoma local implica tambin un propietario y una administracin local de los datos, con responsabilidad local: todos los datos pertenecen a una base de datos local, aunque -sean accesibles para algn sitio remoto. Por tanto, la seguridad, integridad y representacin en almacenamiento de los datos locales permanecen bajo el control del sitio local. 2) No dependencia de un sitio central. La autonoma local implica que todos los sitios deben tratarse igual; no debe haber dependencia de un sitio central maestro para obtener un servicio central. La no dependencia de un sitio central es deseable por s misma, an si no se logra la autonoma local completa.

La dependencia de un sitio central seria indeseable al menos por dos razones: primero, el sitio central podra ser un cuello de botella; 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 como en uno no distribuido, lo ideal sera que nunca hubiera la necesidad de apagar el sistema a propsito. Es decir, el sistema nunca deber necesitar apagarse para que se pueda realizar alguna funcin, como actualizar el DBMS de un sitio existente o aadir un nuevo sitio. 4) Dependencia (o Transparencia) con respecto a la localizacin. La idea bsica de la independencia con respecto a la localizacin es simple; no debe ser necesario que los usuarios sepan dnde estn almacenados fsicamente los datos, sino que ms bien deben comportarse (al menos desde el punto de vista lgico) como si todos los datos estuvieran almacenados en su propio sitio local. La independencia con respecto a la localizacin hace posible la migracin de datos de un sitio a otro sin anular la validez de ningn programa o actividad. Esta posibilidad de migracin es deseable porque permite modificar la distribucin de los datos dentro de la red en respuesta a cambios en las necesidades del desempeo. 5) Independencia con respecto a la fragmentacin. Un sistema maneja fragmentacin de los datos 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 locales y se reduzca el trfico de la red. Existen en esencia dos clases de fragmentacin, horizontal y vertical. Un fragmento puede ser cualquier subrelacin arbitraria que pueda generarse de la relacin original mediante ciertas operaciones. Un sistema que maneja la fragmentacin de los datos deber ofrecer tambin una independencia con respecto a la fragmentacin (transparencia de fragmentacin); es decir, las bases de datos distribuidas debern poder comportarse (desde el punto de vista lgico) como si los datos no estuvieran fragmentados en realidad. 6) Independencia de rplica.

Un sistema maneja rplica de datos si una relacin dada (o, un fragmento dado de una relacin) se puede representar en el nivel fsico mediante varias copias almacenadas o rplicas, en muchos sitios distintos. La rplica es deseable al menos por dos razones: primero, 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. La desventaja principal de las rplicas es la actualizacin, ya que cuando se actualiza un objeto copiado, deben de ser actualizadas todas las rplicas de este objeto: esto es, el problema de la propagacin de actualizaciones. La rplica, como la fragmentacin, debe ser transparente al usuario. En otras palabras, la base de datos deber comportarse como si solo existiera una sola copia de los datos. 7) Procesamiento distribuido de las consultas. La optimizacin es todava 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 para satisfacer la solicitud y es crucial encontrar una estrategia eficiente. Por ejemplo, una solicitud de unin de una relacin Rx almacenada en el sitio X y una relacin Ry almacenada en un sitio Y podra llevarse a cabo trasladando Rx a Y o trasladando Ry a X, o trasladando las dos a un tercer sitio Z. As, la importancia crucial de la optimizacin es obvia, y esto a su vez puede verse como otra razn ms por la cual los sistemas distribuidos siempre son relacinales (pues las solicitudes relacinales son optimizables). 8) Manejo distribuido de transacciones. El manejo de transacciones tiene dos aspectos principales, el control de recuperacin y el control de concurrencia. En un sistema distribuido, una sola transaccin puede implicar la ejecucin de cdigo en vados sitios. Por tanto, se dice que cada transaccin est compuesta de varios agentes, donde un agente es el proceso ejecutado en nombre de una transaccin dada en un sitio determinado. Y el sistema requiere saber cundo dos agentes son parte de la misma transaccin; por ejemplo, es obvio que no puede permitirse un bloqueo mutuo entre dos agentes que sean de la misma transaccin. Para asegurar que una transaccin dada sea atmica en el ambiente distribuido, el sistema debe asegurarse de que todos los agentes correspondientes a esa

transaccin se comprometan al unsono o retrocedan al unsono, Este efecto puede lograrse mediante el protocolo de compromiso de dos fases. 9) Independencia con respecto al equipo. Las instalaciones de cmputo en el mundo real por lo regular incluyen varias mquinas diferentes y existe una verdadera necesidad de poder integrar los datos en todos esos sistemas y presentar al usuario una sola imagen del sistema. 10) Independencia con respecto al sistema operativo. Este objetivo es en parte un corolario del anterior. Resulta obvia la consecuencia no slo de poder ejecutar el mismo DBMS en diferentes equipos, sino tambin de poder ejecutarlo en diferentes sistemas operativos (aun en diferentes sistemas operativos del mismo equipo). 11) Independencia con respecto a la red. Si el sistema ha de poder manejar mltiples sitios diferentes, con equipo distinto y diferentes sistemas operativos, resulta obvia la conveniencia de poder manejar tambin varias redes de comunicacin distinta. 12) Independencia con respecto al sistema manejador de base de datos (DBMS). En realidad no se requiere sino que los DBMS en los diferentes sitios manejen todos la misma interfaz; no necesitan ser por fuerza copias del mismo sistema. Por ejemplo, si tanto INGRES como ORACLE manejaran nicamente el estndar de SQL (ambos lo manejan pero cada uno tiene caractersticas propias que los hacen prcticamente incompatibles), podra ser posible lograr una comunicacin entre los dos en el contexto de un sistema distribuido. Dicho de otro modo, el sistema distribuido podra ser heterogneo, al menos en cierto grado. Una vez ms, en la realidad las instalaciones de cmputo no solo suelen emplear mquinas distintas, varios sistemas operativos diferentes, sino tambin ejecutan diferentes DBMS; y seria agradable que todos esos DBMS distintos pudieran participar de alguna manera en un sistema distribuido.

1.3. Disciplinas de estudio.

Son las aplicaciones ms usuales para la gestin de empresas e instituciones pblicas. Tambin son ampliamente utilizadas en entornos cientficos con el objeto de almacenar la informacin experimental. Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de varios pases. Las principales disciplinas de estudio para conocer las bases son las siguientes: A) INGENIERIA: Para conocer cono se desarrollan y que forma tendrn para implementarse B) ALGEBRA: Busca establecer relaciones en base a funciones algebraicas C) BASES DE DATOS: Buscan un adecuado funcionamiento de acuerdo a los principios de estas. D) REDES: Implementado en adecuado sistema para su funcionamiento sin concurrencia E) Cualquier organizacin que tiene una estructura descentralizada. F) La industria de la manufactura, particularmente, aquella con plantas mltiples. Por ejemplo, la industria automotriz. G) Aplicaciones de control y comando militar. H) Lneas de transportacin area. I) Cadenas hoteleras. J) Servicios bancarios y financieros.

SISTEMAS DISTRIBUIDOS. Un sistema distribuido se define como un conjunto de computadoras autnomas que se encuentran conectadas por una red, con el software distribuido adecuado para que el sistema sea captado por los usuarios como una nica entidad, Se establece la comunicacin mediante un protocolo prefijado por un esquema "cliente-servidor".

CARACTERSTICAS. Concurrencia. Esta caracterstica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultneamente por los usuarios y/o agentes que interactan en la red.

Fallos independientes de los componentes. Cada componente del sistema puede llegar a fallar independientemente, con lo cual los dems pueden continuar ejecutando sus

acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en conjunto continua trabajando.

Escalabilidad. Los sistemas distribuidos operan de manera efectiva y eficiente a muchas escalas diferentes. La escala ms pequea consiste en dos estaciones de trabajo y un servidor de ficheros, mientras que un sistema distribuido construido alrededor de una red de rea local simple podra contener varios cientos de estaciones de trabajo, varios servidores de ficheros, servidores de impresin y otros servidores de propsito.

Transparencia. La transparencia se define como la ocultacin al usuario y al programador de aplicaciones de la separacin de los componentes de un sistema distribuido, de manera que el sistema se percibe como un todo, en vez de una coleccin de componentes independientes. La transparencia ejerce una gran influencia en el diseo del software de sistema.

Base de Datos Paralelas De forma general el concepto de paralelismo en las bases de datos lo podramos definir como la particin de la base de datos (normalmente a nivel de relaciones) para poder procesar de forma paralela en distintos discos y con distintos procesadores una sola operacin sobre la base de datos. Los sistemas paralelos de base de datos constan de varios procesadores y varios discos conectados a travs de una red de interconexin de alta velocidad Se utilizan para proporcionar velocidad, para que las consultas se ejecutan ms rpido.

El objetivo del paralelismo en los sistemas de bases de datos suele ser asegurar que la ejecucin del sistema continuar realizndose a una velocidad aceptable, incluso en el caso de que aumente el tamao de la base de datos o el nmero de transacciones (ampliabilidad).

Memoria compartida. Todos los procesadores comparten una memoria comn.

Disco compartido. Todos los procesadores comparten un disco comn.

Sin compartimiento. Los procesadores no comparten ni memoria ni disco.

Para medir el rendimiento de los sistemas de base de datos existen 2 medidas principales: La productividad (throughput) que se entiende como el nmero de tareas que pueden completarse en un intervalo de tiempo determinado.

El tiempo de respuesta (response time) que es la cantidad de tiempo que necesita para completar una nica tarea a partir del momento en que se enve. Un sistema que procese un gran nmero de pequeas transacciones puede mejorar su productividad realizando muchas transacciones en paralelo. Un sistema que procese transacciones ms largas puede mejorar tanto su productividad como sus tiempos de respuesta realizando en paralelo cada una de las subtareas de cada transaccin.

Paralelismo de E/S Objetivo: Reducir el tiempo necesario para recuperar relaciones del disco Divisin de informacin: Divisin horizontal Estrategias de Divisin Turno Rotario: i-sima tupla se enva al Di mod n , donde n: cantidad de discos Provee una distribucin homogneo

Divisin por Asociacin: Cada tupla se asocia en trminos de los atributos de asociacin Funcin de asociacin: fx(tupla) = i, donde i: ndice del disco al que ser enviado

Divisin por Rangos Distribuye rangos contiguos de valores Se escoge atributo de la relacin como vector de divisin

Tipos de acceso a datos Exploracin de la relacin: devuelve la relacin completa Consultas concretas: devuelve tuplas con un valor concreto en un atributo Consultas de rango: devuelve tuplas cuyo valor de atributo se encuentre dentro de un rango especificado

Comparacin de tcnicas de divisin

Paralelismo entre Consultas Ejecutar paralelamente diferentes consultas o transacciones Tiempo de respuesta de cada transaccin no disminuye Mejora: Ejecutar mayor nmero de transacciones en paralelo Tiempo de respuesta global disminuye Implementacin: FCIL en sistemas paralelos de memoria compartida DIFCIL en sistemas paralelos de discos compartidos o sin compartimiento

Necesario: Asegurar que dos procesadores no actualicen simultneamente los mismos datos, y que recuperen la informacin ms actual Problema de Coherencia de Cach Se integra al control de concurrencia Protocolo Tx bloquean pgina de disco antes de leer o escribir Tx enva pgina modificada al disco compartido antes de desbloquear

Paralelismo entre Operaciones Paralelismo de Direccin Encauzamiento o Direccin : Resultados de operacin A son procesadas por operacin B antes de que A termine y devuelva el resultado completo. Paralelismo + Encauzamiento o Direccin: ejecucin paralela de A y B en procesadores diferentes Adecuado para un n pequeo de procesadores, no es fcilmente extensible. Paralelismo Independiente

Expresiones de consultas independientes se ejecutan en paralelo Tampoco proporciona una alto grado de paralelismo

Ordenacin en paralelo Ordenacin con divisin por rangos

Redistribuir la relacin como si fuese una divisin por rangos (sobre carga de E/S de discos y comuniaciones) Cada procesador ordena localmente las tuplas (paralelismo de datos)

Merge Sort externo paralelo Cada procesador ordena localmente las tuplas Las partes ordenadas de cada procesador se mezclan Partes ordenadas de cada procesador se dividen en rangos Cada procesador recibe las tuplas de manera ordenada y las mezcla para obtener una sola parte ordenada Las partes odenadas de cada procesador se concatenan

Reunin paralela

Reunin por divisin

Se muestra la divisin utilizada en una reunin por divisin paralela.

Reunin paralela

Reunin con fragmentos y rplicas

SISTEMA CLIENTE-SERVIDOR Es una forma de dividir y especializar programas y equipos de cmputo de forma que la tarea que cada uno de ellos realiza se efecta con la mayor eficiencia posible y permita simplificar las actualizaciones y mantenimiento del sistema

Las computadoras que procesan programas de aplicaciones se conocen como clientes y las que procesan bases de datos se conocen como servidor.

Un ambiente computacional basado en una red (LAN o WAN) en la que un servidor central de base de datos, o un motor o dispositivo, maneja todos los comandos de base de datos enviados a l desde las estaciones de trabajo cliente, y aplicaciones de programas en cada cliente concentran las funciones de interfaz con el usuario.

Esta arquitectura le asigna al cliente toda la funcionalidad: la presentacin y la lgica, a excepcin de los datos, los cuales son repartidos entre el cliente y el servidor; esto permite una ubicacin ptima de los datos. Aparece el concepto de particionamiento vertical y horizontal de los datos.

MOTOR DE BASE DE DATOS La parte (back-end) del sistema de base de datos cliente/servidor que se encuentra en el servidor y provee el procesamiento de la base de datos y comparte las funciones de acceso.

Funciones del cliente: Administrar la interfaz de usuario. Aceptar datos del usuario. Procesar la lgica de la aplicacin. Generar las solicitudes para la base de datos. Trasmitir las solicitudes de la base de datos al servidor. Recibir los resultados del servidor. Dar formatos a los resultados.

Funciones del servidor: Aceptar las solicitudes de la base de datos de los clientes. Procesar las solicitudes de los clientes. Dar formato a los resultados y trasmitirlos al cliente. Llevar a cabo la verificacin de integridad. Mantener los datos generales de la base de datos. Proporcionar control de acceso concurrente. Llevar a cabo la recuperacin. Optimizar el procesamiento de consulta/actualizacin.

CARACTERISTICAS
Protocolos asimtricos: hay una relacin muchos a uno entre los clientes y un servidor. Los Clientes siempre inician un dilogo mediante la solicitud de un servicio. Los Servidores esperan pasivamente por las solicitudes de los clientes.

Encapsulacin de servicios: El servidor es un especialista, cuando se le entrega un mensaje solicitando un servicio, l determina cmo conseguir hacer el trabajo. Los servidores se pueden actualizar sin afectar a los clientes en tanto que la interfaz pblica de mensajes que se utilice por ambos lados, permanezca sin cambiar. Integridad: el cdigo y los datos de un servidor se mantienen centralizados, lo que origina que el mantenimiento sea ms barato y la proteccin de la integridad de datos compartidos. Al mismo tiempo, los clientes mantienen su independencia y personalidad

Potrebbero piacerti anche