Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

Base de datos distribuidas. Una base de datos distribuida permite que los datos residan en ubicaciones físicas diferentes

Enviado por   •  18 de Diciembre de 2018  •  2.377 Palabras (10 Páginas)  •  456 Visitas

Página 1 de 10

...

Sin embargo, la decisión de donde se colocarán los datos, generalmente no es así de simple. En muchos sistemas distribuidos, los datos pueden residir en dos o tres ubicaciones, pero ser accesibles desde muchas otras ubicaciones. ¿Qué sucede si cierto subconjunto de datos se usa más en Singapur? Una vez más, se almacenan los datos en el servidor más cercano, es decir Sydney, pues está más cerca que Monterrey.

Existe una consideración adicional cuando el uso de los datos es casi igual entre dos sites. ¿Qué sucede si los datos se requieren al 50% en cada uno de los sites? en tal caso, el DBA debe elegir una ubicación en vez de la otra o hacer réplicas de cada site, si la replicación no es una opción, entonces debe colocar en el lugar donde sea más fácil de administrar y monitorear el rendimiento de los accesos.

Como DBA, es necesario implementar algunas directrices para los programadores de aplicaciones como: Ubicación de los datos, el impacto en el rendimiento de acceder a datos distribuidos y como optimizar el acceso relacional distribuido, algunas de estos lineamientos dependerán del DBMS, mientras que otros son totalmente independientes del DBMS, como:

- Minimización del tráfico de red mediante la recuperación de los datos que realmente se necesitan; esto es, no requerir columnas o registros adicionales a los que requieren los procesos de las aplicaciones.

- Usar métodos que posibiliten el envío de datos a través de las redes en bloques, en vez de un registro a la vez.

- Acceder a los datos locales en vez de los datos remotos tanto como sea posible.

Estándares de distribución de datos

Existen dos estándares soportados por la mayoría de DBMSs para la distribución de datos. DRDA y RDA. Ambos son similares con sus objetivos.

DRDA (Distributed Relational Database Architecture) es un protocolo de acceso a bases de datos distribuidas sin importar su ubicación física. DRDA proporciona métodos que coordinan la comunicación entre ubicaciones distribuidas, lo que permite acceder a múltiples tablas remotas en múltiples ubicaciones, haciendo parecer al usuario final de que se trata de una sola tabla. DRDA define las reglas para acceder a los datos distribuidos, pero no provee de API’s para hacerlo, no es un programa, sino un conjunto de estándares.

RDA (Remote Database Architecture) es un conjunto de protocolos desarrollados por los comités ISO y ANSI. RDA fue construido para trabajar con un subconjunto de SQL que está disponible para la mayoría de los DBMSs. RDA se usa para establecer una conexión remota entre un cliente y un servidor. El cliente establece una interfaz hacia un proceso que controla las transferencias de los datos desde y hacia la base de datos. El objetivo de RDA consiste en habilitar a las aplicaciones para interconectarse con bases de datos y ambientes heterogéneos. Una alternativa diferente a DRDA y RDA consiste en la instalación de un Gateway en cada uno de los sites que se comunican entre ellos para permitir el acceso a los datos.

Acceso a datos distribuidos

Existen muchos tipos de accesos posibles, pero no todos son soportados por los DBMSs y seguramente, surgirán nuevas limitantes con implementaciones heterogéneas. La manera más sencilla de acceder a una base de datos distribuida es mediante un requerimiento remoto, que consiste en un requerimiento a una ubicación dentro de una unidad de trabajo (UOM), lo cual permite que los desarrolladores operen sobre un DBMS, mientras hacen referencia a otro DBMS, este es el método más sencillo, pero menos flexible de acceder a bases de datos distribuidas.

Una forma más compleja es llamada remote unit of work (Unidad de trabajo remota – UOM), que se usa cuando una aplicación accede a los datos desde múltiples ubicaciones, pero no dentro de la misma unidad de trabajo, el programador debe saber dónde se localizan los datos y construir unidades de trabajo que accedan a los datos por ubicación, en este escenario:

- Cada requerimiento debe hacerse para una sola ubicación.

- Cada unidad de trabajo puede contener múltiples instrucciones SQL

- Cada unidad de trabajo debe acceder a los datos desde una solo ubicación.

-

Por lo tanto, se permiten múltiples requerimientos SQL por unidad de trabajo, pero sola a un DBMS por cada requerimiento SQL.

El paso siguiente consiste en remover la limitación de la unidad de trabajo, de manera que cada unidad de trabajo pueda acceder a los datos desde múltiples ubicaciones. Este tipo de acceso se le conoce como Unidad de trabajo distribuida (distributed unit of work). En este caso, es posible acceder a más de un DBMS por unidad de trabajo. Múltiples instrucciones SQL pueden leer y/o modificar los datos en múltiples servidores dentro de una sola unidad de trabajo

La última y más robusta forma de acceder bases de datos distribuidas es el Requerimiento distribuido (distributed request), en el cual, una instrucción SQL accede a los datos desde más de una ubicación a la vez. Por lo tanto, una instrucción SQL puede acceder a múltiples servidores de bases de datos y una unidad de trabajo puede tener múltiples requerimientos SQL (Distribuidos y no distribuidos); esto constituye el mejor nivel de flexibilidad para acceso a bases de datos distribuidas.

Problemas de rendimiento distribuido

Como todo sistema que opera sobre una red, el primer problema que enfrenta el rendimiento es el tráfico de red; entre más datos se envíen a través de la red, mayores serán los problemas de rendimiento. En este sentido, se considera el rendimiento y el tiempo de respuesta, sin embargo, el servidor y el cliente enfatizan diferentes aspectos de esta definición. El servidor debe satisfacer múltiples requerimientos y entre mayor sea la cantidad de requerimientos, mayor será la cantidad de servicios satisfechos, es decir, mayor rendimiento por parte del servidor. En tanto que, el cliente ve el rendimiento en términos de tiempo de respuesta, considerando que el tiempo de respuesta es la cantidad de tiempo requerido para completar un trabajo predefinido, de tal manera que el tiempo de respuesta es el indicador más útil para el usuario final, porque es él quien espera el resultado.

Para analizar el rendimiento de un requerimiento a una base de datos distribuida, el DBA debe inspeccionar toda la cadena

...

Descargar como  txt (14.8 Kb)   pdf (55.2 Kb)   docx (16.5 Kb)  
Leer 9 páginas más »
Disponible sólo en Essays.club