Sei sulla pagina 1di 19

BASE DE DATOS DRISTRIBUIDAS

OSMAR CARMONA HERNAN DARIO SABOGAL M LILIANA ANDREA TORRES PEREZ

FUNDACION TECNOLOGICA AUTONOMA DEL PACIFICO INGENIERIA DE SISTEMAS SANTIAGO DE CALI 2010

BASE DE DATOS DISTRIBUIDOS

OSMAR CARMONA HERNAN DARIO SABOGAL M LILIANA ANDREA TORRES PEREZ

PROFESOR: LUIS H. ZAFRA INGENIERO DE SISTEMAS

FUNDACION TECNOLOGICA AUTONOMA DEL PACIFICO INGENIERIA DE SISTEMAS SANTIAGO DE CALI 2010

INTRODUCCION

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 (por ejemplo un servidor corriendo 2 maquinas 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. Un sistema distribuido de bases de datos se almacena en varias computadoras. 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.

OBJETIVO

Conocer la historia, la evolucin, el funcionamiento de las bases de datos distribuidas sus diferentes fabricantes, sus versiones libres e identificar como y donde implementarlo.

HISTORIA

La necesidad de almacenar datos de forma masiva dio paso a la creacin de los sistemas de bases de datos. En 1970 Edgar Frank Codd escribi un artculo con nombre: "A Relational Model of Data for Large Shared Data Banks" ("Un modelo relacional para grandes bancos de datos compartidos"). Con este artculo y otras publicaciones, defini el modelo de bases de datos relacionales y reglas para poder evaluar un administrador de bases de datos relacionales.

INICIO DE LAS BASES DE DATOS DISTRIBUIDAS

Originalmente se almacenaba la informacin de manera centralizada, pero con el paso del tiempo las necesidades aumentaron y esto produjo ciertos inconvenientes que no era posible solucionarlos o volverlos eficientes de la forma centralizada. Estos problemas impulsaron la creacin de almacenamiento distribuido, los cuales hoy en da proveen caractersticas indispensables en el manejo de informacin; es decir, la combinacin de las redes de comunicacin y las bases de datos.

EVOLUCIN

Hay varios factores que han hecho que las bases de datos evolucionen a bases de datos distribuidas. En el mundo de los negocios se ha dado una globalizacin y a la vez las operaciones de las empresas son cada vez ms descentralizadas geogrficamente. Tambin el poder de las computadoras personales aument y el costo de los Mainframes (supercomputadoras) ya no tena sentido. Adems la necesidad de compartir datos ha hecho que crezca el mercado de las bases de datos distribuidas.

ARQUITECTURA

Hardware involucrado El hardware utilizado no difiere mucho del hardware utilizado en un servidor normal. Al principio se crea que si los componentes de una base de datos eran especializados seran ms eficientes y rpidos, pero se comprob que el descentralizar todo y adoptar un enfoque "nada compartido" (shared-nothing) resultaba ms barato y eficaz. Por lo que 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.

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.

ESTRUCTURA DE BASE DE DATOS

Las localidades pueden conectarse principales son: Red totalmente conectada

fsicamente de diversas

formas las

todos los otros usuarios de la red.

confidencial constantemente, pues les ofrece lneas privadas entre s.

de lo contrario, esa red se convertira en una telaraa. El funcionamiento de la red ya con muchos nodos, todos conectados con todos, termina afectando la eficiencia del sistema que manipula la BDD.

rplica exacta de lo que necesita y la red en s la emplea para transferir datos y actualizar. Red prcticamente conectada nodos es mayor a 16.

slo algunos de los dems de la red, pero no con todos, de modo que no tiene caso usar enlaces directos entre todos. red y de la BDD pueden llegar a un comn acuerdo de cul es la estructura de conexin de la red que ms conviene para ambos

Red con estructura de rbol o red jerrquica

mucha comunicacin entre s, pero no con otros grupos, de modo que a travs del rbol y sus niveles puedes ir clasificando a los usuarios segn la frecuencia con la que se comunican con sus vecinos.

ubicndolos en los nodos hoja.

nicamente los datos de los usuarios que pertenecen a l. Red de estrella

n los usuarios entre s, porque aunque todos los usuarios se pueden comunicar con todos, como eso ocurre slo a travs del servidor, se controla totalmente ese aspecto de seguridad/confidencialidad/pertinencia de la informacin. a respecto a la BD slo la conocen en determinado momento el nodo origen y destino, esto porque no pasa por nodos intermedios de usuarios, pasa nicamente por el servidor, entonces ningn otro usuario se entera de las dems transferencias. Red anillo viene cuando el tiempo de respuesta no es prioridad.

convierten en pblicos para todos los nodos de la red.

incremente la tolerancia a fallos de la topologa, como los rels o los anillos bidireccionales, porque de lo contrario la estabilidad del SW que manipula la BDD sera muy baja.

DEFINICION

Una base de datos distribuida consiste en dos o ms archivos de datos localizados en sitios diferentes de una red. Diferentes usuarios pueden tener acceso a ella sin interferir unos con otros. El sistema de control de la base de datos debe tener una arquitectura que permita la sincronizacin peridica de los archivos de los datos dispersos para que todos tengan informacin congruente.

VISIN DE UNA BASE DE DATOS DISTRIBUIDA

VENTAJAS DE LAS BASES DE DATOS DISTRIBUIDAS Compartimiento de datos. Los usuarios de un nodo son capaces de acceder a los datos de otro nodo. Autonoma. Cada nodo tiene cierto grado de control sobre sus datos, en un sistema centralizado, hay un administrador del sistema responsable de los datos a nivel global. Cada administrador local puede tener un nivel de autonoma local diferente.

Disponibilidad. Si en un sistema distribuido falla un nodo, los nodos restantes pueden seguir funcionando. Si se duplican los datos en varios nodos, la transaccin que necesite un determinado dato puede encontrarlo en cualquiera de los diferentes nodos. INCONVENIENTES DE LA BASES DE DATOS DISTRIBUIDAS

Costo de desarrollo del software. La complejidad aadida que es necesaria para mantener la coordinacin entre nodos hace que el desarrollo de software sea ms costoso. Mayor probabilidad de errores. Como los nodos que constituyen el sistema funcionan en paralelo, es ms difcil asegurar el funcionamiento correcto de los algoritmos, as como de los procedimientos de recuperacin de fallos del sistema. Mayor sobrecarga de procesamiento. El intercambio de mensajes y ejecucin de algoritmos para el mantenimiento de la coordinacin entre nodos supone una sobrecarga que no se da en los sistemas centralizados

ALMACENAMIENTO Rplica: El sistema conserva varias copias o rplicas idnticas de una tabla. Cada rplica se almacena en un nodo diferente.

Ventajas: Disponibilidad: el sistema sigue funcionando an en caso de cada de uno de los nodos. Aumento del paralelismo: Varios nodos pueden realizar consultas en paralelo sobre la misma tabla. Cuantas ms rplicas existan de la tabla, mayor ser la posibilidad de que el dato buscado se encuentre en el nodo desde el que se realiza la consulta, minimizando con ello el trfico de datos entre nodos.

Inconveniente: Aumento de la sobrecarga en las actualizaciones: El sistema debe asegurar que todas las rplicas de la tabla sean consistentes. Cuando se realiza una actualizacin sobre una de las rplicas, los cambios deben propagarse a todas las rplicas de dicha tabla a lo largo del sistema distribuido.

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

Una ventaja significativa de este esquema es que las consultas (SQL) tambin se fragmentan por lo que su procesamiento es en paralelo y ms eficiente, pero tambin se sacrifica con casos especiales como usar JUNTAR o PRODUCTO, en general casos que involucren varios fragmentos de la BDD. 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. Criterios para escoger la distribucin

Localidad de la data: la data debera ser colocada donde sta se accede ms seguido. El diseador debe analizar las aplicaciones y determinar como colocar la data de tal forma que se optimicen los accesos a la data locales.

Fiabilidad de la data: Almacenando varias copias de la data en lugares geogrficamente apartados se logra maximizar la probabilidad de que la data va a ser recuperable en caso de que ocurra dao fsico en cualquier sitio. Disponibilidad de la data: como en la fiabilidad, almacenar varias copias asegura que los usuarios tengan a su disponibilidad los elementos de la data, an si el nodo al que usualmente acceden no est disponible o falla. Capacidades y costos de almacenamiento: a pesar de que los costos de almacenamiento no son tan grandes como los de transmisin, los nodos pueden tener diferentes capacidades de almacenamiento y procesamiento. Esto se debe analizar cuidadosamente para determinar donde poner la data. El costo de almacenamiento se disminuye significativamente minimizando la cantidad de copias de la data. Distribucin de la carga de procesamiento: una de las razones por la cual se escoge un sistema de BDD es porque se desea poder distribuir la carga de procesamiento para hacer este ms eficiente. Costo de comunicacin: el diseador debe considerar tambin el costo de usar las comunicaciones de la red para obtener data. Los costos de comunicacin se minimizan cuando cada sitio tiene su propia copia de la data, por otro lado cuando la data es actualizada se debe actualizar en todos los nodos. Uso del sistema: debe tomarse en consideracin cual ser el tipo principal de uso del sistema de BDD. Factores como la importancia en la disponibilidad de la data, la velocidad de escritura y la capacidad de recuperacin de daos fsicos deben tomarse en cuenta para escoger el esquema correcto.

EJEMPLOS

Ejemplo 1.1 Considere un banco que tiene tres sucursales, en cada sucursal, un computador controla las terminales de la misma y el sistema de cuentas. Cada computador con su sistema de cuentas local en cada sucursal constituye un "sitio" de la BDD; las computadoras estn conectadas por la red. Durante las operaciones normales, las aplicaciones en las terminales de la sucursal necesitan solo accesar la BD de la misma. Como solo accesan la misma red local, se les llaman aplicaciones locales. Desde el punto de vista tecnolgico, aparentemente lo importante es la existencia de algunas transacciones que accesen informacin en ms de una sucursal. stas transacciones son llamadas transacciones globales o transacciones distribuidas. La existencia de transacciones globales ser considerada como una caracterstica que nos ayude a discriminar entre las BDD y un conjunto de base de datos locales. Una tpica transaccin global sera una transferencia de fondos de una sucursal a otra. Esta aplicacin requiere de actualizar datos en dos diferentes sucursales y asegurarse de la real actualizacin en ambos sitios o en ninguno. Asegurar el buen funcionamiento de aplicaciones globales es una tarea difcil. En el ejemplo 1.1 las computadoras estaban geogrficamente en diferentes puntos; tambin, BDD pueden ser construidas en una red local. Base de Datos Distribuida geogrficamente dispersada Ejemplo 1.2 Considere el mismo banco del ejemplo previo, con las mismas aplicaciones, pero con un sistema configurado como en la figura. Los mismos procesadores con sus bases de datos han sido movidos de sus sucursales a un edificio comn y ahora estn conectados entre si en un radio con un amplio ancho de banda. Las terminales de las sucursales estn conectadas a sus respectivos computadores por lneas telefnicas. Cada procesador y su base de datos constituye un sitio de la red local. Base de Datos Distribuidas en una LAN

Vemos que la estructura fsica de las conexiones a cambiado con respecto al ejemplo 1, pero las caractersticas de la arquitectura son las mismas. En particular, los mismos computadores ejecutan las mismas aplicaciones, accesando las mismas bases de datos. La transaccin local del ejemplo anterior an es local, no por el hecho geogrfico, si no por el hecho de que solo un computador por bases de datos est envuelto en el proceso. Si hay aplicaciones globales, es conveniente considerar este ejemplo como BDD, ya que muchas caractersticas que el ejemplo previo present son an vlidas. A pesar de todo, el hecho de que la BDD sea implementada en una red local o en una grficamente distribuida, cambian muchas veces el tipo de solucin que se busca para un problema. Ejemplo 1.3 Qu no es una Base de Datos Distribuida? Un caso de sistema NO considerado BDD : Considere el mismo banco del ejemplo anterior, pero con la configuracin del sistema mostrado en la figura 1.3. La informacin en diferentes sucursales esta distribuida en tres computadores ( "backend" computers ), que realizan el control de funciones de la base de datos. Las aplicaciones son ejecutadas por diferentes computadores.

DEMOS

http://landingpad.oracle.com/webapps/dialogue/ns/dlgwelcome.jsp?p_ ext=Y&p_dlg_id=9190359&src=7054571&Act=11&sckw=WWMK100587 13MPP012.GCM.8081.100

http://www.microsoft.com/sqlserver/2005/en/us/trial-software.aspx

http://www.microsoft.com/sqlserver/2008/en/us/trial-software.aspx

http://www.portalprogramas.com/gratis/postgresql-server

CASOS DE XITO

Mercado de Valores de Londres (LSE)


La Bolsa de Londres elige Windows frente a Linux por su mayor fiabilidad
Dentro de su estrategia para ganar cuota de mercado y nuevos clientes, London Stock Exchange necesitaba sustituir su sistema de informacin de cotizaciones, ya obsoleto, por uno nuevo, escalable, fiable y de alto rendimiento. Aproximadamente el 40$ de la facturacin est generada por la venta de informacin de cotizaciones en tiempo real. Con Microsoft .NET Framework en Windows Server 2003 y la base de datos Microsoft SQL Server 2000, el nuevo sistema Infolect ha conseguido niveles inusitados de rendimiento, disponibilidad y agilidad de negocio. Empez a funcionar en septiembre de 2005 y con l, LSE an mantiene el record del mundo en fiabilidad, habiendo reducido la latencia en un factor de 15. El xito del proyecto, realizado conjuntamente con Microsoft y Accenture, pone de relieve el liderazgo de London Stock Exchange en el desarrollo de sistemas de transacciones burstiles de ltima generacin

MySpace decidi que la mejor manera de manejar el constante crecimiento de sus bases de datos relacionales, que actualmente suman ms de 1 petabyte, era escalar horizontal mente y dividir la informacin a travs de mltiples instancias de SQL Server. Para ayudar a garantizar la integridad de los datos mientras se mantiene picos de demanda de servicio de hasta 4,4 millones de usuarios simultneos, se necesitaba una solucin eficiente de mensajera asincrnica entre sus 440 instancias de SQL Server y ms de 1000 bases de datos. MySpace cre una solucin para que acta como punto de coordinacin para la entrega de mensajes a travs de sus bases de datos distribuidas. La solucin trabaja en un modelo de broadcast en la que el despachador de servicios asegura que un cambio originario de una base de datos se entrega al grupo de bases de datos destino relevante para la transaccion mediante la utilizacin del Service Broker, lo que ha permitido a MySpace realizar la gestin de claves forneas a

travs de sus 440 servidores de bases de datos, la activacin y desactivacin de cuentas de sus millones de usuarios. MySpace tambin utiliza Service Broker administrativa para distribuir los nuevos procedimientos almacenados y otras actualizaciones en todos los 440 servidores de bases de datos a travs del despachador que crearon.

Con SQL 2005 se redujo en un 70% los tiempos de ejecucin de los procesos, se obtuvo un ROI en un corto plazo y se logr un sistema muy estable.

Creada a comienzos de 2001, Previred se posicion rpidamente como una empresa nica en su rubro. La cantidad de transacciones que poda llegar a generar en un slo da, la hacan diferente en cuanto a sus necesidades nicas de performance. Cuando se percataron que estaban creciendo muy rpido en clientes y trabajo, decidieron optar por la ms reciente solucin de bases de datos Microsoft, luego de conocer los buenos resultados de quienes ya la utilizaban. Situacin: La empresa chilena Previred nace el ao 2001 con la premisa de ser la primera red chilena de administracin en lnea de recaudacin y pagos previsionales va Internet, sistema creado por las AFPs de Chile y que rpidamente se hizo popular.

CONCLUSIN

Algunos de los aspectos aprendidos y que de gran peso es la base de datos su definicin, requerimiento, ventajas y caractersticas donde podemos decir que la base de datos: Es una coleccin de datos o informacin usados para dar servicios a muchas aplicaciones al mismo tiempo. En cuanto al requerimiento podemos decir que cumple loas mismas tareas de anlisis que del software y tiene como caracterstica relacionar la informacin como va organizacin y asociacin donde la base de datos tiene una ventaja que es utilizar la plataforma para el desarrollo del sistema de aplicacin en las organizaciones. Otro aspectos importante seria el diseo y creacin de la base de datos, donde existen distintos modos de organizar la informacin y representar las relaciones entre por datos los tres modelos lgicos principales dentro de una base de datos son el jerrquico, de redes y el relacional, los cuales tiene ciertas ventajas de procesamiento y de negocios. La creacin de consultas de base de datos consta de archivos que permiten realizar muchas tareas diferentes con los datos que se pueden ver.

Potrebbero piacerti anche