Isam (método de acceso secuencial indexado)

22
Si quieres ir a algún lugar, ir es la mejor manera de llegar Ken Thompson

description

Adminsitracion de archivos, algoritmos en java

Transcript of Isam (método de acceso secuencial indexado)

Page 1: Isam (método de acceso secuencial indexado)

Si quieres ir a

algún lugar, ir

es la mejor

manera de

llegar

Ken Thompson

Page 2: Isam (método de acceso secuencial indexado)

ISAM (MÉTODO DE ACCESO

SECUENCIAL INDEXADO)

Diego Camilo Aguirre Lora

David Esteban Rodríguez Gómez

Page 3: Isam (método de acceso secuencial indexado)
Page 4: Isam (método de acceso secuencial indexado)
Page 5: Isam (método de acceso secuencial indexado)
Page 6: Isam (método de acceso secuencial indexado)
Page 7: Isam (método de acceso secuencial indexado)

Desafortunadamente el archivo secuencial es difícil de mantener.

•Los índices (aún usando un esquema de B-Tree) nos permiten hacer búsquedas rápidamente pero ...nos permiten recorrer el archivo secuencialmente ??

•En realidad el B-Tree sí nos permite recorrer el archivo en orden, pero no en una manera sencilla ya que debemos hacer demasiados "seeks" para poder hacerlo.

Page 8: Isam (método de acceso secuencial indexado)

En la práctica en muchas situaciones se requieren de ambas cosas (búsquedas y accesos secuenciales), por ejemplo:

•En la universidad•Búsquedas: horarios, adeudos, transcript•Secuenciales: Reportes de calificaciones que se imprimen

•En una empresa•Búsquedas: agenda telefónica, vacaciones•Secuenciales: cheques de nómina

Page 9: Isam (método de acceso secuencial indexado)
Page 10: Isam (método de acceso secuencial indexado)
Page 11: Isam (método de acceso secuencial indexado)

Básicamente es la idea de tener un índice esparcido, de manera que el archivo de datos lo agrupamos por bloques y en cada bloque existe un "rango" ordenado de los datos

Page 12: Isam (método de acceso secuencial indexado)
Page 13: Isam (método de acceso secuencial indexado)

Los r

egis

tros •La información es organizada

por registros compuestos por campos de tamaño fijo.

•Los registros se almacenan secuencialmente, inicialmente para acelerar el acceso en sistemas de cinta

índic

es •Un conjunto secundario

de ficheros dispersos(tablas "hash") conocidos como índices contienen «punteros» a los registros que permiten acceder a los registros individuales sin tener que buscar en todo el fichero (punto de partida para todos los modernos sistemas de bases de datos navegacionales)

ve

nta

jas •El avance que posee ISAM es

que los índices son pequeños y pueden ser buscados rápidamente, permitiendo a la base de datos acceder sólo a los registros que necesita. Modificaciones adicionales a la información no requieren cambios a otra información, sólo a la tabla y los índices.

Page 14: Isam (método de acceso secuencial indexado)

Los sistemas operativos que dan soporte a las bases de datos, en ellos se plantean modalidades de acceso avanzadas que facilitan la búsqueda de la información dentro de un archivo (como el ISAM)

Mantiene ordenados los registros de un archivo según su criterio elegido por el usuario

En los sistemas que utilizan acceso indexado es posible definir varios archivos de índices sobre un mismo archivo

De esta forma se puede recorrer el fichero según distintos criterios de ordenación

Page 15: Isam (método de acceso secuencial indexado)
Page 16: Isam (método de acceso secuencial indexado)

Lo importante a resaltar aquí es que los bloques no necesariamente están formando una secuencia en el archivo, es decir, dentro del archivo de datos los bloques pueden estar desordenados, aquí el detalle es mantener un apuntador a cada bloque subsecuente.

Page 17: Isam (método de acceso secuencial indexado)

Tipos de índices

Exhaustivo= contiene una entrada por cada registro del archivo principal

Parcial= contiene las entradas a los registros donde este el campo de interés con registros de longitud variable

algunos registros no contendrán todos los campos

Page 18: Isam (método de acceso secuencial indexado)

Reglas generales para un índice ISAM

Podemos iniciar el archivo con un bloque o varios (definiendo previamente los rangos y dejando bloques vacíos reutilizables).

Cuando agregamos datos ubicamos el bloque correspondiente en base al índice en memoria y procedemos a agregar la información.

Si al insertar notamos que el bloque ya esta lleno entonces tenemos que partirlo en 2, muy similar al btreesolo que aqui no necesitamos un separador de ramas, simplemente creamos otro bloque, dividimos equitativamente los datos y ajustamos los apuntadores entre los bloques

Para eliminar, ubicamos el bloque y eliminamos el registroSi al eliminar notamos que se pueden mezclar o unir dos bloques con pocos registros entonces lo podemos hacer y el bloque libre lo marcamos para reutilización

Page 19: Isam (método de acceso secuencial indexado)

La creación del índice puede ser muy simple, donde sólo se guardan los máximos valores de cada bloque; quizás si las llaves fueran numéricas todo sería muy simple y podría quedar bien este esquema, pero en especial para cadenas (aunque también aplica para números) lo que en realidad se busca es tener separadores que sirvan para varios casos ya que si eliminamos el máximo valor de un bloque entonces tendremos que alterar el índice.

Page 20: Isam (método de acceso secuencial indexado)

La figura muestra una primer solución de separadores basándose en los prefijos de las palabras. De esta manera nos evitamos el tener que estar actualizando constantemente el índice. Estos separadores de rangos nos son únicos, dependerá del programador el definirlos

Page 21: Isam (método de acceso secuencial indexado)

Links de los algoritmos

http://ebookbrowse.com/algoritmos-isam-pdf-d226065518

http://books.google.com.co/books?id=8OBlquzq83oC&pg=PA289&lpg=PA289&dq=algoritmo+de+acceso+indexado&source=bl&ots=M27O

UT0RTS&sig=-QUXdtmGkXUOO_7Itxs2Ozu44XI&hl=es&sa=X&ei=NmhnUYDHLISo8ASfzYCQBA&ved=0C

C0Q6AEwAA#v=onepage&q=algoritmo%20de%20acceso%20indexado&f=false

Page 22: Isam (método de acceso secuencial indexado)

Diego Camilo Aguirre Lora

David esteban Rodríguez Gómez

Gracias