Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE
GESTIN
DE
BASES DE
DATOS
Alumnos :
Angel Castejn Asensio 48576067K
Miguel Lirio Villena 45839549C
Javier-Umbe Gmez Tirado 48624943E
Pablo Snchez Alonso 53240612M
1. TCNICASDEGESTINDEBASEDEDATOS
Los sistemas de gestin de bases de datos son un tipo de software muy especfico, dedicado
a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan.
Existen distintos objetivos que deben cumplir los SGBD:
Abstraccin de la informacin. Los SGBD ahorran a los usuarios detalles acerca del
almacenamiento fsico de los datos. Da lo mismo si una base de datos ocupa uno o cientos
de archivos, este hecho se hace transparente al usuario. As, se definen varios niveles de
abstraccin.
Independencia. La independencia de los datos consiste en la capacidad de modificar el
esquema (fsico o lgico) de una base de datos sin tener que realizar cambios en las
aplicaciones que se sirven de ella.
Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, ser
necesario vigilar que aquella informacin que aparece repetida se actualice de forma
coherente, es decir, que todos los datos repetidos se actualicen de forma simultnea. Por
otra parte, la base de datos representa una realidad determinada que tiene determinadas
condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El
sistema no debera aceptar datos de un conductor menor de edad. En los SGBD existen
herramientas que facilitan la programacin de este tipo de condiciones.
Seguridad. La informacin almacenada en una base de datos puede llegar a tener un gran
valor. Los SGBD deben garantizar que esta informacin se encuentra segura de permisos a
usuarios y grupos de usuarios, que permiten otorgar diversas categoras de permisos.
Manejo de transacciones. Una transaccin es un programa que se ejecuta como una sola
operacin. Esto quiere decir que luego de una ejecucin en la que se produce una falla es el
mismo que se obtendra si el programa no se hubiera ejecutado. Los SGBD proveen
mecanismos para programar las modificaciones de los datos de una forma mucho ms
simple que si no se dispusiera de ellos.
Tiempo de respuesta. Lgicamente, es deseable minimizar el tiempo que el SGBD tarda en
darnos la informacin solicitada y en almacenar los cambios realizados.
1.1. MEJORAS DE LOS SGBD
Proveen facilidades para la manipulacin de grandes volmenes de datos (ver objetivos).
Entre stas:
Simplifican la programacin de equipos de consistencia.
Manejando las polticas de respaldo adecuadas, garantizan que los cambios de la base sern
siempre consistentes sin importar si hay errores correctamente, etc.
Organizan los datos con un impacto mnimo en el cdigo de los programas.
Bajan drsticamente los tiempos de desarrollo y aumentan la calidad del sistema
desarrollado si son bien explotados por los desarrolladores.
Usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperacin de
los datos.
1.2 INCONVENIENTES DE LOS SGBD
Tpicamente, es necesario disponer de una o ms personas que administren de la base de
datos, en la misma forma en que suele ser necesario en instalaciones de cierto porte
disponer de una o ms personas que administren los sistemas operativos. Esto puede llegar
a incrementar los costos de operacin en una empresa. Sin embargo hay que balancear este
aspecto con la calidad y confiabilidad del sistema que se obtiene.
Si se tienen muy pocos datos que son usados por un nico usuario por vez y no hay que
realizar consultas complejas sobre los datos, entonces es posible que sea mejor usar una
planilla de clculo.
Complejidad: los software muy complejos y las personas que vayan a usarlo deben tener
conocimiento de las funcionalidades del mismo para poder aprovecharlo al mximo.
Tamao: la complejidad y la gran cantidad de funciones que tienen hacen que sea un
software de gran tamao, que requiere de gran cantidad de memoria para poder correr.
Coste del hardware adicional: los requisitos de hardware para correr un SGBD por lo
general son relativamente altos, por lo que estos equipos pueden llegar a costar gran
cantidad de dinero.
Esta arquitectura consiste bsicamente en un cliente que realiza peticiones a otro programa
(el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se
ejecutan sobre una sola computadora es ms ventajosa en un sistema operativo multiusuario
distribuido a travs de una red de computadoras.
En esta arquitectura la capacidad de proceso est repartida entre los clientes y los
servidores, aunque son ms importantes las ventajas de tipo organizativo debidas a la
centralizacin de la gestin de la informacin y la separacin de responsabilidades, lo que
facilita y clarifica el diseo del sistema.
La separacin entre cliente y servidor es una separacin de tipo lgico, donde el servidor no
se ejecuta necesariamente sobre una sola mquina ni es necesariamente un slo programa.
Los tipos especficos de servidores incluyen los servidores web, los servidores de archivo,
los servidores del correo, etc. Mientras que sus propsitos varan de unos servicios a otros,
la arquitectura bsica seguir siendo la misma.
Una disposicin muy comn son los sistemas multicapa en los que el servidor se
descompone en diferentes programas que pueden ser ejecutados por diferentes
computadoras aumentando as el grado de distribucin del sistema.
La arquitectura cliente-servidor sustituye a la arquitectura monoltica en la que no hay
distribucin, tanto a nivel fsico como a nivel lgico.
En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus
caractersticas son:
Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicacin
(dispositivo maestro o amo).
Espera y recibe las respuestas del servidor.
Por lo general, puede conectarse a varios servidores a la vez.
Normalmente interacta directamente con los usuarios finales mediante una interfaz grfica
de usuario.
Al receptor de la solicitud enviada por cliente se conoce como servidor. Sus caractersticas
son:
Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempean entonces un
papel pasivo en la comunicacin (dispositivo esclavo).
Tras la recepcin de una solicitud, la procesan y luego envan la respuesta al cliente.
Por lo general, aceptan conexiones desde un gran nmero de clientes (en ciertos casos el
nmero mximo de peticiones puede estar limitado).
No es frecuente que interacten directamente con los usuarios finales.
ARQUITECTURA MULTICAPAS
La arquitectura cliente/servidor genrica tiene dos tipos de nodos en la red: clientes y
servidores. Consecuentemente, estas arquitecturas genricas se refieren a veces como
arquitecturas de dos niveles o dos capas.
Algunas redes disponen de tres tipos de nodos:
Clientes que interactan con los usuarios finales.
Servidores de aplicacin que procesan los datos para los clientes.
Servidores de la base de datos que almacenan los datos para los servidores de aplicacin.
Esta configuracin se llama una arquitectura de tres-capas.
Ventajas de las arquitecturas n-capas:
La ventaja fundamental de una arquitectura n-capas comparado con una arquitectura de dos
niveles (o una tres-capas con una de dos niveles) es que separa hacia fuera el proceso, eso
ocurre para mejorar el balance la carga en los diversos servidores; es ms escalable.
Desventajas de las arquitecturas de la n-capas:
Pone ms carga en la red, debido a una mayor cantidad de trfico de la red.
Es mucho ms difcil programar y probar el software que en arquitectura de dos niveles
porque tienen que comunicarse ms dispositivos para terminar la transaccin de un usuario.
MEJORAS DE LA ARQUITECTURA CLIENTE-SERVIDOR
Centralizacin del control: los accesos, recursos y la integridad de los datos son controlados
por el servidor de forma que un programa cliente defectuoso o no autorizado no pueda
daar el sistema. Esta centralizacin tambin facilita la tarea de poner al da datos u otros
recursos (mejor que en las redes P2P).
Escalabilidad: se puede aumentar la capacidad de clientes y servidores por separado.
Cualquier elemento puede ser aumentado (o mejorado) en cualquier momento, o se pueden
aadir nuevos nodos a la red (clientes y/o servidores).
Fcil mantenimiento: al estar distribuidas las funciones y responsabilidades entre varios
ordenadores independientes, es posible reemplazar, reparar, actualizar, o incluso trasladar
un servidor, mientras que sus clientes no se vern afectados por ese cambio (o se afectarn
mnimamente). Esta independencia de los cambios tambin se conoce como encapsulacin.
Existen tecnologas, suficientemente desarrolladas, diseadas para el paradigma de C/S que
aseguran la seguridad en las transacciones, la amigabilidad del interfaz, y la facilidad de
empleo.
INCONVENIENTES DE LA ARQUITECTURA CLIENTE-SERVIDOR
La congestin del trfico ha sido siempre un problema en el paradigma de C/S. Cuando una
gran cantidad de clientes envan peticiones simultaneas al mismo servidor, puede ser que
cause muchos problemas para ste (a mayor nmero de clientes, ms problemas para el
servidor). Al contrario, en las redes P2P como cada nodo en la red hace tambin de
servidor, cuantos ms nodos hay, mejor es el ancho de banda que se tiene.
El paradigma de C/S clsico no tiene la robustez de una red P2P. Cuando un servidor est
cado, las peticiones de los clientes no pueden ser satisfechas. En la mayor parte de redes
P2P, los recursos estn generalmente distribuidos en varios nodos de la red. Aunque
algunos salgan o abandonen la descarga; otros pueden todava acabar de descargar
consiguiendo datos del resto de los nodos en la red.
El software y el hardware de un servidor son generalmente muy determinantes. Un
hardware regular de un ordenador personal puede no poder servir a cierta cantidad de
clientes. Normalmente se necesita software y hardware especfico, sobre todo en el lado del
servidor, para satisfacer el trabajo. Por supuesto, esto aumentar el coste.
El cliente no dispone de los recursos que puedan existir en el servidor. Por ejemplo, si la
aplicacin es una Web, no podemos escribir en el disco duro del cliente o imprimir
directamente sobre las impresoras sin sacar antes la ventana previa de impresin de los
navegadores.