Download CATEDRÁTICO: Lic. Angélica Avalos Cano. TEMA:

Document related concepts
no text concepts found
Transcript
CATEDRÁTICO:
Lic. Angélica Avalos Cano.
TEMA:
Arquitecturas para un sistema distribuido
Los factores que debe considerar un diseñador de un sistema de base de datos
distribuidas al elegir una arquitectura incluyen la colocación de los datos, tipos de
sistemas de comunicaciones, modelos de datos que soportan y tipos de
aplicaciones.
Cada alternativa impone un tipo diferente de sistema y utiliza procedimientos
distintos de actualización y descomposición de solicitudes. Si el sistema de
comunicación es lento y caro de usar se favorece un almacenamiento y
procesamiento locales. Un sistema rápido y barato de comunicaciones, como una
red de área local, favorece el almacenamiento y procesamiento centralizado. Los
sistemas distribuidos aceptan varios modelos de datos y lenguajes de
manipulación para ellos, igual que en los sistema centralizados. En general, un
diseñador debe evitar los modelos que usen una recuperación de un registro a la
vez, y a cambio de eso elegir aquellos que permitan operaciones a nivel de
conjunto, debido al número de mensajes que se requieren para la recuperación
con navegación del programador. Esta es una delas razones por la que el modelo
relacional es el que se usa con más frecuencia n las bases de datos distribuidas.
Al considerar los tipos de aplicaciones por realizar contra la base de datos
escogida, el diseñador necesita estimar el tamaño de ésta, número de
transacciones, cantidad de datos que requiere la transacción, complejidad de las
transacciones, numero de recuperaciones en relación con el número de
actualizaciones, y número de transacciones que hacen referencia a datos locales
en comparación con los remotos. Entre las alternativas están las siguientes:
PROCESAMIENTO DISTRIBUIDO CON EL USO DE UNA BASE DE DATOS
CENTRALIZADA
En esta arquitectura, la base de datos en si no está distribuida, pero los usuarios
acceden a ella a través de una red de computo. El procedimiento se lleva a cabo
en sitios múltiples, con el empleo de datos del sitio de la base de datos central.
Esta también lleva acabo procesamiento, con frecuencia tanto para sus
aplicaciones locales como para las centralizadas. Cuando acceden a los datos
para su procesamiento, los sitios locales se comunican sólo con el sitio central, no
entre sí.
SISTEMAS CLIENTES/SERVIDOR.
En los sistemas cliente /servidor, la base de datos reside en una maquina en el
extremo terminal, llamada servidor, y es común que los usuarios accedan a los
datos a través de sus estaciones de trabajo, que funcionan como clientes. Las
funciones de las bases de datos se dividen entre el cliente y el servidor. El cliente
proporciona al usuario la interfaz y ejecuta la aplicación lógica, mientras que el
servidor administra los datos y proceso las solicitudes de estos. Es una
transacción interactiva común, el usuario interactúa con la estación de trabajo
cliente por medio de una interfaz gráfica provista ya sea por el sistema de base de
datos o por un tercer proveedor. Además de manejar la aplicación lógica, el cliente
realiza la edición inicial de las solicitudes de datos ( por lo general SQL), revisa la
sintaxis de la solicitud y genera otra para la base de datos, que es enviada al
servidor a través de la red. Este valida la solicitud por medio de la revisión del
diccionario de datos, autorización y las restricciones de integridad; optimiza la
consulta; aplica controles de concurrencia y técnicas de recuperación; recupera
los datos y los envía de regreso al cliente, que los presenta al usuario, en el cliente
también se ejecutan programas de aplicación, en los que las solicitudes de datos
pasan por una interfaz de programas de aplicación (IPA) hacia el servidor en una
forma similar a la descrita. Si el cliente se apega a un estándar como el ODBC o el
JDBC, se comunica con cualquier servidor que provea un interfaz estándar. A
diferencia del ambiente de base de datos centralizada, el servidor no procesa
aplicaciones por sí mismo.
BASES DE DATOS PARALELAS
En la arquitectura de bases de datos paralelas hay procesadores múltiples que
controlan unidades de disco múltiples que contienen a la base de datos, que
puede estar particionada en los discos, o tal vez duplicada. Si la tolerancia a las
fallas tiene gran prioridad, el sistema se prepara de modo que cada componente
sirva como respaldo para los demás componentes del mismo tipo y se haga cargo
de las funciones de cualquier componente similar que falle. Las arquitecturas de
sistemas de bases de datos paralelas son de memoria compartida, disco
compartido, nada compartido o Jerárquicas, que también se llaman Cluster.

En un sistema de memoria compartida, todos los procesadores tienen
acceso a la misma memoria y a los discos compartidos, La base de datos
reside en los discos, ya sea que este duplicada en ellos o particionada entre
todos. Cuando un procesador hace una solicitud de datos, estos son

enviados desde cualquiera de los discos hacia os búferes de la memoria
compartidos por todos los procesadores. El DBMS Informa al procesador
cual página de la memoria contiene la página de los datos solicitada.
En el diseño de disco compartido, cada procesador tiene acceso exclusivo
a su propia memoria, pero todos los procesadores tienen acceso a las
unidades de discos compartidas, cuando un procesador solicita datos, las
paginas respectivas son llevadas a la memoria del procesador.

En los sistemas de nada compartido, cada procesador tiene control
exclusivo de su propia unidad o unidades de disco y de su memoria, pero
los procesadores se comunican uno con otro.

En las arquitecturas jerárquicas o cluster, los sistemas constituidos por
nodos de memoria compartida eta conectados por medio de una red, los
sistemas solo comparten comunicaciones entre sí, y la arquitectura general
entre sistemas no comparte nada.
El propósito de la base de datos paralelas es mejorar el rendimiento por medio de
ejecutar las operaciones en forma paralelas en los distintos dispositivos. Es
esencial la partición cuidadosa de los datos de modo que sea posible la
evaluación en paralelo de las consultas. La partición de los datos se hace con
partición de rango que significa que los registros se colocan en discos diseñados
de acuerdo con un rango de valores par cierto atributo. Otros métodos son por
dispersión (hashing) de algunos atributos, o con la colocación de los registros
nuevos en un formato round robin sobre discos sucesivos. Cuando se procesa una
consulta, como los datos requeridos tal vez residan en discos diferentes, la
consulta se descompone en subconsultas que luego se procesan en paralelo con
el uso de la partición apropiada de la base de datos.
BASES DE DATOS DISTRIBUIDAS
En esta arquitectura, la base de datos esta distribuida, tal vez con duplicación,
entre varios sitios relativamente autónomos. La distribución es transparente para
el usuario, que no necesita especificar el lugar en el que se localizan los datos
(transparencia de ubicación). Un sistema distribuido es homogéneo o
heterogéneo. En un sistema homogéneo todos los nodos usan el mismo hardware
y software para el sistema de la base de datos. En un sistema heterogéneo los
nodos tienen diferentes hardware y/o software. Como un sistema homogéneo es
mucho más fácil de diseñar y administrar, es normal que los diseñadores lo
escojan. Los sistemas heterogéneos por lo general son el resultado de las
situaciones en que los sitios individuales toman sus propias decisiones sobre el
hardware y el software, y las comunicaciones se agregan en una etapa posterior,
lo cual es la norma. Entonces, el diseñador tiene la tarea de unificar sistemas
dispares. En un sistema heterogéneo es necesario hacer traducciones que
permitan que las bases de datos se comuniquen. Como la transparencia es un
objetivo impórtate, el usuario en un sitio particular hace solicitudes en el lenguaje
del sistema de administración de la base de datos en ese sitio. Entonces es el
sistema el que tiene la responsabilidad de localizar los datos, que pueden estar en
otro sitio con diferente hardware y software. La solicitud incluso podría requerir la
coordinación de datos almacenados en varios sitios, todos con distintos
equipamientos, si dos sitios tienen hardware diferente pero iguales sistemas de
administración de la base de datos, la traducción no es demasiado difícil, y
consiste sobre todo en el cambio de código y tamaño de las palabras, si tiene el
mismo hardware pero diferente software, la traducción si es difícil, y requiere que
el modelo y estructura de los datos de un sistema se exprese en términos de los
modelos y estructuras de otro. Por ejemplo, si una base de datos es relacional y
la otra utiliza el modelo orientado a objetos, estos deben presentarse en forma de
tabla a los usuarios de la base de datos relacional. Además, deben traducirse los
lenguajes de consultas.