Introducción Es de mucha importancia, saber en realidad a que nos referimos cuando hablamos de “Las bases de datos distribuidas”; porque la mayoría de veces confundimos varias definiciones y entrelazamos conceptos que en verdad están hablando de otra cosa que ni entendemos, ni son las correctas. Es por ello, que este trabajo nos da una breve explicación sobre el tema, dándonos la idea visual de como se lleva a cabo y de que manera se realiza. En la actualidad, casi y prácticamente para todo las bases de datos unen información precisa relacionada con un tema o sobre algo. Estas son tan usadas masivamente por empresas de gran prestigio o aun personas quienes tienes una variedad de información que es importante. Sin embargo, se tendrá en una pequeña advertencia que esta información es la esencia del tema citado, ya que no solo nos ayudara a formalizar nuestros conocimientos, sino que nos dará una amplia idea y motivación para desarrollar a un mas este tema. 1 El auge de las bases de datos distribuidas Para empezar a desarrollar el tema sobre el auge de las bases de datos distribuidas, es primordial empezar definiendo el aspecto de bases de datos distribuidas y todos los conceptos que van entrelazados entre el auge (Periodo o momento de mayor elevación o de descubrimiento en un proceso o estado de cosas) y las bases de datos distribuidas. Por ello, es que nos haremos esta pregunta: ¿Qué son las bases de datos distribuidas? En un sistema de base de datos distribuida, los datos se almacenan en varios computadores. Los computadores de un sistema distribuido se comunican entre sí a través de diversos medios de comunicación, 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 computadores. Un sistema distribuido de bases de datos consiste en un conjunto de localidades, cada uno de las cuales puede participar en la ejecución de transacciones que accedan a datos de una o varias localidades. La diferencia principal entre los sistemas de base de datos centralizados y distribuidos es que, en los primeros, los datos residen en una sola localidad, mientras que, en los últimos, se encuentran en varias localidades. Estructura de Base de Datos Distribuidas 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. Las localidades pueden conectarse físicamente de diversas formas, las principales son: Red totalmente conectada Red prácticamente conectada Red con estructura de árbol Red de estrella Red de anillo Las diferencias principales entre estas configuraciones son: Costo de instalación: El costo de conectar físicamente las localidades del sistema 2 Costo de comunicación: El costo en tiempo y dinero que implica enviar un mensaje desde la localidad A a la B. Fiabilidad: La frecuencia con que falla una línea de comunicación o una localidad. Disponibilidad: La posibilidad de acceder a información a pesar de fallos en algunas localidades o líneas de comunicación. Las localidades pueden estar dispersas, ya sea por un área geográfica extensa (a lo largo de un país), llamadas redes de larga distancia; o en un área reducida (en un mismo edificio), llamadas redes de área local. Para las primeras se utilizan en la comunicación líneas telefónicas, conexiones de microondas y canales de satélites; mientras que para las segundas se utiliza cables coaxiales de banda base o banda ancha y fibra óptica. El auge de las bases de datos La necesidad de almacenar datos de forma masiva dio paso a la creación de los sistemas de bases de datos. En 1970 Edgar Frank Codd escribió un artículo con nombre: "A Relational Model of Data for Large Shared Data Banks" ("Un modelo relacional para grandes bancos de datos compartidos"). Con este artículo y otras publicaciones, definió el modelo de bases de datos relacionales y reglas para poder evaluar un administrador de bases de datos relacionales. Originalmente se almacenaba la información de manera centralizada, pero con el paso del tiempo las necesidades aumentaron y esto produjo ciertos inconvenientes que no era posible solucionarlos o volverlos eficientes de la forma centralizada. Este problema llevo al paradigma de las bases de datos distribuidas, y tienen las características comunes de que los datos se almacenan en dos o más ordenadores, llamados nodos, y que estos nodos están conectados en una red. Hoy en día, con el aumento de la descentralización, debido al abaratamiento, ancho de banda y flexibilidad de las redes de computadores, ha hecho que el uso de las bases de datos distribuidas haya aumentado considerablemente. Si hablamos de un único sistema de gestión de bases de datos que actúa sobre distintos ordenadores distribuidos y gestionando la misma base de datos, hablamos propiamente de bases de datos distribuidas. En el caso que cada sistema esté formado por varios SGBD (Sistemas de Gestión de Bases de Datos), se suele hablar de Sistemas de Múltiples Bases de Datos, que pueden estar fuertemente acoplados o débilmente acoplados, llamándose estos últimos sistemas interoperantes de bases de datos. Sin entrar en demasiadas distinciones terminológicas entre los sistemas de bases de datos distribuidos y los sistemas de múltiples bases de datos, o si los datos pueden o no estar replicados, el punto fundamental de todos estos sistemas es que los usuarios no deben percatarse de esta dispersión espacial de los datos, es decir, los usuarios deben percibir lo mismo que si trabajaran con un único sistema centralizado. 3 En general, se suele realizar la siguiente clasificación habitual entre sistemas de bases de datos homogéneos y heterogéneos. Las bases de datos distribuidas homogéneas usan el mismo software de SGBD y tienen las mismas aplicaciones en cada nodo. Tienen un esquema común y pueden tener grados diversos de autonomía local. En el otro lado de la escala, se encuentran las bases de datos heterogéneas con un alto grado de autonomía local. Cada nodo en el sistema tiene sus propios usuarios, aplicaciones y datos locales y es el sistema el que trata con ellos directamente y sólo conecta con otros nodos en busca de información que no tiene. Este tipo de base de datos se suele llamar sistema federado o federación. Se ha hecho cada día más popular en las organizaciones, tanto por su escalabilidad, su capacidad de mezclar distintos paquetes software y su reducido coste al añadir nuevos nodos cuando es necesario. A diferencia de los sistemas homogéneos, los sistemas heterogéneos pueden incluir diferentes SGBD en los nodos. Esto los hace atractivos en grandes corporaciones, ya que pueden mantener sus sistemas heredados antiguos (legacy systems) junto con los nuevos sistemas. Uno de los primeros sistemas distribuidos fue R*, desarrollado en IBM [Williams et al. 1998] a principios de los ochenta. Últimamente el área de las bases de datos distribuidas está cada vez más en relación con Internet y la tecnología web, hablándose de bases de datos distribuidas de área global. Hay varios factores que han hecho que las bases de datos evolucionen a bases de datos distribuidas. En el mundo de los negocios se ha dado una globalización y a la vez las operaciones de las empresas son cada vez más descentralizadas geográficamente. También el poder de las computadoras personales aumentó y el costo de los Mainframes (armarios de gran tamaño que ocupa la unidad central de procesamiento y la memoria principal de las primeras computadoras) ya no tenía sentido. Además la necesidad de compartir datos ha hecho que crezca el mercado de las bases de datos distribuidas. 4 Esquema de relaciones: Diccionario de datos 5 Informes, Consultas, Formularios Manual del usuario Esta es una sencilla base de datos para una empresa, que se dedica a la venta de accesorios de computadora. Esta empresa contara o cuenta con una variedad de vendedores por cada sector del país, atreves de agencias. Ya que, permite llevar el control de productos, clientes, vendedores, proveedores y facturación sencilla. 6 Glosario de términos técnicos de Bases de Datos: 1. Administración de Base de Datos Relacional: Técnica de admistración de bases de datos en la que la información se guarda en tablas de datos bidimensionales. El programa que funciona con dos tablas de datos al mismo tiempo, relaciona la información mediante vinculaciones establecidas por una columna o campos comunes. 2. Acceso: La manera en la cual los archivos o conjunto de datos son referenciados por la computadora. 3. Base de Datos: Es una serie de datos organizados y relacionados entre sí, los cuales son recolectados y explotados por los Sistemas de Información de una empresa o negocio en particular. 4. Campo: Unidad básica de una base de datos, un campo puede ser, por ejemplo, el nombre de una persona. Los nombres de los campos, no pueden empezar con espacios en blanco y caracteres especiales. No pueden llevar puntos, ni signos de exclamación o corchetes. Si pueden tener espacios en blanco en el medio. 5. Datos estadísticos: estos almacenan información estadística sobre los datos en la base de datos. 6. El DBMS: es un conjunto de programas que se encargan de manejar la creación y todos los accesos a las bases de datos. 7. Eliminación: Es una solicitud de eliminación que se expresa de forma muy parecida a una consulta. Sin embargo, en vez de presentar tuplas al usuario, quitamos las tuplas seleccionadas de la base de datos. Sólo puede eliminar tuplas completas; no se puede eliminar únicamente valores de determinados atributos. 8. Facilidad de Consultas: Permitir al usuario hacer cuestiones sencillas a la base de datos. Este tipo de consultas tienen como misión proporcionar la información solicitada por el usuario de una forma correcta y rápida. 9. Formulario: es el elemento en forma de fecha que permite la gestión de los datos de una forma más cómoda y visiblemente mas atractiva 10. Gestor de Base de Datos: Es un conjunto de programas que permiten crear y mantener una base de datos, asegurando su integridad, confidencialidad y seguridad 11. Independencia de los datos: Se refiere a la protección contra los programas de aplicaciones que pueden originar modificaciones cuando se altera la organización física y lógica de las bases de datos. 12. JDBC: La Conectividad de Bases de Datos Java (Java Database Connectivity, JDBC) es una especificación de la interfaz de aplicación de programa (application program interface, API) para conectar los programas escritos en Java a los datos en bases de datos populares. 13. La manipulación de datos: la manipulación de datos es la recuperación de información almacenada en la base de datos 7 14. Lenguaje de consulta: Son los lenguajes en el que los usuarios solicitan información de la base de datos. Estos lenguajes son generalmente de más alto nivel que los lenguajes de programación. Los lenguajes de consulta pueden clasificarse como procedimentales y no procedimentales 15. Manipulación de Base de Datos: Usando la base de Datos -- el usuario puede añadir, borrar y modificar información a la base de datos así como también hacer consultas 16. Modelo de base de datos orientado a objetos: es una adaptación a los sistemas de bases de datos. Se basa en el concepto de encapsulamiento de datos y código que opera sobre estos en un objeto. 17. Modelos de Red: Este modelo permite la representación de muchos a muchos de una Base de Datos. El modelo de red evita redundancia en la información, a través de la incorporación de un tipo de registro denominado el conector. 18. Nivel logico: definición de las estructuras de datos que constituyen la base de datos 19. Reglas de Integridad: Son restricciones que definen los estados de consistencias de las bases de datos. 20. DBMS: Es un conjunto de programas que se encarga de manejar la cremación y todo el acceso a las bases de datos. 21. DDL: Es un lenguaje de definición de datos 22. Recuperación: Proporcionar como mínimo el mismo nivel de recuperación que los sistemas de bases de datos actuales. De forma que, tanto en caso de fallo de hardware como de fallo de software, el sistema pueda retroceder hasta un estado coherente de los datos. 23. Sistema de Administración de Base de Dato: Es el softwware que controla la organización, almacenamiento, recuperación, seguridad e integridad de los datos en una base de datos 24. Sistema gestor de base de datos: Es un conjunto de programas que permiten crear y mantener una base de datos, asegurando su integridad, confidencialidad y seguridad. 25. Transacciones compartidas: Las transacciones compartidas soportan grupos de usuarios en estaciones de trabajo, los cuales desean coordinar sus esfuerzos en tiempo real, los usuarios pueden compartir los resultados intermedios de una base de datos. La transacción compartida permite que varias personas intervengan en una sola transacción. 26. Tuplas: Es la representación de una fila en una de las tablas que se esta almacenando datos. Y las cuales serán llamadas por los administradores de Base de Datos en el tiempo de ejecución de un sistema. 27. Usuario final: es quien accesa a las bases de datos por medio de un lenguaje de consulta o de programas de aplicación. 8 Objetivos Después de realizar la investigación respecto al auge de las bases de datos distribuidas (BDD), nos enfocamos que las mismas sirven para crear sistemas distribuidos con el objeto o fin de agrupar computadoras independientes e interconectarlas entre sí; para que dichas computadoras se conviertan en una sola ante los usuarios del sistema. Ya que estos usuarios puedan realizar sus operaciones de una forma más eficiente y eficaz y con ello una empresa pueda tener un mejor desarrollo de su administración. Y como consecuencia una mejor productividad en todos los aspectos. En este sentido, la razón de tener mayor conocimiento respecto a las bases de datos distribuidas, es con el fin de poder crear una o varias bases de datos para facilitar el desarrollo administrativo y productivo de una o varias empresas. 9 Epigrafía http://html.rincondelvago.com/bases-de-datos-distribuidas_1.html http://es.wikipedia.org/wiki/Bases_de_datos_distribuidas http://users.dsic.upv.es/~jorallo/docent/BDA/DisciplinaBD.pdf http://www.aulaclic.es/access2007/index.htm 10