Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual Arquitectura de Sistemas de Bases de Datos PDF
Manual Arquitectura de Sistemas de Bases de Datos PDF
Bases de Datos
Ingeniera de Sistemas
UIA
INDICE
IntroduccinII
Arquitecturas de Sistemas de Bases de DatosV
Sistemas CentralizadosVI
Caractersticas FuncionalesVI
Caractersticas Fsicas.VII
Caractersticas LgicasVII
Ventajas e Inconvenientes...VII
Sistemas Cliente-Servidor...IX
Caractersticas de la arquitectura IX
Niveles de la arquitectura.....X
Tipos de Arquitectura Cliente-Servidor..XI
Ventajas e Inconvenientes...XIII
Fases de Implantacin.XV
Servidor de Transacciones...XVIII
Servidor de Datos.XIX
Sistemas ParalelosXX
Variaciones de la arquitectura.XX
Ganancia de ampliabilidad....XXII
Procesamiento de consultas y optimizacin..XXII
Problemas del Paralelismo.XXIII
Redes de Interconexin...XXIII
Sistemas Distribuidos.XXIV
Objetivo PrimordialXXV
Caractersticas Inmediatas.XXV
Como distribuir la informacin?........................XXV
La Arquitectura Cuenta Con..XXV
Ventajas de un sistema distribuidoXXVI
Desventajas de un sistema distribuido...XXVI
Problemas de los sistemas distribuidos..XXVI
Redes de comunicacin utilizadas...XXVII
Conclusin..XXVIII
Bibliografa.XXX
Introduccin
El tema que estudiaremos a continuacin es la arquitectura de sistemas de bases
de datos, exploraremos los distintos tipos de arquitecturas de bases de datos,
comenzaremos por los sistemas centralizados, pasando a los sistemas clienteservidor, paralelos y distribuidos.
Como tendremos la oportunidad de ver a continuacin, la arquitectura de un sistema
de base de datos esta influenciada en gran parte por el sistema informtico
subyacente en el que se ejecuta el sistema de bases de datos.
En la arquitectura de un sistema de bases de datos se manifiestan aspectos como la
conexin en red, el paralelismo y la distribucin, cada uno de estos temas lo
estaremos retomando en el transcurso del trabajo.
Sistemas Centralizados
Nace en torno a una concepcin tradicional de la organizacin, con estructura
centralizada y jerrquica, dividida en departamentos. Cada departamento tiene unas
actividades muy concretas, las relaciones que pueda establecer con otros departamentos
estn muy definidas y limitadas y suelen realizarse a travs de la jerarqua.
El sistema de la base de datos centralizados se
informtico, sin interactuar con ningn otro sistema.
ejecuta en
el nico sistema
La arquitectura est centralizada en un servidor central al que slo tienen acceso los
usuarios del departamento correspondiente, no puede estar ubicada en varias partes
sino en su totalidad en un solo equipo, a el podrn ingresar los usuarios que
necesiten hacer uso de ella.
Estos sistemas abarcan a los tpicos equipos monopuestos1, y a los equipos con
sistemas multipuesto2, donde la base de datos esta centralizada en el sistema
principal.
Las tareas de gestin y control son mas sencillas pero no suelen ofrecer soluciones
excesivamente avanzadas en la gestin de bases de datos.
Caractersticas funcionales
1
2
Caractersticas fsicas
Caractersticas lgicas
Ventajas e Inconvenientes
Unidades de cinta
Disco
Disco
Impresora
UCP
Controlador
de disco de
disco
Controlador
de
impresora
Controlador
de unidad
de cinta
Controlador de
memoria
Memoria
Sistemas Cliente-Servidor
La Arquitectura Cliente/Servidor.- Es un modelo para el desarrollo de sistemas de
informacin en el que las transacciones se dividen en procesos independientes que
cooperan entre s para intercambiar informacin, servicios o recursos. Se denomina
cliente al proceso que inicia el dilogo o solicita los recursos y servidor al proceso que
responde a las solicitudes.
Arquitecturas mltiples clientes / mltiples servidores .- Son mas flexibles, ya que la base
de datos es distribuida en varios servidores. Cada cliente tiene un servidor directo al cual
hace sus peticiones. La comunicacin entre los servidores ejecuta las transacciones y
peticiones de los usuarios y esta es transparente para ellos.
Arquitecturas de igual a igual.-Un DBMS verdadero no distingue entre cliente y servidor.
Idealmente cada maquina puede desempear la funcionalidad de cliente y de servidor. La
base de datos es fsicamente distribuida en diferentes lugares fragmentado y replicando
los datos. La fragmentacin es deseable ya que hace posible el poner los datos cerca de
los usuarios que los necesitan, de esta forma reduciendo potencialmente el costo de la
transmisin y reduciendo el tamao de las relaciones involucradas en las consultas de los
usuarios.
Entre las principales caractersticas de la arquitectura cliente/servidor se pueden destacar
las siguientes:
El servidor presenta a todos sus clientes una interfaz nica y bien definida.
El cliente no necesita conocer la lgica del servidor, slo su interfaz externa.
El cliente no depende de la ubicacin fsica del servidor, ni del tipo de equipo
fsico en el que se encuentra, ni de su sistema operativo.
Los cambios en el servidor implican pocos o ningn cambio en el cliente.
Cliente
Cliente
Cliente
Cliente
Es posible que un servidor funcione como cliente de otro servidor. Esto es conocido
como diseo de dos capas encadenado.
Limitaciones:
- El nmero usuarios mximo es de 100. Ms all de este nmero de usuarios se excede la
capacidad de procesamiento.
- No hay independencia entre la interfaz de usuario y los tratamientos, lo que hace
delicada la evolucin de las aplicaciones.
- Dificultad de relocalizar las capas de tratamiento consumidoras de clculo.
- Reutilizacin delicada del programa desarrollado bajo esta arquitectura.
Arquitectura de 3 capas:
La arquitectura de 3 capas surgi para superar las limitaciones de la arquitectura de 2
capas. La tercera capa (servidor intermedio) est entre el interfaz de usuario (cliente) y el
gestor de datos (servidor). La capa intermedia proporciona gestin del procesamiento y
en ella se ejecutan las reglas y lgica de procesamiento. Permite cientos de usuarios (en
comparacin con slo 100 usuarios de la arquitectura de 2 capas). La arquitectura de 3
capas es usada cuando se necesita un diseo cliente / servidor que proporcione, en
comparacin con la arquitectura de 2 capas, incrementar el rendimiento, flexibilidad,
mantenibilidad, reusabilidad y escalabilidad mientras se esconde la complejidad del
procesamiento distribuido al usuario.
Limitaciones:
Construir una arquitectura de 3 capas es una tarea complicada. Las herramientas
de programacin que soportan el diseo de arquitecturas de 3 capas no proporcionan
todos los servicios deseados que se necesitan para soportar un ambiente de computacin
distribuida. Un problema potencial en el diseo de arquitecturas de 3 capas es que la
separacin de la interfaz grfica de usuario, la lgica de gestin de procesamiento y la
lgica de datos no es siempre obvia. Algunas lgicas de procesamiento de transacciones
pueden aparecer en las 3 capas. La ubicacin de una funcin particular en una capa u otra
debera basarse en criterios como los siguientes:
- Facilidad de desarrollo y comprobacin.
- Facilidad de administracin.
- Escalabilidad de los servidores.
- Funcionamiento (incluyendo procesamiento y carga de la red).
El middleware:
Como hemos visto, las capas estn localizadas en mquinas diferentes que estn
conectadas a travs de la red. El middleware es el software que proporciona un conjunto
de servicios que permite el acceso transparente a los recursos en una red. El middleware
es un mdulo intermedio que acta como conductor entre dos mdulos de software. Para
compartir datos, los dos mdulos de software no necesitan saber cmo comunicarse entre
ellos, sino cmo comunicarse con el mdulo de middleware.
Es el encargado del acceso a los datos: acepta las consultas y datos recuperados
directamente de la aplicacin y los transmite por la red. Tambin es responsable de enviar
de vuelta a la aplicacin, los datos de inters y de la generacin de cdigos de error.
Ventajas e Inconvenientes:
Ventajas
Aumento de la productividad:
Inconvenientes
Hay una alta complejidad tecnolgica al tener que integrar una gran variedad de
productos.
Requiere un fuerte rediseo de todos los elementos involucrados en los sistemas
de informacin (modelos de datos, procesos, interfaces, comunicaciones,
almacenamiento de datos, etc.). Adems, en la actualidad existen pocas
herramientas que ayuden a determinar la mejor forma de dividir las aplicaciones
entre la parte cliente y la parte servidor.
Es ms difcil asegurar un elevado grado de seguridad en una red de clientes y
servidores que en un sistema con un nico ordenador centralizado.
A veces, los problemas de congestin de la red pueden degradar el rendimiento
del sistema por debajo de lo que se obtendra con una nica mquina (arquitectura
centralizada). Tambin la interfaz grfica de usuario puede a veces ralentizar el
funcionamiento de la aplicacin.
El quinto nivel de esta arquitectura (bases de datos distribuidas) es tcnicamente
muy complejo y en la actualidad hay muy pocas implantaciones que garanticen un
funcionamiento totalmente eficiente.
Fases de implantation
Fase de Iniciacin
Esta etapa se centra sobre todo en la distribucin fsica de los componentes entre
plataformas. Los dos tipos de plataforma son:
Fase de Proliferacin
Datos de servidores a los que se accede a travs de una red de rea extensa
(WAN) y
Datos a los que se accede a travs de una red de rea local (RAL).
Fase de Control
En esta fase se consolidan los caminos de acceso desde una plataforma cliente particular
a una plataforma servidora particular.
Los conceptos en los que se debe poner especial nfasis son los siguientes:
Fase de Integracin
Esta etapa se caracteriza por el papel conjunto que juegan la gestin de accesos, la
gestin de copias y la gestin de recursos. La gestin de la informacin se debe realizar
de forma que se pueda entregar la informacin controlada por los servidores que
contienen los datos a las plataformas clientes que los requieran. El concepto en que se
basa este tipo de gestin es la distincin entre dos tipos de datos: datos de operacin y
datos de informacin. Para ajustarse a los posibles cambios en los procesos, los datos de
operacin varan continuamente mientras que los datos de informacin son invariables
porque son de naturaleza histrica y se obtienen tomando muestras en el tiempo de los
datos de operacin.
Fase de Madurez
Esta es la etapa final de una arquitectura cliente/servidor. Se caracteriza por una visin
ms flexible de las plataformas fsicas del sistema que se contemplan como una nica
unidad lgica. Este estado tambin se caracteriza porque la tecnologa cliente/servidor se
ha generalizado en la empresa. Ya no es un problema saber qu componentes se
distribuyen en qu plataformas, porque los recursos se pueden redistribuir para equilibrar
la carga de trabajo y para compartir los recursos de informacin. Lo fundamental aqu es
saber quin ofrece qu servicios. Para ello es necesario distinguir qu tipo de servicios y
recursos se demandan y conocer las caractersticas de esta arquitectura basada en
servicios.
En la fase de integracin veamos que se estableca una distincin entre datos de
operacin y datos de informacin histrica. Por contra, en un entorno de operacin
cliente/servidor que se encuentre en la fase de madurez, lo interesante es distinguir entre
dos nuevos trminos: organismo y grupo de trabajo. Esta distincin se establece
basndose en sus diferencias organizativas. El grupo de trabajo es el entorno en el que
grupos organizados de personas se centran en tareas especficas de la actividad del
organismo al que pertenecen. Estos equipos de personas requieren una informacin
propia y unas reglas de trabajo particulares, que pueden ser diferentes de las del
organismo en su globalidad.
Los sistemas Cliente-Servidor utilizan varios tipos de servidores los cuales son:
Servidor
de transacciones: tambien llamados sistemas servidores de
consultas, proporcionan una interfaz a travs de la cual los clientes
consultan a la base de datos. Se pueden usar con SQL o Procedimientos
almacenados.
Servidor de datos: permiten que los clientes puedan interactuar con los
servidores realizando peticiones de lectura o modificacin de datos en
unidades tales como archivos o paginas.
Servidor de Transacciones
Estos servidores se ocupan de la interaccin con los Clientes, desocupando al servidor
de datos de ello.
El servidor de transacciones se encarga de mantener un alto rendimiento, disponibilidad e
integridad de datos. Asimismo, se asegura de que ninguna computadora tenga demasiado
o muy poco que hacer.
Cuando un servidor de transacciones ve que a una computadora se le ha dado demasiado
trabajo, automticamente divide el trabajo entre todas las computadoras disponibles,
haciendo que las mismas compartan recursos para evitar que alguna de las mquinas se
colapse.
Cuando actualiza bases de datos, el servidor de transacciones tambin ejecuta lo que se
conoce como el manejo de estados. Esto quiere decir que si el servidor de transacciones
percibe que una computadora no puede completar una transaccin, hace que el software
abandone el trabajo y regrese a su estado original sin que ocurra corrupcin de datos.
Se basa en distintas normas, como pueda ser la ODBC4. Utiliza SQL para
comunicacin con los clientes y ofrece la ejecucin de procedimientos remotos.
la
Servidor de datos
Estos no so necesariamente servidores de bases d e datos relacionales, pueden ser
servidores d e archivos, servidores de directorios, de objetos, etc.
Tienen una comunicacin directa con los clientes, de forma que el cliente debe tener
todas las funcionalidades del sistema servidor.
Sus caractersticas son:
Envi de pginas o elementos.5
Bloqueo: gestionado por el servidor.
Cache de datos: agiliza el envi de datos muy comunes.
Cache de bloqueos.
4
5
Sistemas Paralelos
El concepto de paralelismo supone la introduccin de varios procesadores para resolver
un problema. Sabemos que un procesador diez veces ms potente que un procesador de
potencia normal para una fecha es mucho ms caro que diez procesadores de potencia
normal para dicha fecha. Por ello, si paralelizamos nuestro programa -es decir, dividimos
la carga computacional entre varios procesadores distintos- vamos a obtener una mejora
en la relacin entre costo y rendimiento. Con menos inversin en hardware estamos
obteniendo mucha ms potencia computacional.
6
P
P
P
P
6
7
P
P
P
P
P
P
P
P
P
P
P
P
P
P
Cuando trabajamos con paralelismo debemos tener muy en cuenta que se trabaja
con recursos dependientes entre si, claro lo deseable son los recursos independientes
que permitan la ganancia de velocidad lineal.
Ganancia de ampliabilidad
Es la capacidad para procesar tareas mas largas en el mismo tiempo mediante un
incremento de los recursos.
Existen dos tipos de ampliabilidad:
1. Ampliabilidad por lotes:
a. Aumenta el tamao de la base d e datos, y las tareas son trabajos mas
largos, cuyos tiempos de ejecucin dependen d el tamao de la base d
e datos (Ej.: recorrido secuencial)
b. El problema es el tamao.
2. Ampliabilidad de transacciones:
a. Aumenta la velocidad a la que se envan las peticiones a la base d e
datos, y el tamao crece proporcionalmente a la tasa de transaccin.
(Ej.: reserva una butaca en el cine: -> mas butaca, mas reservas)
b. Se adapta muy bien a la ejecucin paralela, ya que las transacciones
se ejecutan de forma concurrente.
c. Las transacciones duran lo mismo, por lo que e s factible un
paralelismo lineal.
Costes de inicio:
o El inicio de un nico proceso lleva asociado un coste de inicio. En una
operacin paralela compuesta por miles de procesos, el tiempo de
inicio puede ser mayor que el de procesamiento.
Interferencia:
o Problema en el ascenso a recursos compartidos, que traen consigo
bloqueos y abrazos mortales.
Sesgo:
o Al dividir cada tarea en un cierto numero de pasos paralelos se
rdese el tamao del paso medio, pero el tiempo para completar la
tarea viene dada por el tiempo de completar el paso mas lento.
o Dado que rara vez se puede dividir una tarea en Pazos iguales, es
difcil que se consiga un aumento del rendimiento lineal.
8
9
Bus: todos los componentes del sistema pueden enviar o recibir datos de un
nico bus d e comunicaciones. El bus solo puede gestionar la comunicacin
de un elemento en un momento dado8.
Malla: los componentes se organizan como nodos d e una retcula9. Se utiliza
el paso de mensajes.
Hipercubo: sistema de conexin n-dimensional basado en la representacin
binaria de los componentes. Es un sistema de altas prestaciones y mas
eficiente que el d e malla.
Cuellos de botella.
Conectividad adyacente.
Marianne Ulate Arburola
Universidad Internacional De Las Americas
XXIII
Sistemas Distribuidos
En un sistema de datos distribuidos, la informacin s e almacena en varios
ordenadores, dichos ordenadores estn conectados por redes de comunicacin de alta
velocidad o lneas telefnicas. Por lo que pueden realizar transacciones globales ,
segn tenga que acceder solo a sus datos o a los datos almacenados en las bases de
datos distribuidas.
Q u e s u n S is t e m a D is t r ib u id o ?
A o s 6 0 - 7 0 : S i s t e m a s C e n t r a l iz a d o s ( C a r o s )
A os 8 0: O rd enad or es P ersonales
O rd ena d ore s
I n d e p e n d ien t e s
A c c e so rio s
C a ros
Poco
A provec h a bles
S is t e m a s e n R e d
S is t e m a s
D i s t r i b u id o s
L A N a l t a v e lo c id a d
SON
T RA N S PA REN T ES
LA N
WAN
O B J E T I V O S .D .
C o m p a r t ir R e c u r s o s
F c il m e n t e
S i ste m a s D i s tr ib u i d o s
In tr o d u c c i n - 3
10
Emplazamiento : nombre que se usa para referirse a las computadoras que forman parte de un
sistema distribuidos.
Fig. 11
Ventajas de un sistema distribuido:
El compartimiento de recursos
Apertura
Concurrencia
Escalabilidad
Tolerancia de fallas
Transparencia
Desventajas de un sistema distribuido:
Complejidad
Seguridad
Manejabilidad
Impredecibilidad
Mayor costo de desarrollo del software: al tener que reunir una serie de
caractersticas especiales.
Mayor probabilidad de errores: como los emplazamientos operan en paralelo, es
ms difcil asegurar la correccin de los algoritmos.
Marianne Ulate Arburola
Universidad Internacional De Las Americas
XXVI
11
Conclusin
Al terminar este trabajo de arquitectura de sistemas de bases de datos hemos
logrado entender y analizar en gran parte su estructura fsica, lgica, y funcional.
Al hablar de arquitecturas centralizadas si dio a relucir que se trabaja con un solo
sistema informtico y no interacta
con ningn otro, estos sistemas abarcan
monopuesto y multipuestos.
Las arquitecturas centralizadas no suelen ofrecer soluciones excesivamente avanzadas
en la gestin de bases de datos.
El advenimiento de los sistemas de gestin de bases de datos relacinales (RDBMS),
Relational Database Management System fue, realmente, la tecnologa clave que hizo
posible la arquitectura informtica cliente-servidor. El RDBMS servia como almacn
centralizado para los datos de la organizacin. El RDBMS estaba diseado para gestionar
el acceso multiusuario a un conjunto compartido de datos. Toda la gestin de bloqueos y
conexiones es llevada a cabo por el RDBMS, que tambin se encarga de la seguridad. El
lenguaje SQL (Structured Query Language), fue creado como lenguaje universal de
programacin para solicitar datos especficos a un RDBMS.
La arquitectura cliente-servidor fue realmente una combinacin de las mejores funciones
del entorno basado en host y del entorno de red de rea local basado en PC. Esta
arquitectura utiliza la potencia del PC para realizar la presentacin de los datos, junto con
el complicado procesamiento relativo a la lgica de negocio que aade valor a dichos
datos. El RDBMS proporciona un rea de almacenamiento centralizada par los datos. La
arquitectura cliente-servidor puede tomar muchas formas, dependiendo de cmo se elija
separar los niveles de presentacin, lgica de negocio y datos.
Las bases de datos distribuidas y paralelas han permitido que los sistemas de base de
datos puedan crecer considerablemente en la cantidad de informacin que manejan, ya
que permiten sistemas integrados con mltiples computadoras, las cuales pueden estar
distribuidas en distintas partes del mundo y cada una tener los recursos suficientes para
contener y manejar por si sola grandes cantidades de informacin. El empleo de sistemas
paralelos y distribuidos nos permite tambin dividir las consultas para que sean realizadas
a una mayor velocidad por distintas mquinas o procesadores, incrementando
enormemente el rendimiento del sistema de base de datos.
Sin embargo, no obstante las ventajas que presenta la distribucin de la informacin y el
empleo de sistemas paralelos para manejarla, estos esquemas presentan algunos
inconvenientes, no triviales, que deben ser manejados adecuadamente, tales como las
decisiones de la distribucin fsica de la informacin; de que manera ser fragmentada, si
existirn copias de los fragmentos en distintas localidades, de que manera se va a manejar
Marianne Ulate Arburola
Universidad Internacional De Las Americas
XXVIII
Bibliografa