Bases de Datos Especializadas
1 Sesión No. 1 Nombre: Arquitectura de los sistemas de bases de datos Objetivo : Al término de la sesión, el alumno distinguirá los modelos de arquitectura de los sistemas de bases de datos. Contextualización Después del capital humano, la información es el patrimonio más valioso en toda empresa u organización. En el actual entorno económico, el proceso de toma de decisiones debe llevarse a cabo sobre una sólida base de información, la cual debe ser completa, confiable y oportuna, a efecto de proveer certidumbre en la delicada responsabilidad de definir las acciones relativas a la dirección de la empresa. Una base de datos es un sistema cuyo objetivo fundamental es generar información para la toma de decisiones. Su diseño considera múltiples factores como son: los objetivos de la empresa, su organización, sus políticas, su infraestructura y sus recursos humanos. En una empresa u organización Cuáles pueden ser los resultados de tomar decisiones sin disponer de información para ello?
2 Introducción Toda empresa cuenta en cierta medida con una estructura organizacional dividida en áreas o departamentos. Cada departamento desarrolla un conjunto de actividades específicas y bien definidas. Las relaciones que pueda establecer con otros departamentos están claramente establecidas y limitadas y suelen regularse de acuerdo a la normativa de la compañía. Un elemento fundamental para la consecución de los objetivos estratégicos de la misma, es un sistema de información denominado base de datos. Dada la relevancia de este sistema como un instrumento fundamental para la toma de decisiones corporativas, en su implantación se debe considerar la organización de la empresa en sus distintos departamentos y sus correspondientes relaciones e interacciones. En la presente sesión se explican los principales diseños denominados arquitecturas que permiten el desarrollo de una base de datos en función de la forma de organización de la empresa. Los tipos de arquitectura a revisar son: centralizada, cliente-servidor, descentralizada y distribuida.
3 Explicación Arquitectura centralizada Dentro de una organización o empresa estructurada en áreas, esta arquitectura de base de datos se caracteriza por configurar un servidor central, al que sólo tienen acceso desde sus equipos, los usuarios adscritos a esa área en particular. El servidor central contiene todos los datos y en él se consolida íntegramente la información. Desde éste, se controla el acceso de las múltiples terminales que acceden al él mediante programas de cómputo integrados en la arquitectura de red instalada por un proveedor. De esta forma, las terminales operan como clientes del servidor central, en donde cada usuario es identificado un número y se le asignan, a través del administrador de la red, y con base en las políticas de trabajo de la organización, privilegios y restricciones de acceso, consulta y modificación de la información. Si la empresa está dispersa geográficamente y dispone de sistemas de comunicaciones remotas, todos los puestos de trabajo de las diferentes ubicaciones que se conectan al servidor central: Diagrama de arquitectura centralizada
4 Arquitectura cliente-servidor La arquitectura cliente-servidor, es un modelo que se fundamenta en la distribución de funciones entre dos tipos de procesos independientes y autónomos en la base de datos: servidores y clientes. Un cliente puede definirse como un proceso que solicita servicios específicos a un servidor. Un servidor es un proceso que otorga los servicios solicitados por sus clientes. Los procesos cliente-servidor se llevan a cabo en una misma computadora o en diferentes que estén enlazadas mediante una red. Arquitectura cliente-servidor Cuando los procesos cliente-servidor se ubican en diferentes equipos independientes en una red, el servidor puede ofrecer sus procesos a más de un cliente. Asimismo, un cliente puede solicitar servicios a más de un servidor en la red, sin que su ubicación y características físicas de los servidores tengan trascendencia alguna. Una red enlaza servidores y clientes y se constituye como el medio a través del cual se realiza la comunicación entre clientes y servidores. Es importante destacar que este tipo de arquitectura puede implantarse en una sola computadora, sin embargo, es de mayor utilidad cuando se configura en una red de computadoras. Las arquitecturas centralizada, descentralizada y distribuida, se basan en la arquitectura cliente-servidor, con las adaptaciones particulares que las distingue a cada una de ellas.
5 Arquitectura descentralizada El concepto de una arquitectura descentralizada, se define estrictamente sobre una red de computadoras. Todas las funciones y operaciones de la base de datos, se descentralizarán hacia los nodos periféricos de la red, sin que las actividades del sistema se procesen en su totalidad en algún punto central de control. Arquitectura descentralizada La arquitectura descentralizada se caracteriza por la integración y conexión de aplicaciones y bases de datos ubicadas en localidades remotas. Asimismo, admitirá la interoperabilidad con múltiples plataformas, aplicaciones y dispositivos. Arquitectura distribuida La arquitectura de procesamiento distribuido también es conocida como arquitectura multicapa. Al igual que en la arquitectura descentralizada, se debe implantar en una red de computadoras. La arquitectura distribuida puede considerarse como una arquitectura centralizada mejorada, en el sentido de que los datos se almacenan de una forma más organizada. Este tipo de arquitectura se asocia a una base de datos distribuida, en la cual la información se almacena en varias computadoras. Las computadoras de un sistema distribuido se comunican entre sí a través de diversos medios de comunicación,
6 tales como cables de alta velocidad o líneas telefónicas. No comparten la memoria principal ni el reloj. Los procesadores de un sistema distribuido pueden variar en cuanto su tamaño y función. Pueden incluir microcomputadores pequeños, estaciones de trabajo y sistemas de computadores grandes de aplicación general. Estos procesadores reciben diferentes nombres, tales como localidades, nodos o computadoras y pueden estar dispersas, ya sea por un área geográfica extensa (a lo largo de un país). Un sistema distribuido de base de datos consiste en un conjunto de localidades, cada una de las cuales mantiene un sistema de base de datos local. Cada localidad puede procesar transacciones locales, o bien transacciones globales entre varias localidades, requiriendo para ello comunicación entre ellas. Arquitectura distribuida Existen varias razones para construir sistemas distribuidos de bases de datos que incluyen compartir la información, fiabilidad y disponibilidad y agilizar el procesamiento de las consultas. Pero también tiene sus desventajas, como desarrollos de software más costosos, mayor posibilidad de errores y costos extras de procesamiento.
7 Conclusión La arquitectura de los sistemas de bases de datos, en general puede clasificarse como: Arquitectura centralizada Arquitectura cliente-servidor Arquitectura descentralizada Arquitectura distribuida
8 Para aprender más A continuación encontrarás un par de hipervínculos para conocer y profundizar más sobre el tema de arquitectura de los sistemas de bases de datos. Página que contiene el artículo Re-pensando la arquitectura de los sistemas de bases de datos. (En inglés) http://brd.unid.edu.mx/re-pensando-la-arquitectura-de-los-sistemas-de-bases-dedatos/ Comparativa Arquitectura Cliente/Servidor y Distribuida http://es.slideshare.net/profetiacademico/comparativa-arquitecturaclienteservidor-y-distribuida
9 Actividad de Aprendizaje Objetivo de la actividad de aprendizaje de la sesión: El alumno distinguirá las características de los modelos de arquitectura centralizada, cliente-servidor, descentralizada, y distribuida, de los sistemas de bases de datos en un cuestionario en línea. Instrucciones: Qué vas a hacer? En esta sesión debes responder un cuestionario automatizado acerca del contenido de la misma. Material: Puedes usar la lectura de la sesión. Cuál es la forma de entrega? Ingresa a la plataforma, elige el hipervínculo del cuestionario y responde las preguntas. Cómo serás evaluado? El cuestionario tiene 10 preguntas, por lo tanto tu calificación máxima será de 100 (10). Podrás ver tu calificación al concluir la fecha para resolverlo según el calendario del curso. Esta actividad representa el 5% de tu calificación final. Adelante con tu actividad! Bibliografía Abello, A., Rollo n, E., & Rodri guez, M. E. (2006). Disen o y administracio n de bases de datos. Barcelona: UPC.
10 Bengoechea, J. (2012). Microsoft Access: Diseño de aplicaciones sencillas de bases de datos. España: Vigo Ideaspropias. Coronel, C. & Steven M. (2013). Database Systems: Design, Implementation, and Management. Boston: Cengage Learning. Gómez, Y.; Molina, M. y Cataño, S. (2011) Comparativa entre Arquitectura Cliente / Servidor y Arquitectura Distribuida. Consultado en abril de 2013 de http://es.slideshare.net/profetiacademico/comparativa-arquitecturaclienteservidor-y-distribuida Nevado, M. (2010). Introducción a las bases de datos relacionales. Madrid: Visión Libros. Pratt, P. & Adamski, J. (2012). Concepts of database management. Boston: Cengage Learning. Rob, P., & Coronel, C. (2004). Sistemas de bases de datos: Diseño, implementación y administración. México, D.F: Cengage Learning. Weikum, G. (s.f.) Rethinkg Database System Architecture: Towards a Self-tuning RISC style Database System. Consultado en abril de 2013 de http://www.vldb.org/conf/2000/p001.pdf.