Beruflich Dokumente
Kultur Dokumente
ndices
Tcnicas de Indexacin
ndice: archivo usado para agilizar la recuperacin de los registros, en respuesta a ciertas condiciones de bsqueda. Un ndice...
Es redundante pues la informacin que guarda se encuentra presente en el archivo de datos asociado. Agrega un mayor uso del espacio en disco... ...que se compensa con posibilidad de encontrar los datos ms rpidamente.
Tcnicas de Indexacin
Tipos de ndices
Tcnicas de Indexacin
Tipos de ndices
Tcnicas de Indexacin
Tipos de ndices
Tcnicas de Indexacin
Tipos de ndices
Tcnicas de Indexacin
Tipos de ndices
Tcnicas de Indexacin
Tipos de ndices
Tcnicas de Indexacin
Tipos de ndices
Tcnicas de Indexacin
Tipos de ndices
Tcnicas de Indexacin
Tipos de ndices
Tcnicas de Indexacin
Tipos de ndices
ndice denso
Tcnicas de Indexacin
Tipos de ndices
Tcnicas de Indexacin
Tipos de ndices
ndice disperso
Tcnicas de Indexacin
Tipos de ndices
Tcnicas de Indexacin
Tipos de ndices
Tcnicas de Indexacin
Tipos de ndices
Tcnicas de Indexacin
Tipos de ndices
ndice secundario
Tcnicas de Indexacin
Tipos de ndices
Tcnicas de Indexacin
Una de las formas de organizar jerrquicamente los datos de un archivo ms recomendables resulta ser la estructura de rbol B y sus variaciones. Por las mismas ventajas descritas en la unidad anterior, este tipo de rbol puede ser usado tambin como estructura para ndices.
Similar situacin se presenta con las tcnicas hashing.
Tcnicas de Indexacin
ndices Dinmicos
donde el puntero al registroi representa la direccin al bloque donde est el registro correspondiente, o a la posicin que ste ocupa dentro de un determinado bloque.
Tcnicas de Indexacin
ndices Dinmicos
Ejemplo de ndice de tipo rbol B (en este caso, ndice secundario, de orden 5).
Tcnicas de Indexacin
ndices Dinmicos
Tcnicas de Indexacin
ndices Dinmicos
Slo en las hojas se encuentran las referencias a los datos. En los nodos internos se almacenan las claves que corresponden al mayor valor que se puede alcanzar a travs del sub-rbol direccionado por el puntero izquierdo de dicha clave.
Se puede ver como un rbol B con un nivel adicional (hojas), cuyos nodos componentes se encuentran enlazados entre s, formando una lista enlazada. Lo anterior permite, adems de la bsqueda binaria desde la raz, un recorrido lineal de los nodos hojas para acceder los datos de forma ordenada en base al atributo de indexacin.
Tcnicas de Indexacin
ndices Dinmicos
Ejemplo de ndice de tipo rbol B+ (en este caso, ndice secundario, nodo interno de orden 5, nodo hoja de orden 2).
Tcnicas de Indexacin
ndices Dinmicos
Todas las tcnicas hashing vistas en la unidad anterior se pueden adaptar para ser utilizadas para construir ndices.
Tcnicas de Indexacin
ndices Bitmap
Los bitmaps combinados con las estructuras de datos anteriores, son una alternativa a las listas invertidas.
maneja un bitmap en el cual cada bit representa un bloque de disco ocupado por el archivo de datos.
Tcnicas de Indexacin
ndices Bitmap
Esquema de Codificacin: abarca dos posibilidades.por igualdad o por rangos. Este esquema se relaciona, con una representacin que se preocupa por el tipo de consultas a responder. Esquema de Descomposicin: en este caso, la representacin se centra en el almacenamiento de los bits, pudindose manejar diversos subcomponentes para guardar un conjunto de valores mediante un bitmap.
Tcnicas de Indexacin
ndices Bitmap
Es ms bien un conjunto de bitmap, uno por cada valor del dominio del atributo indexado. Cada bitmap tiene una cantidad de bits equivalente al nmero de registros del archivo que se est indexando. Para determinar el contenido de cada bitmap:
Suponer que se tiene aqul asociado a un valor v dentro del dominio del atributo indexado. El i-simo bit de dicho bitmap valdr uno si el i-simo registro del archivo tiene el valor v en el campo de indexacin. En caso contrario, el bit valdr cero.
Tcnicas de Indexacin
ndices Bitmap
Tcnicas de Indexacin
ndices Bitmap
En el caso anterior, existe el inconveniente de que el nmero de bitmaps es igual al tamao del dominio del atributo de indexacin. Para disminuir la cantidad de memoria requerida, se puede utilizar una representacin en alguna base numrica que requiera menos bits.
Tcnicas de Indexacin
ndices Bitmap
Tcnicas de Indexacin
ndices Bitmap
Tcnicas de Indexacin
ndices Bitmap
Ejemplo de ndice Bitmap, codificado por rangos, de dos componentes (base <3,3>), sobre un atributo con dominio [0..8].
Tcnicas de Indexacin
ndices Bitmap
ndice Bit-Sliced.
Un ndice bit-sliced de un atributo es una proyeccin de los bits que componen los valores de dicho atributo para el tipo llamado binario; o es un valor-lista con tantos componentes como dgitos tenga el dominio del atributo en cuestin.
Tcnicas de Indexacin
ndices Bitmap
ndice Bit-Sliced Binario: para un atributo numrico (entero), de dos bytes de representacin interna.
ndice Bit-Sliced en Base 10: para un atributo numrico (entero), de tres dgitos.
Tcnicas de Indexacin
ndices Bitmap
Este esquema hace uso de funciones de codificacin, o mapping, sobre el dominio del atributo y construye un ndice bit-sliced binario sobre el resultado de la funcin.
Ejemplo:
Notar que la idea de fondo de este esquema es poder traducir el dominio no continuo de un atributo a una representacin que consuma menos memoria (utilizar una representacin de N bits para un dominio de valores de M bits, donde N < M).
Corresponde al proceso de elegir las estructuras de almacenamiento especficas y caminos de acceso para los archivos, con el objetivo de obtener un buen rendimiento de las aplicaciones que hacen uso de las distintas bases de datos.
Procesamiento de Consultas
Procesamiento de Consultas
El procesamiento de consulta tiene por objetivo el identificador una forma conveniente (rpida, barata) de ejecutar una consulta, por lo general ingresada como un comando SQL, sobre el contenido de una base de datos.
Procesamiento de Consultas
El procesador de consulta debe convertir dicho comando SQL en una secuencia de operaciones de lgebra relacional, las que se organizan entre s mediante un esquema jerrquico (llamado plan/ rbol de acceso/ejecucin.
Procesamiento de Consultas
Ejemplo: considerar el siguiente comando SQL.
select factura.#factura, cliente.razon_social from cliente, factura, detalle, producto where producto.tipo = ABC and producto.#producto = detalle.#producto and detalle.#factura = factura.#factura and factura.fecha >= 01/06/2010 and factura.RUT_cliente = cliente.RUT;
Procesamiento de Consultas
del cual se pueden distinguir:
Selecciones: producto.tipo = ABC factura.fecha >= 01/06/2010 Joins: producto.#producto = detalle.#producto detalle.#factura = factura.#factura factura.RUT_cliente = cliente.RUT;
Procesamiento de Consultas
las que organizadas de una forma jerrquica, dan origen al llamado plan de acceso cannico.
Procesamiento de Consultas
A continuacin, se van probando diversas modificaciones en dicha representacin, como cambios de ubicacin de las operaciones y formas diferentes de ejecutar la misma operacin, buscando una manera ms adecuada de hallar el mismo resultado (etapa que se denomina optimizacin de consultas).
Procesamiento de Consultas
Ejemplo: plan de acceso alternativo 1
Procesamiento de Consultas
Ejemplo: plan de acceso alternativo 2
Procesamiento de Consultas
Tras haber probado muchas posibilidades de ejecucin, idealmente el total de ellas, se escoge la que se ejecuta en el menor tiempo o bien la que consume menos recursos, y es la que se lleva a cabo para responder la consulta del usuario.
Procesamiento de Consultas
Para poder apoyar la etapa de optimizacin, es necesario trabajar con funciones de costo sobre cada forma de ejecutar cada operacin de lgebra relacional, de modo de contar con un mecanismo de comparacin entre las diversas formas de ejecucin, e identificar correctamente la ms conveniente.
Procesamiento de Consultas
Funciones de Costo: operador de Seleccin Parmetros a considerar.
b: nmero de bloques del archivo. r: nmero de registros del archivo. fb: factor de bloqueo del archivo. s: cardinalidad de la seleccin. x: nmero de niveles de un ndice. b1: nmero de bloques del ltimo nivel del ndice (o nivel de las hojas)
Procesamiento de Consultas
Bsqueda Lineal: condicin de Igualdad
en base a atributo desordenado: Clave nica, en promedio se debe recorrer la mitad del archivo: (b/2) bloques. Clave no nica, se debe recorrer el archivo completo: b bloques.
en base a atributo ordenado: (b/2) bloques
Procesamiento de Consultas
Bsqueda Binaria: condicin de Igualdad Clave nica: log2b bloques. Clave no nica: recuperar tantos bloques como sean necesarios para almacenar todos los registros que indica la cardinalidad de la seleccin: (log2b + s/fb -1) bloques
Procesamiento de Consultas
Bsqueda Lineal: condicin de Desigualdad En cualquier caso (clave nica o no nica), en promedio, se
debe recorrer la mitad del archivo: (b/2) bloques.
Bsqueda Binaria: condicin de Desigualdad Se aplica esta clase de bsqueda hasta encontrar el primer
valor que cumple la condicin y se ah se sigue con un recorrido lineal que cubrir la mitad del archivo: ( log2b + b/2) bloques.
Procesamiento de Consultas
Bsqueda Indexada: mediante ndice Primario: Condicin de Igualdad: debe leer un bloque ms que el
nmero de niveles del ndice, que corresponde al bloque donde est el registro buscado: (x + 1) bloques. Condicin de Desigualdad: debe leer un bloque por cada nivel del ndice ms, en promedio, la mitad de los registros del archivo que cumpliran la condicin: (x + b/2) bloques
Procesamiento de Consultas
Bsqueda Indexada: a travs de ndice de Grupos. Condicin de Igualdad, recuperando tantos bloques como
sean necesarios para almacenar todos los registros que indica la cardinalidad de la seleccin, tras pasar por los x niveles del ndice: (x + s/fb) bloques. Condicin de Desigualdad, asumiendo que la mitad del archivo es parte de la respuesta, la que se obtiene tras de pasar por los x niveles del ndice: (x + b/2) bloques.
Procesamiento de Consultas
Bsqueda Indexada: usando un ndice Secundario: Condicin de Igualdad, dado que el archivo est
desordenado respecto del atributo indexado, los registros se hallarn en distintos bloques: (x + s) bloques. Condicin de Desigualdad, asumiendo que la mitad del archivo es parte de la respuesta, la que se obtiene tras de recuperar la mitad de los bloques del nivel hoja del ndice: (x + (b1/2) + (r/2)) bloques.
Procesamiento de Consultas
Funciones de Costo: operador de Seleccin.
Las operaciones y costos anteriores se pueden aplicar para
bsquedas directas y por rangos, dependiendo de la organizacin del archivo involucrado y el atributo de la consulta.
Datos multidimensionales
Datos multidimensionales
Cubos de datos
Datos multidimensionales
Data bidimensional
Datos multidimensionales
Grid files para data bidimensional
- Fin -