140 likes | 390 Views
Introduccion Bases de Datos Distribuidas. Es una colección de datos (base de datos) construida sobre una red y que pertenecen, lógicamente, a un solo sistema distribuido, la cual cumple las siguientes condiciones :
E N D
IntroduccionBases de Datos Distribuidas Es una colección de datos (base de datos) construida sobre una red y que pertenecen, lógicamente, a un solo sistema distribuido, la cual cumple las siguientes condiciones: La información de la base de datos esta almacenada físicamente en diferentes sitios de la red. En cada sitio de la red, la parte de la información, se constituye como una base de datos en sí misma.
Las bases de datos locales tienen sus propios usuarios locales, sus propios DBMS y programas para la administración de transacciones, y su propioadministrador local de comunicación de datos. • Estas base de datos locales deben de tener una extensión, que gestione las funciones de sociedad necesarias; la combinación de estos componentes con los sistemas de administración de base de datos locales, es lo que se conoce como Sistema Administrador de Base de Datos Distribuidas. • Este gestor global permite que usuarios puedan acceder a los datos desde cualquier punto de la red, como si lo hicieran con los datos de su base de datos local, es decir, para el usuario, no debe existir diferencia en trabajar con datos locales o datos de otros sitios de la red.
En consecuencia, la base de datos distribuida, es como una unidad virtual, cuyas partes se almacenan físicamente en varias bases de datos "reales" distintas, ubicadas en diferentes sitios. • Ejemplo 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 están 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 tecnológico, aparentemente lo importante es la existencia de algunas transacciones que accesen información en más de una sucursal. Estas transacciones son llamadas transacciones globales o transacciones distribuidas. La existencia de transacciones globales será considerada como una característica que nos ayude a discriminar entre las BDD y un conjunto de base de datos locales.Una típica transacción global sería una transferencia de fondos de una sucursal a otra. Esta aplicación requiere de actualizar datos en dos diferentes sucursales y asegurarse de la real actualización en ambos sitios o en ninguno. Asegurar el buen funcionamiento de aplicaciones globales es una tarea difícil. En el ejemplo 1 las computadoras estaban geográficamente en diferentes puntos; también, BDD pueden ser construidas en una red local.
Ejemplo 2Considere 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 común y ahora están conectados entre sí en un radio con un amplio ancho de banda. Las terminales de las sucursales están conectadas a sus respectivos computadores por líneas telefónicas. Cada procesador y su base de datos constituyen un sitio de la red local.
Vemos que la estructura física de las conexiones a cambiado con respecto al ejemplo 1, pero las características de la arquitectura son las mismas. En particular, los mismos computadores ejecutan las mismas aplicaciones, accesando las mismas bases de datos. La transacción local del ejemplo anterior aún es local, no por el hecho geográfico, 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 características que el ejemplo previo presentó son aún válidas. A pesar de todo, el hecho de que la BDD sea implementada en una red local o en una gráficamente distribuida, cambian muchas veces el tipo de solución que se busca para un problema. • Bibliografia • http://www.monografias.com/trabajos16/sistemas-distribuidos/sistemas-distribuidos.shtml • http://davizhito.wikispaces.com/BASES+DE+DATOS+DISTRIBUIDAS+UTILIZANDO+SQL+SERVER+2008
Ventajas de las Base de Datos Distribuidas • Descentralización.- En un sistema centralizado/distribuido, existe un administrador que controla toda la base de datos, por el contrario en un sistema distribuido existe un administrador global que lleva una política general y delega algunas funciones a administradores de cada localidad para que establezcan políticas locales y así un trabajo eficiente. • Economía: Existen dos aspectos a tener en cuenta. • El primero son los costes de comunicación; si las bases de datos están muy dispersas y las aplicaciones hacen amplio uso de los datos puede resultar más económico dividir la aplicación y realizarla localmente. • El segundo aspecto es que cuesta menos crear un sistema de pequeños ordenadores con la misma potencia que un único ordenador.
Mejora de fiabilidad y disponibilidad: La falla de uno o varios lugares o el de un enlace de comunicación no implica la inoperatividad total del sistema, incluso si tenemos datos duplicados puede que exista una disponibilidad total de los servicios. • Crecimiento: Es más fácil acomodar el incremento del tamaño en un sistema distribuido, por que la expansión se lleva a cabo añadiendo poderde procesamiento y almacenamiento en la red, al añadir un nuevo nodo. • Flexibilidad: Permite acceso local y remoto de forma transparente. • Disponibilidad: Pueden estar los datos duplicados con lo que varias personas pueden acceder simultáneamente de forma eficiente. El inconveniente, el sistema administrador de base de datos debe preocuparse de la consistencia de los mismos. • Control de Concurrencia: El sistema administrador de base de datos local se encarga de manejar la concurrencia de manera eficiente.
Inconvenientes de las base de datos distribuidas. • El rendimiento que es una ventaja podría verse contradicho, por la naturaleza de la carga de trabajo, pues un nodo puede verse abrumado, por lasestrategias utilizadas de concurrencia y de fallos, y el acceso local a los datos. Se puede dar esta situación cuando la carga de trabajo requiere un gran número de actualizaciones concurrentes sobre datos duplicados y que deben estar distribuidos. • La confiabilidad de los sistemas distribuidos, esta entre dicha, puesto que, en este tipo de base de datos existen muchos factores a tomar en cuanta como: La confiabilidad de los ordenadores, de la red, del sistema de gestión de base de datos distribuida, de las transacciones y de las tazas de error de la carga de trabajo. • La mayor complejidad, juega en contra de este tipo de sistemas, pues muchas veces se traduce en altos gastos de construcción y mantenimiento. Esto se da por la gran cantidad de componentes Hardware, muchas cosas que aprender, y muchas aplicaciones susceptibles de fallar. Por ejemplo, el control de concurrencia y recuperación de fallos, requiere de personal muy especializado y por tal costoso. • El procesamiento de base de datos distribuida es difícil de controlar, pues estos procesos muchas veces se llevan a cabo en las áreas de trabajo de los usuarios, e incluso el acceso físico no es controlado, lo que genera una falta de seguridad de los datos.
Caso particular de los sistemas Cliente-Servidor con representación remota. En donde se dispone de un protocolo estándar:HTTP y un Middleware denominado WebServer. En la actualidad la aplicación de sistemas informáticos basados en Internet, es una herramienta fundamental para las organizaciones que desean tener cierta presencia competitiva. Tecnologías de la lógica de la aplicación en el servidor web: • CGI: CommonGateware Interface..- Son programas que se ejecutan en el servidor, pueden servir como pasarela con una aplicación o base de datos o para generar documentoshtml de forma automática. Cada petición http ejecuta un proceso, el cual analiza la solicitud y genera un resultado. Son independientes del SO, y presentan la ventaja de que, dado un programa escrito en un lenguaje cualquiera, es fácil adaptarlo a un CGI. Entre los lenguajes que se usan para CGIs, el más popular es el Perl.
Servlets: Pequeños programas en Java que se ejecutan de forma persistente en el servidor, y que, por lo tanto, tienen una activación muy rápida, y una forma más simple de hacerlo. Estos programas procesan una petición y generan la página de respuesta.Al ser llamado por el navegador, el motorASP del IIS (Internet Information Server) se encarga automáticamente de ejecutarlo como se suele hacer con un programa cualquiera, pero cuya salida siempre será a través del navegador que le invoca. Es un entorno propietario de Microsoft y el lenguaje de secuencia de comandos predeterminado del IIS es el VBScript, aunque puede cambiarse. • ASP (Active Server Pages): Una página ASP es un fichero de sólo texto que contiene las secuencias de comandos, junto con el HTML necesario, y que se guarda con la extensión ".asp". • JSP (Java Server Pages), que consisten en pequeños trozos de código en Java que se insertan dentro de páginas web, de forma análoga a los ASPs. Ambas opciones, hoy en día, son muy populares en sitios de comercio electrónico. Frente a los ASPs, la ventaja que presentan es que son independientes del sistema operativo y del procesador de la máquina.