• No se han encontrado resultados

Universidad Carlos III de Madrid

N/A
N/A
Protected

Academic year: 2019

Share "Universidad Carlos III de Madrid"

Copied!
8
0
0

Texto completo

(1)

Curso

Open Course Ware

Universidad Carlos III de Madrid

Laboratorio de Bases de Datos Avanzadas

Guía para la realización de la

Documentación

Este resumen describe los pasos documentales (m deberá realizar durante la consecución de su

Curso de Ficheros

Open Course Ware

Universidad Carlos III de Madrid

Departamento de Informática Laboratorio de Bases de Datos Avanzadas

Guía para la realización de la

Documentación de la Práctica de Ficheros

describe los pasos documentales (memoria) que el alumno deberá realizar durante la consecución de sus prácticas de Ficheros

de Ficheros

(2)

1

Análisis Preliminar

Como punto de partida del trabajo, se deberán localizar y comentar: • las deficiencias semánticas del diseño lógico original,

• la ineficiencia del diseño físico del registro (diseño físico-lógico),

• las posibilidades de mejora del diseño del esquema de archivos, que se acometerán durante el resto de la práctica.

Como pasos previos, deberán realizarse:

• el análisis del diseño físico-lógico del fichero antiguo: debe tenerse en cuenta que el diseño lógico proporcionado con el enunciado (como documentación del proyecto anterior) contiene algunas erratas introducidas voluntariamente. El alumno deberá abrir el fichero de datos (muestreo) con un editor de texto simple (ASCII) y comprobar cuál es el diseño físico-lógico real del archivo original. A partir de este (y del enunciado), el alumno deberá extraer el diseño lógico real. • estudios de las densidades ideal y real del fichero original (calculadas en base a

medias, analizando un muestreo de cinco registros, p.e. los cinco primeros).

Finalmente, se comentarán las razones encontradas (espacio, acceso, consistencia,...) para diseñar un nuevo sistema, y se expondrá en qué se espera mejorar.

2

Análisis y Diseño

A continuación, el alumno realizará los diseños pertinentes.

2.1 Diseño Lógico Optimizado (nuevo sistema)

Todos los apartados de diseño están sujetos a ser comentados con la justificación de las decisiones tomadas. Asimismo, los supuestos semánticos (implícitos) adoptados y la semántica explícita no reflejada deberán reseñarse convenientemente (en todos los apartados de diseño). Este apartado debe contemplar los siguientes puntos:

1) Diseño del Esquema de Archivos:

• Se realizará un esquema de archivos, según el modelo jerárquico. 2) Diseño lógico de los registros (correspondientes a cada archivo):

• Se realizará y describirá el diseño del registro lógico de cada uno de los archivos considerados en el esquema. Se entrará en el detalle de la descripción y disposición de los distintos elementos de datos.

2.2 Diseño Físico-Lógico Optimizado (diseño físico opt. del registro)

A partir del diseño lógico de cada registro del apartado anterior, se realizará un diseño físico-lógico optimizado, que se describirá en una tabla con la siguiente cabecera:

Campo Tamaño (bytes) Frecuencia Codificación(1) Marca

(2)

Máximo Medio Tipo Tamaño

(1)

Si el campo tiene codificación distinta a la alfanumérica (ASCII), se especificará cuál.

(2)

(3)

Comentarios al diseño:

Deberán incluirse en apartados separados el análisis de alternativas (donde las hubiera) justificando cada decisión, la semántica (explícita) no contemplada, los supuestos semánticos implícitos adoptados, y el pertinente análisis de las limitaciones del diseño.

3

Plan de importación y primera versión del sistema

Previamente a su implementación, deberá describirse el proceso de importación, marcando claramente los pasos tomados para leer y escribir cada registro, así como el orden de las operaciones de que conste.

Para esta primera aproximación, todas las organizaciones base serán seriales no consecutivas, con espacio de cubo igual a un bloque (Ec=1 bq). El manejo de estructuras

en memoria principal quedará vetado (sólo se puede mantener en memoria principal un buffer lógico, es decir, un registro de cada archivo). Aunque no es obligado, se permite el uso de estructuras auxiliares en soporte secundario para mejorar la eficiencia del proceso de importación (en caso de incluirlas, deberán ser descritas).

Finalmente, deberán describirse todos los tipos de inconsistencias que puedan surgir al importar el fichero original (por sus posibles redundancias, ausencias semánticas, etc). Para cada una de ellas, se establecerá una acción correctiva (recuperación automática o manual, log de errores, etc.) que permita completar el proceso de importación.

Sobre el sistema de ficheros obtenido, se repetirá el estudio de densidades (ideal y real) comparándolo con el realizado anteriormente. Además, deberá compararse su rendimiento con el sistema anterior, calculando (según los métodos estudiados la parte teórica) el coste de los siguientes procesos:

(a) Buscar una localidad por su nombre

(b) Recuperar todas las localidades que tengan cierto punto de interés (‘azogue’)

4

Segunda versión del sistema

Esta versión incluirá la posibilidad de ‘navegar’ desde un registro a otro relacionado. Con este fin, el diseño del cubo (hasta ahora trivial) puede sufrir alguna variación. De ser así, el diseño específico del cubo deberá ser descrito, consignando: espacio de cubo asignado, información de control que contiene (significado y usos), y los procedimientos generales para el manejo del cubo.

Asimismo, se implementarán los métodos necesarios para navegar desde un registro a otros relacionados. Todos los vínculos reales deberán implementarse en ambas direcciones (navegar desde un registro padre a sus hijos reales, y desde un registro hijo a su padre real). Para los vínculos virtuales, es obligatorio implementar al menos una dirección de la navegación (desde el hijo virtual a su padre virtual, o desde el padre virtual a sus hijos virtuales). Se utilizará la barra de estado para advertir de las limitaciones del sistema (operaciones no implementadas).

5

Tercera versión: Organizaciones Base

(4)

Posteriormente, se implementarán esas organizaciones incluyendo, al menos, una organización direccionada. Si no existía ninguna en el análisis anterior, se modificará el diseño para incluirla, escogiendo el archivo de mayor volumen.

Para cada organización direccionada, se escogerá un espacio de direccionamiento que garantice, al menos, una densidad de ocupación superior al cincuenta por ciento (doc>50%). El siguiente paso consistirá en realizar un estudio para determinar la función de dispersión a aplicar. Este estudio requiere:

• Comparar la capacidad de dispersión de, al menos, tres funciones de transformación sobre el muestreo proporcionado (datos del archivo original). • Las funciones serán diseñadas por el alumno, y se documentarán

convenientemente mediante las gráficas que se estimen oportunas para describir su comportamiento, y una tabla con la siguiente información:

• Finalmente, se deberá establecer cuál de ellas se ha elegido y por qué.

Una vez determinada la función de transformación para cada direccionamiento, se analizará qué gestión de desbordamientos es la más conveniente, tomando en consideración los procesos a los que está sometido el archivo, sus factores (tasas de volatilidad, crecimiento, etc.) si son conocidos, y los parámetros de la organización (N; Ec; Tc; características de la dispersión, % desbordamientos y cubos vacíos; etc).

En el caso de hallar una función de dispersión que no produzca desbordamientos, se buscará una mayor densidad (menor espacio de direccionamiento) para provocar la aparición de los mismos, y su oportuno tratamiento.

Una vez diseñada la política de gestión de desbordamientos, se implementará y documentará con la pertinente caracterización: clasificación de la política, funciones (en su caso), elementos de información (de control) específicos para el desbordamiento, y los métodos implementados para su ejecución. Para ilustrar el comportamiento de la organización, se recomienda documentar un ejemplo de desbordamiento (describir los procesos que sufre).

6

Cuarta versión: Organizaciones Auxiliares (Índices)

Esta versión incorporará el uso de índices al sistema. Para ello, se comenzará con un análisis de la organización indizada más conveniente (qué índices y de qué tipo). Se justificarán las decisiones, y se resumirá el resultado en la siguiente tabla:

Clave Indización

Archivo índizado

Tamaño

esperado (KB) Tipo (*)

(*) Carácter (primario/secundario); Densidad (denso/no denso); Orden (ordenado/desordenado); Organización (serial, listas, arbórea,...); Recubrimiento (exhaustivo/parcial); Invertido (Si/No).

Área Tamaño (KB) Nº de registros

Direccionada Desbordamiento Cubos Vacíos

TOTAL

(5)

Llegado este punto, se realizará un estudio sobre el rendimiento de la nueva organización (con sus organizaciones base y auxiliares). Para ello, se cumplimentará la siguiente tabla con una línea por cada proceso que sufre el sistema, calculando su coste en base a los métodos estudiados en la parte teórica.

Proceso

Sistema Nuevo Fichero Antiguo

Tipo de Acceso Mejor caso Caso medio Peor caso Caso medio Peor caso

Añade una fila en la tabla por cada proceso que se vea afectado por

un índice

Finalmente, se decidirá que subconjunto del diseño anterior decide implementarse, documentando este nuevo diseño. Debido a la complejidad de las estructuras que pueden verse involucradas, no se recomienda implementarlo en su totalidad. En cambio, se recomienda implementar como mínimo un índice serial primario y otro secundario.

Una vez realizado el nuevo diseño y su implementación, se volverá a calcular la tabla anterior para comparar el rendimiento del sistema obtenido con el del sistema original.

7

Quinta versión: Accesos Multi-clave

Para la recuperación de registros por una condición que involucre varias claves, se introducirá un direccionamiento multiclave. Para ello, se escogerá el archivo más adecuado, las claves de direccionamiento y las correspondientes funciones de transformación, y la política de gestión de desbordamientos. Para este apartado, no se estima necesario reproducir el estudio de dispersión realizado en el apartado quinto. Finalmente, se realizará un breve estudio del rendimiento de esta organización, soportado por la siguiente tabla:

Proceso

Sistema Nuevo Fichero Antiguo

Tipo de Acceso Mejor caso Caso medio Peor caso Caso medio Peor caso

Consulta de un registro por Nombre y Apellidos

Consulta de todos los registros por Nombre

Consulta de todos los registros por Apellido 1

Consulta de todos los registros por Apellido 2

Añadir una fila por cada proceso afectado

(6)

Por otro lado, para los procesos cuyo objetivo es recuperar una clave (objetivo) en base a otras (condición), se implementarán los oportunos accesos invertidos. Se recomienda implementar al menos uno. El primer paso consistirá en actualizar el diseño de las organizaciones auxiliares, completando la siguiente tabla:

Clave Indización

nombre del archivo índice

Tamaño

(KB) Tipo (*)

… … … …

(*) Carácter (primario/secundario); Densidad (denso/no denso); Orden (ordenado/desordenado); Organización (serial, listas, arbórea,...); Recubrimiento (exhaustivo/parcial); Invertido (Si/No); ...

A continuación, se hará el estudio del coste de acceso en este tipo de procesos, detallando el número de accesos totales en los procesos involucrados:

Proceso

Sistema Nuevo Fichero Antiguo

Tipo de Acceso

Mejor caso

Caso medio

Peor caso

Caso medio

Peor caso

Añade una fila en la tabla por cada proceso que implique

accesos invertidos

8

Evaluación de Mejoras

A modo de colofón, se resumirán los cambios (globales) que ha sufrido la gestión de la información en soporte secundario por efecto de la implementación de esta práctica.

Deberán responderse las siguientes cuestiones:

1) ¿Qué factores de bloqueo tienen el fichero inicial y el fichero importado? 2) ¿Qué densidad ideal presenta cada uno de los ficheros (antiguo y nuevo)? 3) ¿Qué densidad real (global) tiene el sistema original y cuál tiene la nueva

organización? Compara estos datos con los obtenidos en la cuestión anterior y razona los resultados.

4) ¿Cuál es el rendimiento del sistema? Actualiza la siguiente tabla (incorpora las filas que estimes oportuno):

Proceso

Sistema Nuevo Fichero Antiguo

Tipo de Acceso

Mejor caso

Caso medio

Peor caso

Caso medio

Peor caso

(7)

Consulta de un registro por Albergue

Consulta de todos los registros por Apellido

Consulta de todos los registros por Seudónimo

Consulta de todos los registros por Nombre

Localidad

Consulta de todos los registros por Nombre

Tour

Listado 1 ( )

Listado 2 ( )

9

Valores añadidos al Sistema

Sin tanta importancia como las partes descritas hasta aquí, cuya implementación si se recomienda, este apartado recoge y propone algunas partes que puede ser interesante implementar a modo de valor añadido sobre el sistema general.

Es necesario recalcar que la implementación de estas partes añadidas, si bien puede ser ilustrativa y complementar el estudio teórico, requieren un gran esfuerzo en horas de trabajo (no computadas en la aproximación de coste de la práctica), y en algunos casos puede considerarse que no aportan tanto conocimiento como esfuerzo precisan.

9.1 Operaciones de Actualización

Se propone la implementación (y descripción) de procesos de Actualización, tales como: el borrado lógico (archivos consecutivos, o no consecutivos con Ec grande), el

borrado físico (archivos no consecutivos), o la modificación.

9.2 Operaciones de Mantenimiento

Si se han implementado procesos de actualización, se propone incluir operaciones de mantenimiento que les complementan, como por ejemplo: la compactación (archivos seriales), la reordenación (archivos secuenciales), y la reorganización (resto archivos). Asimismo, es interesante la implementación de los correspondientes controles y operaciones para garantizar el mantenimiento de la integridad referencial, tanto en vínculos reales como en vínculos virtuales, en operaciones de borrado y modificación.

9.3 Otros accesos

(8)

9.4 Fichero físico único

Se propone también la implementación de un gestor del espacio, de manera tal que todos los archivos (todas las áreas de datos, áreas de desbordamiento, y archivos auxiliares) se almacenen en un solo fichero físico.

9.5 Operaciones de Administración

Se propone incorporar a la herramienta la capacidad de administrar el sistema, incorporando operaciones tales como crear índices, destruir índices, o cambiar organizaciones base (cambiar N, Ec, función transformación, o incluso cambiar el tipo

de la organización base).

9.6 Organizaciones avanzadas

Se propone la implementación de alguna organización base o auxiliar avanzada, como:

• Direccionamiento virtual

• Direccionamiento virtual extensible • Direccionamiento dinámico

• Direccionamiento virtual extensible multiclave • Direccionamiento dinámico multiclave

• Índices primarios en árbol B • Índices primarios en árbol B+ • Índices primarios en árbol B*

• Índices secundarios por listas ordenadas • Índices secundarios por listas en árbol B+

Referencias

Documento similar

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Se utilizan los principios de la Tecnología de la Enseñanza, propuesta por Skinner (1976), como instrumento lógico para el diseño instruccional de un programa

A partir del análisis de los requisitos identificados en el capítulo anterior, en el siguiente capítulo se muestra la propuesta de diseño para la implementación

Por ello, el campo de acción que abarca este trabajo puede detallarse como el diseño lógico y físico de la base de datos para el Módulo de Investigaciones Forenses del proyecto

Justify that the obtained value approximates, the variation of the revenue function in each case, when we sell one unit more or one unit less than x ∗.. So both variations can

[r]

In order to determine the solution, we just need to consider the case that f is discontinuous and attains its