Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD DE GUADALAJARA SISTEMA DE EDUCACION SUPERIOR CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERIAS ESTRUCTURAS DE DATOS II ( I5888) SECCIÓN D12 ENSAYO REFLEXIVO EQUIPO N° 4 DELGADILLO GUTIERREZ, JONATAN ESAÚ CODIGO: 214798404 ESQUEDA ORTIZ, ANDREA GUADALUPE CODIGO: 215407581 GARIBAY GUERRA, LUIS ANGEL CODIGO: 215565993 GÓMEZ GUTIÉRREZ, HUGO CODIGO: 218744538 HERNANDEZ BARAJAS, DANIELA ESTEFANIA CODIGO: 215507977 NAVARRO SÁNCHEZ, JORGE CODIGO: 218744341 PANDURO PARTIDA, MARIA ELIZABETH CODIGO: 215511303 MTRA. LARA LOPEZ, GRACIELA 2020-A GUADALAJARA, 07 DE MAYO DEL 2020 Ensayo Reflexivo La familia de los árboles B+ y el acceso a los archivos secuenciales indizados. Se trata de una forma de almacenar y procesar la información de manera tal que los registros se almacenan en bloques que contienen los registros, esto en lugar de simplemente enlistar todos los registros. Esto es bastante útil en unidades de almacenamiento tradicionales, ya que facilita el manejo de los datos de manera tal que estos tengan mayor adyacencia física (cada bloque tiene un conjunto de registros y un espacio físico contiguo) lo cual resulta en una mayor velocidad de transferencia de datos al esperar menos tiempo en búsqueda de dirección. Un beneficio adicional debido al funcionamiento que los discos duros, que es que tienen cúmulos con tamaños establecidos, los cuales normalmente no se pueden usar para almacenar datos de más de un archivo, es que, si se asigna un tamaño de bloque de acuerdo con el tamaño de los cúmulos, se evita reservar espacios en el disco que no podrán ser aprovechados (negando en estos casos algunos de los problemas del método). Sin embargo, esto también resulta en que en consultas pequeñas se puede perder algo de tiempo transfiriendo mayor cantidad de información a RAM que a su vez también requieren una mayor cantidad de RAM. ►Parece ser un método con relevancia en su uso en unidades de disco duro, ya que en la actualidad es ahí donde se almacenan grandes bases de datos, que en varios contextos requieren del análisis de grandes cantidades de información. Vemos potencial en la forma de que se puede procesar una mayor cantidad de datos, ya que los tiempos de búsqueda tienden a representar un mayor impacto en el rendimiento que la lectura misma de todas maneras, y que en la actualidad los equipos de cómputo tienden a contar con cantidades generosas de memoria RAM que podrían almacenar bloques de tamaño considerable. Las operaciones con esta técnica se efectúan con una unidad mínima de tipo bloque, esto quiere decir que, aunque solo se busque un registro, se tomara un bloque completo, y si solo se desea escribir un registro, a menos que existan bloques incompletos adecuados para su inserción, será escrito en un nuevo bloque completo. Esto quiere decir que en un archivo donde se realizan muchas modificaciones comenzaran a aparecer huecos, pero estos mismos también facilitaran inserciones futuras sin necesidad de reconstruir el archivo. Esto quiere decir que, a cambio de perder un poco de efectividad en el manejo del espacio de memoria, se gana capacidad para manejar en archivo sin necesidad de tanto procesamiento del mismo a lo largo del tiempo. Como consecuencia de esto se reduce la cantidad de información necesaria para el procesamiento, como cantidad de encabezados, lo cual por otro lado ahorra un poco de espacio. ►Respecto a este punto se tiene una perspectiva mixta. Por un lado, se vuelve más sencillo manejar el archivo a largo plazo cuando se transforma de manera considerable, y evita tener que reconstruirlo por completo (Lo cual puede no ser viable). Por el otro, en muchos casos se desea almacenar la información por mucho tiempo únicamente para ser consultada y con poca frecuencia, escenario en el cual parece tener más sentido solo almacenar toda la información de manera más simple, ya que los beneficios que ofrece la técnica se vuelven negligibles en comparación a la simple necesidad de almacenar la mayor cantidad de datos posible. El resto de los aspectos se pueden simplificar al balance que se genera al cambiar el tamaño de los bloques, si son muy grandes aumenta el tiempo requerido para cada consulta, disminuyendo la practicidad para consultas pequeñas, pero si son muy pequeñas no se obtienen tantos beneficios de optar por el método en primer lugar. El método de tener un índice de registros de longitud fija que contenga la llave del último registro de cada bloque y en lugar de apuntar a direcciones de registros específicas, el índice apunte a una dirección de bloque, combinado con el conjunto de secuencias de bloques, proporciona acceso secuencial indizado completo, así al buscar un registro en particular se consulta el índice y después se extrae el bloque correcto. Si se logra almacenar el índice completo en memoria RAM, aumenta considerablemente su desempeño, ya que se pueden usar métodos de búsqueda como el binario de manera efectiva y editarse rápidamente (sin necesidad de actualizar continuamente su estado en disco) y esto se facilita si el índice para el conjunto de secuencias se organiza como un árbol B, ya que, aunque sea demasiado grande puede caber por completo en la memoria RAM, la estructura resultante es lo que se conoce como árbol B+. Los índices se pueden estructurar de varias maneras, pero se aconseja utilizar separadores de longitud variable que busquen ser lo más funcionales posible, para denotar los distintos bloques y poder diferenciar las respectivas llaves que contiene cada uno. La estructura de archivos denominada árbol B+ de prefijos simples, es el índice en forma de árbol, para el conjunto de secuencias de bloques, como el nombre lo dice, prefijos simples hace referencia a que el conjunto de índice contiene prefijos de las llaves, es decir, las letras iniciales de las llaves o los separadores más cortos. ►En estos sentidos se notan muchas similitudes con un índice ordinario, aunque se incrementa su complejidad respecto a los índices simples, ya que anteriormente habíamos analizado el acceso indizado o secuencial a través del orden de la llave, y no la forma de tener ambos tipos de acceso, como respuesta a esto se vio el uso del conjunto de secuencias en bloques y con un índice asociado, de manera que sea compatible con el almacenamiento en bloques. En conclusión, este método para manejo de archivos no es una mejora absoluta sobre los índices simples, pero hay una variedad importante de escenarios donde sus contribuciones representan una utilidad significativa, lo cual los vuelve una opción a tomar en cuenta para almacenar información en diversas aplicaciones que lo requieran.
Compartir