Bases de Datos Especializadas BASES DE DATOS ESPECIALIZADAS Sesión No.7 Nombre: Fragmentación, asignación y arquitectura de referencia Objetivo: Al término de la sesión, el alumno conocerá características de las bases de datos distribuida. Contextualización En la sesión previa pudimos percatarnos de la importancia de la arquitectura del DDBMS, ahora revisaremos la arquitectura de referencia de un DDBMS debido a que si bien no existe un estándar como en los DBMS (ANSI-SPARC) puede ser de gran utilidad para desarrollos futuros de este tipo de sistemas. De igual manera profundizaremos en el tema de la fragmentación de los datos, ya que al tratar de un sistema distribuido, es necesaria y de gran importancia la fragmentación de los datos, así como el motivo por el cual fragmentar y los tipos de fragmentación a considerar. También abarcaremos el concepto de asignación de datos, el cual se puede realizar de 4 maneras distintas: centralizada, fragmentada, replicación completa y replicación selectiva. 1 BASES DE DATOS ESPECIALIZADAS Introducción al Tema A diferencia de un DBMS en un DDBMS es necesario definir la manera en cómo se efectuará la división de la base de datos, es decir, cómo se realizará la fragmentación; debe decidirse si se realizará alguna replicación de dichos fragmentos y dónde se localizaran éstos y sus réplicas correspondientes. Existen diversas razones del por qué fragmentar pero principalmente se realiza este proceso debido a que las aplicaciones funcionan con vistas, en lugar de relaciones completas, por lo que en la distribución de datos es lo más apropiado trabajar con subconjuntos de las relaciones como una unidad de distribución. De igual manera, como se mencionó en sesiones previas, los datos se almacenan cerca del lugar donde se utilizan. Una transacción puede dividirse en varios subconsultas que operan distintos fragmentos permitiendo que la concurrencia y el paralelismo en el sistema aumente, y por último los datos que no se requieran en ese momento no serán almacenados en el nodo. Al realizar la fragmentación se realiza también un proceso inherente a él, la asignación de datos, estos temas los revisaremos a continuación. 2 BASES DE DATOS ESPECIALIZADAS Explicación Arquitectura de referencia de un DDBMS Como se mencionó en la sesión previa se requieren de ciertos servicios que nos pueda brindar el DDBMS pero también de una cierta estructura para su arquitectura, desafortunadamente no se cuenta con una arquitectura estándar como en los DBMS centralizados por lo que para los DDBMS la arquitectura de referencia está compuesta de los siguientes esquemas: Arquitectura de referencia para un DDBMS La arquitectura esta compuesta por los esquemas externos globales, conceptual global, de fragmentación, de asignación y un conjunto de esquemas de DBMS local conforme a la arquitectura en tres niveles establecida por el ANSI-SPARC. Esquema conceptual global: descripción lógica de toda la base de datos como si no se tratara de un sistema distribuido 3 BASES DE DATOS ESPECIALIZADAS Esquema de fragmentación y asignación: es una descripción de la manera en que se debe particionar lógicamente lo datos y una descripción de dónde hay que ubicar los datos teniendo en cuenta los mecanismos de replicación usados. Esquema local: cada DMBS tiene su propio conjunto de esquemas, el conceptual e interno locales se corresponden con sus niveles equivalentes de la arquitectura estándar para DBMS la ANSI-SPARC. El diagrama anterior está relacionado por un conjunto de líneas que representan el nivel de transparencia que fueron analizados en la sesión anterior. Asignación de los datos Como se mencionó en la contextualización, existen 4 estrategias en lo que se refiere a la asignación de los datos, en otras palabras, en la ubicación. Centralizada • Se basa en un DBMS y en una sola base de datos almacenada en un nodo, y los usuarios distribuidos por toda la red (procesamiento distribuido). El inconveniente es que todos los nodos a excepción del central tienen que hacer uso de la red para tener acceso a los datos por lo que se incide en una saturación de comunicación y costos altos. Fragmentación • Se particiona la base de datos en una serie de fragmentos disjuntos, donde cada fragmento es asignado a un nodo. Al no haber replicación los costos de almacenamiento disminuyen, si un nodo falla sólo se pierde los datos éste. Replicación Completa • Se realiza una copia completa de la bases de datos en cada uno de los nodos, la localidad de referencia, la fiabilidad y la disponibilidad se maximizan, sin embargo el almacenamiento y la comunicación implica un gran costo. Replicación selectiva • Combinación de las tres anteriores, algunos elementos de los datos se fragmentan para conseguir una alta localidad de referencia, otros que se usan en muchos nodos y no se actualizan frecuentemente se replican, todos los demás se centralizan. 4 BASES DE DATOS ESPECIALIZADAS Fragmentación Como ya vimos, de manera implícita la fragmentación es necesaria para preservar la integridad de nuestros datos, pero también por cuestiones de: Utilización: para la distribución de datos parece apropiado trabajar con subconjuntos de las relaciones como unidad de distribución. Eficiencia: los datos se almacenan cerca del lugar donde se les usa más frecuentemente. Paralelismo: se utiliza un fragmento como unidad de distribución permite incrementar el nivel de concurrencia en el sistema. Seguridad: los datos no requeridos por aplicaciones locales no se almacenan en ese nodo y no están disponibles para usuarios no autorizados. Las principales desventajas de la fragmentación son el rendimiento y la integridad. Tipos de fragmentación Existen principalmente dos tipos de fragmentación, la horizontal y la vertical. Los fragmentos horizontales son subconjuntos de tuplas y los fragmentos verticales son subconjuntos de atributos. Fragmentación horizontal Fragmentación vertical Fragmento horizontal: está compuesto de un subconjunto de las tuplas de una relación. Agrupa las tuplas de una relación que son utilizadas de manera colectiva por las transacciones de mayor importancia. Los fragmentos se generan especificando una restricción a la tuplas de la 5 BASES DE DATOS ESPECIALIZADAS relación, esto se realiza a través de la operación Selección del Álgebra Relacional. Fragmento vertical: está compuesto de un subconjunto de atributos de una relación. El mecanismo para realizar esta fragmentación es a través de la agrupación de atributos de una relación que son utilizados de manera conjunta por las transacciones de mayor importancia, esto se realiza con la operación Proyección del Álgebra Relacional. Fragmento mixta: se compone por de un fragmento horizontal que se fragmenta posteriormente de manera vertical, o viceversa, este fragmento se define utilizando tanto las operaciones Selección y Proyección del Álgebra Relacional Fragmento derivado: es un fragmento horizontal proveniente de una relación padre. Se define haciendo semicombinación del Álgebra Relacional. uso de la operación de 6 BASES DE DATOS ESPECIALIZADAS Conclusión Como pudimos observar, es fundamental el contar con una estructura bien definida para un DDBMS como la de referencia vista en esta sesión, ya que en conjunto con la fragmentación y la asignación de datos, se puede efectuar todo de manera transparente al usuario ya que sólo así se podrá garantizar la integridad de los datos. Pudimos observar que la asignación de los datos depende del tipo de fragmentación que se lleve a cabo y que ésta última permite dividir un objeto en dos o más segmentos o fragmentos. Es importante recalcar que en función de las transacciones a ejecutar se toma la decisión de qué fragmentar y cómo fragmentar, decidir qué tablas serán modificadas y cuáles quedarán intactas, y sobre todo las relaciones que están implicadas en las diversas transacciones. 7 BASES DE DATOS ESPECIALIZADAS Para aprender más A continuación encontrarás un par de hipervínculos de sitios para conocer aplicaciones relacionadas con la fragmentación de bases de datos distribuidas. Tipos de fragmentación en bases de datos distribuidas http://rii.cujae.edu.cu/index.php/revistaind/article/view/110 Aplicación de Algoritmos Genéticos en la Fragmentación Vertical y asignación simultánea en Bases de Datos Distribuidas http://brd.unid.edu.mx/aplicacion-de-algoritmos-geneticos-en-la-fragmentacionvertical-y-asignacion-simultanea-en-bases-de-datos-distribuidas/ 8 BASES DE DATOS ESPECIALIZADAS Actividad de Aprendizaje Objetivo de la actividad de aprendizaje de la sesión: El alumno explicará los tipos de fragmentación y asignación de modelos distribuidos en un texto en línea. Instrucciones: ¿Qué vas a hacer? Con la finalidad de reforzar los conocimientos adquiridos a lo largo de esta sesión participa en el foro “Ejemplo de fragmentación”. 1. Retoma un ejemplo de alguna fuente pertinente (anota la cita y la fuente al final) donde se aplique la fragmentación de una base de datos distribuida. 2. Descríbelo con tus propias palabras en un archivo de Word y justifica el motivo por el cual se realizó la fragmentación de esa manera 3. Incluye la bibliografía utilizada con sus datos completos. 4. Anexa el documento, de un máximo de 3 páginas, en tu mensaje del foro. Nómbralo S07TuNombreTuApellido.doc. Recuerda que esta actividad te ayudará a identificar las características que debe cumplir un DDBMS. Material: Como material inicial de consulta puedes usar la lectura de la sesión, además de aquellos que consideres pertinentes. ¿Cuál es la forma de entrega? Una vez que tengas listo tu archivo, ingresa al foro de la sesión de la plataforma de aprendizaje y realiza lo siguiente: 9 BASES DE DATOS ESPECIALIZADAS 1. Haz clic en Responder en el mensaje inicial de tu profesor(a) y participa presentando tu propuesta, y anexando tu archivo, al cual debes nombrar de la siguiente forma: S07TuNombreTuApellido.doc. El profesor(a) evaluará tu participación. 2. Revisa la participación de al menos un compañero(a) y comenta su propuesta. ¿Cómo serás evaluado? En esta actividad se tomará en cuenta lo siguiente: Forma Portada con datos generales: Universidad, maestría, asignatura, alumno y fecha. Fuentes bibliográficas pertinentes. completas Ponderación Requisito y Ortografía y redacción adecuada. 10 puntos 10 puntos Contenido Título adecuado El alumno planteó el tema de manera clara, describió las ideas principales de la situación que se le presentó. El alumno presenta el resultado de su investigación en fuentes primarias, y las utiliza para argumentar al profesor y/o sus compañeros. El alumno emite juicios de valor con fundamento, de manera objetiva y clara, relacionados con el tema. Total Bibliografía 2 puntos 20 puntos 38 puntos 20 puntos 100 puntos 10 BASES DE DATOS ESPECIALIZADAS Alfaro, Y. (2006) Tipos de fragmentación en base de datos distribuidas. Ingeniería Industrial. Consultado en abril de 2013 de http://rii.cujae.edu.cu/index.php/revistaind/article/view/110 Bell, D., Grimson, J. (1994) Distributed database systems, United Kingdom, Addison Wesley Bobak, A. (1993). Distributed and multi-database systems, E.U., Bantam Books. Connolly, T., Begg, C. (2005). Sistemas de bases de datos. Un enfoque práctico para diseño, implementación y gestión, España, Pearson. Peralta González., R. (s.f.) Aplicación de algoritmos en la Fragmentación Vertical y asignación simultánea en Bases de Datos Distribuidas. Chile: Universidad Católica de Maule. Consultado el abril de 2013 de http://www.eici.ucm.cl/Academicos/mjarur/proyectos.doc/paper_peralta.pd f Rob, P., Coronal, C. (2004). Sistemas de bases de datos, diseño, implementación y administración, México, Thomson. 11