Docente: Ing. lvaro Meja Documento de Apoyo de la Materia Base de Datos 2 Contenido
1 ARQUITECTURA DE LOS SISTEMAS DE BASES DE DATOS ............................................... 2 Sistemas Centralizados. ................................................................................................................... 2 Sistemas cliente servidor. ............................................................................................................. 3 Sistemas a n capas. .......................................................................................................................... 4 Sistemas distribuidos. .................................................................................................................. 5 2 TEMAS ESPECIALES. ................................................................................................................... 5 Pruebas de rendimiento. .................................................................................................................. 6 Ajuste del rendimiento. ................................................................................................................... 6 TRABAJO DE INVESTIGACIN: NUEVAS APLICACIONES .................................................... 7
2
1 ARQUITECTURA DE LOS SISTEMAS DE BASES DE DATOS La arquitectura de los sistemas de bases de datos est enormemente influenciada por el sistema informtico subyacente en el que se ejecuta el sistema de bases de datos. Los sistemas de bases de datos pueden ser centralizados, o cliente-servidor, donde una mquina que hace de servidor ejecuta trabajos de mltiples mquinas clientes. Las bases de datos distribuidas abarcan muchas mquinas separadas geogrficamente. Sistemas Centralizados.
Los sistemas de bases de datos centralizados son aquellos que se ejecutan en un nico sistema informtico sin interaccionar con ninguna otra computadora.
Una computadora moderna de propsito general consiste en una o unas pocas unidades centrales de procesamiento y un nmero determinado de controladores para los dispositivos que se encuentran conectados a travs de un bus comn, el cual proporciona acceso a la memoria compartida (Figura 18.1).
Fuente: Libro FUNDAMENTOS DE BASES DE DATOS 3
Sistemas cliente servidor.
Tienen su funcionalidad dividida entre el sistema servidor y mltiples sistemas clientes. Como las computadoras personales son ahora ms rpidas, ms potentes y ms baratas, los sistemas se han ido distanciando de la arquitectura centralizada. Los terminales conectados a un sistema central han sido suplantados por computadoras personales. De igual forma, la interfaz de usuario, que sola estar gestionada directamente por el sistema central, est pasando a ser gestionada, cada vez ms, por las computadoras personales.
Como consecuencia, los sistemas centralizados actan hoy como sistemas servidores que satisfacen las peticiones generadas por los sistemas clientes. En la Figura 18.2 se representa la estructura general de un sistema cliente-servidor.
Fuente: Libro FUNDAMENTOS DE BASES DE DATOS
4
Sistemas a n capas.
Arquitectura de n capas - Programacin por capas
La programacin por capas es una arquitectura cliente-servidor en el que el objetivo primordial es la separacin de la lgica de negocios de la lgica de diseo; un ejemplo bsico de esto consiste en separar la capa de datos de la capa de presentacin al usuario.
La ventaja principal de este estilo es que el desarrollo se puede llevar a cabo en varios niveles y, en caso de que sobrevenga algn cambio, slo se ataca al nivel requerido sin tener que revisar entre cdigo mezclado. Un buen ejemplo de este mtodo de programacin sera el modelo de interconexin de sistemas abiertos.
En el diseo de sistemas informticos actual se suelen usar las arquitecturas multinivel o Programacin por capas. En dichas arquitecturas a cada nivel se le confa una misin simple, lo que permite el diseo de arquitecturas escalables (que pueden ampliarse con facilidad en caso de que las necesidades aumenten).
El diseo ms utilizado actualmente es el diseo en tres niveles (o en tres capas).
Capas y niveles: Fuente: http://www.icde.org.co/web/ide_gig/blogs/-/blogs/un-acercamiento-a- hibernate-spatial
1. Capa de presentacin: es la que ve el usuario (tambin se la denomina "capa de usuario"), presenta el sistema al usuario, le comunica la informacin y captura la informacin del usuario en un mnimo de proceso (realiza un filtrado previo para comprobar que no hay errores de formato). Tambin es conocida como interfaz grfica y debe tener la caracterstica de ser "amigable" (entendible y fcil de usar) para el usuario. Esta capa se comunica nicamente con la capa de negocio. 2. Capa de negocio: es donde residen los programas que se ejecutan, se reciben las peticiones del usuario y se envan las respuestas tras el proceso. Se denomina capa de negocio (e incluso de lgica del negocio) porque es aqu donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentacin, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos almacenar o recuperar datos de l. Tambin 5
se consideran aqu los programas de aplicacin.
3. Capa de datos: es donde residen los datos y es la encargada de acceder a los mismos. Est formada por uno o ms gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperacin de informacin desde la capa de negocio. Todas estas capas pueden residir en un nico computador, si bien lo ms usual es que haya una multitud de computadoras en donde reside la capa de presentacin (son los clientes de la arquitectura cliente/servidor). Las capas de negocio y de datos pueden residir en el mismo computador, y si el crecimiento de las necesidades lo aconseja se pueden separar en dos o ms computadoras. As, si el tamao o complejidad de la base de datos aumenta, se puede separar en varias computadoras los cuales recibirn las peticiones del computador en que resida la capa de negocio. Si, por el contrario, fuese la complejidad en la capa de negocio lo que obligase a la separacin, esta capa de negocio podra residir en uno o ms computadores que realizaran solicitudes a una nica base de datos. En sistemas muy complejos se llega a tener una serie de computadores sobre los cuales corre la capa de negocio, y otra serie de computadores sobre los cuales corre la base de datos.
Sistemas distribuidos. En un sistema distribuido de bases de datos se almacena la base de datos en varias computadoras. Varios medios de comunicacin, como las redes de alta velocidad o las lneas telefnicas, son los que pueden poner en contacto las distintas computadoras de un sistema distribuido. No comparten ni memoria ni discos. Las computadoras de un sistema distribuido pueden variar en tamao y funcin pudiendo abarcar desde las estaciones de trabajo a los grandes sistemas. Dependiendo del contexto en el que se mencionen existen diferentes nombres para referirse a las computadoras que forman parte de un sistema distribuido, tales como sitios o nodos. Para enfatizar la distribucin fsica de estos sistemas se usa principalmente el trmino sitio. En la Figura 18.9 se muestra la estructura general de un sistema distribuido.
Fuente: Libro FUNDAMENTOS DE BASES DE DATOS
2 TEMAS ESPECIALES. 6
Pruebas de rendimiento.
A medida que se van estandarizando los servidores de bases de datos, el factor diferenciador entre los productos de los diferentes fabricantes es el rendimiento de esos productos. Las pruebas de rendimiento son conjuntos de tareas que se emplean para cuantificar el rendimiento de los sistemas de software.
21.3.3. Las pruebas TPC
El Consejo para el rendimiento del procesamiento de las transacciones (Transaction Processing Performance Council, TPC) ha definido una serie de normas de ndices para los sistemas de bases de datos. Los ndices TPC se definen con gran minuciosidad y sirven para reflejar que una tasa mayor de ejecucin de transacciones probablemente se halle correlacionada con un nmero mayor de tuplas. La mtrica del rendimiento es el flujo, expresado como transacciones por segundo (TPS). Cuando se mide el rendimiento, el sistema debe proporcionar un tiempo de respuesta que se halle dentro de ciertos lmites, de modo que un flujo elevado no pueda obtenerse a expensas de tiempos de respuesta muy elevados. el sistema debe incluir el soporte pleno de las propiedades ACID de las transacciones. Ajuste del rendimiento.
El ajuste del rendimiento de un sistema implica el ajuste de varios parmetros y opciones de diseo para mejorar su rendimiento para una aplicacin concreta. Varios aspectos del diseo de los sistemas de bases de datos (que van desde aspectos de alto nivel como el esquema y el diseo de las transacciones hasta parmetros de las bases de datos como los tamaos de la memoria intermedia o aspectos del hardware como el nmero de discos) afectan al rendimiento de las aplicaciones. Cada uno de estos aspectos puede ajustarse de modo que se mejore el rendimiento.
21.2.2. Parmetros ajustables
Los administradores de bases de datos pueden ajustar los sistemas de bases de datos en tres niveles. El nivel inferior es el nivel de hardware. Las opciones para el ajuste de los sistemas en este nivel incluyen aadir discos o usar sistemas RAID (si la E/S de disco constituye un cuello de botella), aadir ms memoria si el tamao de la memoria intermedia de disco constituye un cuello de botella o aumentar la velocidad del procesador si el empleo de la CPU constituye un cuello de botella.
El segundo nivel consiste en los parmetros de los sistemas de bases de datos, como el tamao de la memoria intermedia y los intervalos de puntos de revisin. El conjunto exacto de los parmetros de los sistemas de bases de datos que pueden ajustarse depende de cada sistema concreto de bases de datos. La mayor parte de los manuales de los sistemas de bases de datos proporcionan informacin sobre los parmetros del sistema de bases de datos que pueden ajustarse y sobre el modo en que deben escogerse los valores de esos parmetros.
Los sistemas de bases de datos bien diseados llevan a cabo automticamente todos los ajustes posibles, lo que libera al usuario o al administrador de la base de datos de esa carga.
El tercer nivel es el nivel superior. Incluye el esquema y las transacciones. El administrador puede ajustar el diseo del esquema, los ndices que se crean y las transacciones que se ejecutan para mejorar el rendimiento.
7
TRABAJO DE INVESTIGACIN: Realizar un trabajo de investigacin en grupos de 4 personas, donde se defina el concepto y ventajas de cada tema: De cada tema realizar un resumen de mximo una hoja, incluyendo una imagen. Usar formato APA. Incluir referencias a papers y bibliografa de libros existentes en la biblioteca. o Qu es una transaccin de base de datos. o Propiedades ACID de las transacciones. o Pruebas de Rendimiento o Ajuste del Rendimiento. Bibliografa:
Administracion de Base de Datos. (25 de Mayo de 2012). Recuperado el 01 de Septiembre de 2013, de http://iutll-abdd.blogspot.com/2012/05/arquitectura-de-n-capas.html Korth, H., Silberschatz, A., & Sudarshan, S. (2002). FUNDAMENTOS DE BASES DE DATOS. Madrid: McGraw-Hill Interamericana de Espaa.