SlideShare una empresa de Scribd logo
1 de 130
1 Índiceshttp://es.wikipedia.org/wiki/Indexar José Andrés CuartasMuñoz JOSÉ CUARTAS BASES DE DATOS
2 Índexación& Hashing 	valor registro ? valor JOSÉ CUARTAS BASES DE DATOS
3 Tópicos Indices convencionales B-trees Esquema Hashing JOSÉ CUARTAS BASES DE DATOS
4 10 30 50 70 90 20 40 60 80 100 Archivosecuencial Se organizanpor un campo de ordenacióngeneralmente claves primarias o únicas JOSÉ CUARTAS BASES DE DATOS
5 10 30 50 70 90 110 20 40 60 80 100 120 10 30 50 70 90 20 40 60 80 100 Archivode datossecuencial Índicedenso Se tieneunaentrada en un registro en uno de los bloques del archivo de índicesporcadaentrada en al archivo de datos bloque En estetipo de índice se tiene un valor clave y un puntero al registro.  por se tan pequeño se mantiene en el buffer Puntero a registro JOSÉ CUARTAS BASES DE DATOS
6 10 50 90 130 170 210 30 70 110 150 190 230 10 30 50 70 90 20 40 60 80 100 Archivo de datossecuencial Índice no denso Se tieneunaentradaen un registro en uno de los bloques del archivode índicesporcadabloque en al archivo de datos Puntero a bloque JOSÉ CUARTAS BASES DE DATOS
7 10 50 90 130 170 210 10 170 330 490 30 70 110 150 190 230 90 250 410 570 10 30 50 70 90 20 40 60 80 100 Archivosecuencial Extendidos2nd Nivel JOSÉ CUARTAS BASES DE DATOS
8 Comentarios: {ARCHIVO,INDICES} pueden ser contiguos 				  o no (Bloquesencadenados) JOSÉ CUARTAS BASES DE DATOS
9 Notassobrepunteros: (1) Punterosa bloque(índice no denso) puedenser mas pequeñosque un puntero a registro 	BP 	RP JOSÉ CUARTAS BASES DE DATOS
10 (2)Si el archivoescontiguo , entonces se puedeomitir los punteros(e.j, computación) Notassobrepunteros: JOSÉ CUARTAS BASES DE DATOS
11 R2 R1 R3 R4 K1 K2 K3 K4 JOSÉ CUARTAS BASES DE DATOS
12 dice: 1024 B Porbloque R2 R1 R3 ,[object Object],consigue el desplazamiento     (3-1)1024     = 2048 bytes R4 K1 K2 K3 K4 JOSÉ CUARTAS BASES DE DATOS
13 No densos vs. Densos No denso o agrupados:Menosespacioporregistro del índice, estopermite mas almacenamiento de indices en la memoria Denso:Se puede saber si existe algún registro sin acceso al archivo (Mastarde:  No densomejorparainserciones Denso necesarios para índice secundario) JOSÉ CUARTAS BASES DE DATOS
14 Términos Archivo de indicesecuencial Clave de búsqueda( Clave primaria) Índiceprimario(en archivosecuencial) Índicesecundario Índicedenso(Para cadadatouna clave de búsqueda) Índice no denso o índice de agrupamiento Índicemultiple-nivel JOSÉ CUARTAS BASES DE DATOS
15 Siguiente: Claves de búsquedaduplicadas Eliminación/Inserción Índicesecundario JOSÉ CUARTAS BASES DE DATOS
16 10 10 20 30 40 10 20 30 30 45 Claves duplicadas JOSÉ CUARTAS BASES DE DATOS
17 10 10 20 30 40 10 10 20 30 40 10 20 30 30 45 10 20 30 30 45 Claves duplicadas Índicedenso, unaposibleimplementación? 10 10 10 10 10 10 20 20 20 20 30 30 30 30 30 30 JOSÉ CUARTAS BASES DE DATOS
18 10 10 20 30 40 10 20 30 30 45 Claves duplicadas Índicedenso, un mejorposibilidad? 10 20 30 40 JOSÉ CUARTAS BASES DE DATOS
19 10 10 20 30 40 10 20 30 30 45 Claves duplicadas Índice no denso, unaposibilidad? 10 10 20 30 JOSÉ CUARTAS BASES DE DATOS
20 10 10 20 30 40 10 20 30 30 45 Cuidado con búsquedas Para 20 o 30! Claves duplicadas Índice no denso, unaposibilidad? 10 10 20 30 JOSÉ CUARTAS BASES DE DATOS
21 10 10 20 30 40 10 20 30 30 45 Claves duplicadas Índice no denso, otraposibilidad? ,[object Object],10 20 30 30 JOSÉ CUARTAS BASES DE DATOS
22 10 10 20 30 40 10 20 30 30 45 Puede ser 40? Claves duplicadas Índiceno denso, otraposibilidad? ,[object Object],10 20 30 30 JOSÉ CUARTAS BASES DE DATOS
23 Valoresduplicados, Índiceprimario Resumen El índicepuedeapuntar a la primerainstancia de cada valor único Archivo Índice a a a . . b JOSÉ CUARTAS BASES DE DATOS
24 10 30 50 70 20 40 60 80 Eliminación de índice no densos 10 30 50 70 90 110 130 150 JOSÉ CUARTAS BASES DE DATOS
25 10 30 50 70 20 40 60 80 Eliminación de índice no denso ,[object Object],10 30 50 70 90 110 130 150 JOSÉ CUARTAS BASES DE DATOS
26 10 30 50 70 20 40 60 80 Eliminación de índice no denso ,[object Object],10 30 50 70 90 110 130 150 JOSÉ CUARTAS BASES DE DATOS
27 10 30 50 70 20 40 60 80 Eliminación de índice no denso ,[object Object],10 30 50 70 90 110 130 150 JOSÉ CUARTAS BASES DE DATOS
28 10 30 50 70 20 40 60 80 40 40 Eliminación de índice no denso ,[object Object],10 30 50 70 90 110 130 150 JOSÉ CUARTAS BASES DE DATOS
29 10 30 50 70 20 40 60 80 Eliminación de índices no densos ,[object Object],10 30 50 70 90 110 130 150 JOSÉ CUARTAS BASES DE DATOS
30 10 30 50 70 20 40 60 80 Eliminación de índice no denso ,[object Object],10 30 50 70 90 110 130 150 JOSÉ CUARTAS BASES DE DATOS
31 10 30 50 70 20 40 60 80 50 70 Eliminación de índice no denso ,[object Object],10 30 50 70 90 110 130 150 JOSÉ CUARTAS BASES DE DATOS
32 10 30 50 70 20 40 60 80 Eliminación de índicedenso 10 20 30 40 50 60 70 80 JOSÉ CUARTAS BASES DE DATOS
33 10 50 70 20 60 80 Eliminación de índicedenso ,[object Object],10 20 30 30 40 40 50 60 70 80 JOSÉ CUARTAS BASES DE DATOS
34 10 50 70 20 60 80 40 Eliminación de índicedenso ,[object Object],10 20 30 30 40 40 50 60 70 80 JOSÉ CUARTAS BASES DE DATOS
35 10 50 70 20 60 80 40 40 Eliminación de índicedenso ,[object Object],10 20 30 30 40 40 50 60 70 80 JOSÉ CUARTAS BASES DE DATOS
36 10 30 40 60 20 50 Inserción, caso:Índice no densos 10 30 40 60 JOSÉ CUARTAS BASES DE DATOS
37 10 30 40 60 20 50 Inserción, caso:Índice no densos ,[object Object],10 30 40 60 JOSÉ CUARTAS BASES DE DATOS
38 10 30 40 60 20 50 34 ,[object Object],se tieneespaciolibre dondese nesecita Inserción, caso:Índice no densos ,[object Object],10 30 40 60 JOSÉ CUARTAS BASES DE DATOS
39 10 30 40 60 20 50 Inserción, caso:Índice no densos ,[object Object],10 30 40 60 JOSÉ CUARTAS BASES DE DATOS
40 10 30 40 60 20 50 15 20 20 30 Inserción, caso:Índice no densos ,[object Object],10 30 40 60 JOSÉ CUARTAS BASES DE DATOS
41 10 30 40 60 20 50 15 20 20 30 Inserción, caso:Índice no densos ,[object Object],10 30 40 60 ,[object Object]
Variación:
inserta un nuevobloque(archivoencadenado)
actualiza el índiceJOSÉ CUARTAS BASES DE DATOS
42 10 30 40 60 20 50 Inserción, caso:Índice no densos ,[object Object],10 30 40 60 JOSÉ CUARTAS BASES DE DATOS
43 10 30 40 60 25 20 50 Bloque de desbordamiento (despues se reorganiza...) Inserción, caso:Índice no densos ,[object Object],10 30 40 60 JOSÉ CUARTAS BASES DE DATOS
44 Inserción, caso:Índice no densos ,[object Object]
esmascostoso. . . JOSÉ CUARTAS BASES DE DATOS
45 30 20 80 100 90 50 70 40 10 60 Índicessecundarios Secuencia de Campos ,[object Object],del regitro en el archivo de datos. ,[object Object]
Se puedencrearvariosíndicessecundarios
Demasiadocosto en lasoperaciones….
Cuando se usa un índice secundario se cambiala vista de los registros, su localidad física no cambia. JOSÉ CUARTAS BASES DE DATOS
46 30 20 80 100 90 50 70 40 10 60 30 90 20 ... 80 100 Índicessecundarios Secuencia de Campos ,[object Object],JOSÉ CUARTAS BASES DE DATOS
47 30 20 80 100 90 50 70 40 10 60 30 90 20 ... 80 100 No tienesentido! Índicessecundarios Archivo secuencial ,[object Object],JOSÉ CUARTAS BASES DE DATOS
48 30 20 80 100 90 50 70 40 10 60 Índicessecundarios Archivo secuencial ,[object Object],JOSÉ CUARTAS BASES DE DATOS
49 30 20 80 100 90 50 70 40 10 60 10 50 20 60 30 70 40 ... Índicessecundarios Archivo secuencial ,[object Object],JOSÉ CUARTAS BASES DE DATOS
50 30 20 80 100 90 50 70 40 10 60 10 50 10 20 60 50 30 70 90 40 ... ... No densos Nivel alto Índicessecundarios Archivo secuencial ,[object Object],JOSÉ CUARTAS BASES DE DATOS
51 Con los índicessecundarios: También:Punteros son punteros a registro (no punteros a bloques; no se computan) El nivelbajoesdenso Los otrosniveles son no densos JOSÉ CUARTAS BASES DE DATOS
52 20 20 10 10 30 10 40 40 40 40 Valoresduplicados& Índicessecundarios JOSÉ CUARTAS BASES DE DATOS
53 20 20 10 10 30 10 40 40 40 40 10 20 40 10 30 40 10 40 ... 20 40 Valoresduplicados& Índicessecundarios Unaopción... JOSÉ CUARTAS BASES DE DATOS
54 20 20 10 10 30 10 40 40 40 40 10 20 40 10 30 40 10 40 ... 20 40 Valoresduplicados& Índicessecundarios Unaopción... Problema: Excesosobrencabezado! ,[object Object]
tiempo de búsquedaJOSÉ CUARTAS BASES DE DATOS
55 20 20 10 10 30 10 40 40 40 40 40 30 20 Valoresduplicados& Índicessecundarios Otraopción... 10 JOSÉ CUARTAS BASES DE DATOS
56 20 20 10 10 30 10 40 40 40 40 40 30 20 Valoresduplicados& Indices secundarios Otraopción... 10 Problema: Registro de tamaño variable en los índices! JOSÉ CUARTAS BASES DE DATOS
57 20 20 10 10 30 10 40 40 40 40 10 50 20 60 30 ... 40 Valoresduplicados& Índicessecundarios   Otra idea :Los registrosencadenados con lasmisma clave de búsqueda   JOSÉ CUARTAS BASES DE DATOS
58 20 20 10 10 30 10 40 40 40 40 10 50 20 60 30 ... 40 Valoresduplicados& Índicessecundarios   Otra idea :Los registrosencadenados con lasmisma clave de búsqueda   Problemas: ,[object Object]
Nesecitallevar el seguimento de los camposJOSÉ CUARTAS BASES DE DATOS
59 20 20 10 10 30 10 40 40 40 40 10 50 20 60 30 ... 40 Valoresduplicados& Índicessecundarios Nivelintermedio de indirección JOSÉ CUARTAS BASES DE DATOS
60 Porque los “nivelesintermedios” son lasideales IndicesRegistros Nombre: primario	EMP (nombre,dept,piso,...) Dept: secundario Piso: secundario JOSÉ CUARTAS BASES DE DATOS
61 Dept. índice			EMP			 Pisoíndice Sis 2do Consulta: Conseguir los empleados en(Dept Sis) ^ (2do Piso) Muyútilparaíndices con campos no únicos JOSÉ CUARTAS BASES DE DATOS
62 Sis 2do Consulta: Conseguir los empleados en(Dept Sis) ^ (2do Piso) Dept. índice			EMP			 Pisoíndice  Se cruza el nivelintermedio de Dept con la cubeta de 2do Pisoconsiguiendolos empleados JOSÉ CUARTAS BASES DE DATOS
63 Resumiendo Indices convencionales Ideas basicas: densos, no desos, multiple-nivel… Claves duplicadas Eliminación/Inserción Indices secundarios Nivelintermedio de indirección JOSÉ CUARTAS BASES DE DATOS
64 Índiceconvencional Ventajas: 			- Simples 			- Los Índeces se almacenan un archivosecuencialfácil de escanear Desventajas: 			- Costosoen inserción,  			- Perdidadsecuencia y balance JOSÉ CUARTAS BASES DE DATOS
65 EjemploÍndice(secuencia) continuos espaciolibre 10 20 30 40 50 60 70 80 90 JOSÉ CUARTAS BASES DE DATOS
66 39 32 31 38 33 35 34 36 Áreade desbordamiento  (no secuencia) EjemploÍndice(secuencial) continuos espaciolibre 10 20 30 40 50 60 70 80 90 JOSÉ CUARTAS BASES DE DATOS
67 Esquema: Indiceconvencional B-Trees                   Siguiente JOSÉ CUARTAS BASES DE DATOS
68 Suguiente: Otrotipo de índice Cuando nose deseasecuencialidad Trata de obtener“balance” JOSÉ CUARTAS BASES DE DATOS
69 EjemploB+Tree(Árboles) 				n=3 Raíz(ROOT) 100 120 150 180 30 3 5 11 120 130 180 200 100 101 110 150 156 179 30 35 JOSÉ CUARTAS BASES DE DATOS
70 Ejemplo de un nodointerno 57 81 95 Claves	Claves	 Claves   Claves < 57		57 k<81		81k<95	 95 JOSÉ CUARTAS BASES DE DATOS
71 Ejemplo de un nodohoja: puntero de un nodointerno puntero a la Siguientehoja 						en la secuencia 57 81 95 Registro con clave 57 Registrocon clave 81 Registrocon clave 85 JOSÉ CUARTAS BASES DE DATOS
72 Notación		n=3 Hoja:notienenhijos Nodointerno: 30 35 30 35 30 30 JOSÉ CUARTAS BASES DE DATOS
73 Tamaño del nodo:		n+1 punteros 					n Claves de búsqueda (fijos) JOSÉ CUARTAS BASES DE DATOS
74 No se desea un nodovacío Utilize por lo menos Nodointerno:(n+1)/2punteros Hoja:(n+1)/2punteros a datos JOSÉ CUARTAS BASES DE DATOS
75 n=3 				Full node		min. node Nodointerno Hoja 120 150 180 30 3 5 11 30 35 Cuentaseimpresiesvacío JOSÉ CUARTAS BASES DE DATOS
76 ReglasB+treeárbol de ordenn (1) Todaslashojasestán al mismonivel(balanceado) (2) Punteros en lashojas son a los registrosexceptopara “punteros de secuencia” JOSÉ CUARTAS BASES DE DATOS
77 (3) Número de punteros/claves paraB+tree Max   Max  Min             Min ptrsClavesptrsdataClaves No-hojas (no-raíz) n+1 n (n+1)/2 (n+1)/2- 1 hojas (no-raíz) n+1 n (n+1)/2 (n+1)/2 Raíz n+1 n 1 1 JOSÉ CUARTAS BASES DE DATOS
78 Inserción en el B+tree (a) Simple caso Espaciodisponible en la hoja (b) Desborde de hoja (c) Desborde de Nodointerno (d) Nueva raíz JOSÉ CUARTAS BASES DE DATOS
79 (a) Inserción clave = 32 n=3 100 30 3 5 11 30 31 JOSÉ CUARTAS BASES DE DATOS
80 32 (a) Inserción clave = 32 n=3 100 30 3 5 11 30 31 JOSÉ CUARTAS BASES DE DATOS
81 (a) Inserción clave = 7 n=3 100 30 3 5 11 30 31 JOSÉ CUARTAS BASES DE DATOS
82 3 5 7 (b) Inserción clave = 7 n=3 100 30 3 5 11 30 31 JOSÉ CUARTAS BASES DE DATOS
83 7 3 5 7 (b) Inserción clave = 7 n=3 100 30 3 5 11 30 31 JOSÉ CUARTAS BASES DE DATOS
84 (c) Inserción clave = 160 n=3 100 120 150 180 180 200 150 156 179 JOSÉ CUARTAS BASES DE DATOS
85 160 179 (c) Inserción clave = 160 n=3 100 120 150 180 180 200 150 156 179 JOSÉ CUARTAS BASES DE DATOS
86 180 160 179 (c) Inserción clave = 160 n=3 100 120 150 180 180 200 150 156 179 JOSÉ CUARTAS BASES DE DATOS
87 160 180 160 179 (c) Inserción clave = 160 n=3 100 120 150 180 180 200 150 156 179 JOSÉ CUARTAS BASES DE DATOS
88 (d) Nueva raíz(ROOT),  inserción 45 n=3 10 20 30 1 2 3 10 12 20 25 30 32 40 JOSÉ CUARTAS BASES DE DATOS
89 40 45 (d) Nueva raíz(ROOT),  inserción 45 n=3 10 20 30 1 2 3 10 12 20 25 30 32 40 JOSÉ CUARTAS BASES DE DATOS
90 40 40 45 (d) Nueva raíz(ROOT),  inserción 45 n=3 10 20 30 1 2 3 10 12 20 25 30 32 40 JOSÉ CUARTAS BASES DE DATOS
91 30 Nueva raíz 40 40 45 (d) Nueva raíz(ROOT),  inserción 45 n=3 10 20 30 1 2 3 10 12 20 25 30 32 40 JOSÉ CUARTAS BASES DE DATOS
92 (a) Caso simple - no hay ejemplo (b) Combinación con el vecino(sibling) (c) Redistribución de claves de búsqueda (d) Caso (b) o (c) en nodointerno Eliminación de B+tree JOSÉ CUARTAS BASES DE DATOS
93 (b) Combinación con el nodovecino Elimina 50 n=4 10 40 100 10 20 30 40 50 JOSÉ CUARTAS BASES DE DATOS
94 40 (b) Combinación con el nodo vecino  Elimina 50 n=4 10 40 100 10 20 30 40 50 JOSÉ CUARTAS BASES DE DATOS
95 (c) Redistribución de Claves Eliminación 50 n=4 10 40 100 10 20 30 35 40 50 JOSÉ CUARTAS BASES DE DATOS
96 35 35 (c) Redistribución de Claves Eliminación 50 n=4 10 40 100 10 20 30 35 40 50 JOSÉ CUARTAS BASES DE DATOS
97 (d) Combinación de nodosinternos ,[object Object],n=4 25 10 20 30 40 25 26 30 37 40 45 20 22 10 14 1 3 JOSÉ CUARTAS BASES DE DATOS
98 30 (d) Combinación de nodosinternos ,[object Object],n=4 25 10 20 30 40 25 26 30 37 40 45 20 22 10 14 1 3 JOSÉ CUARTAS BASES DE DATOS
99 40 30 (d) Combinación de nodosinternos ,[object Object],n=4 25 10 20 30 40 25 26 30 37 40 45 20 22 10 14 1 3 JOSÉ CUARTAS BASES DE DATOS
100 Nueva raíz 40 25 30 (d) Combinación de nodosinternos ,[object Object],n=4 25 10 20 30 40 25 26 30 37 40 45 20 22 10 14 1 3 JOSÉ CUARTAS BASES DE DATOS
101 Comparasión: B-trees vs. estaticosíndice de archivosecuencial Ref #1:   Held & Stonebraker 			“B-Trees Re-examined” 			CACM, Feb. 1978 JOSÉ CUARTAS BASES DE DATOS
102 Ref # 1 claims: - Controld e concurrenciaesmuyduro en B-Trees    - B-tree consumenmásespacio Para la comparación: Bloque= 512 bytes clave = puntero= 4 bytes 	4 datos de registroporbloque JOSÉ CUARTAS BASES DE DATOS
103 k1 k2 k3 Ejemplo: 1 Bloque de índiceestatico 127 claves (127+1)4 = 512 Bytes -> punteros a un índiceexplicito!		Porencima de 127 bloques 1 data block k1 k2 k3 JOSÉ CUARTAS BASES DE DATOS
104 k1 k2 k3 Ejemplo: 1 Bloque B-tree k1 1 data block 63 Claves 63x(4+4)+8 = 512 Bytes -> punterosnecesarios en B-tree		porencima de 63 porqueíndice no contiguo k2 ... k63 - siguiente JOSÉ CUARTAS BASES DE DATOS
105 Ref. #1 análisis Para un bloque de archivodespués de 32,000 inserciones después de 16,000 búsquedas    El índiceahorrasuficienteespaciopara la reorganización JOSÉ CUARTAS BASES DE DATOS
106 Ref. #1 conclusión Mejoríndiceestático!! Ref. #1 análisis Para un bloque de archivodespués de 32,000 inserciones después de 16,000 búsquedas   El índiceahorrasuficienteespaciopara la reorganización JOSÉ CUARTAS BASES DE DATOS
107 Ref. #2 conclusión Mejor B-trees!! Ref #2:   M. Stonebraker,  			“Retrospective on a database			 system,”   TODS, June 1980 JOSÉ CUARTAS BASES DE DATOS
108 Ref. #2 conclusión B-trees mejor!! DBA no nesecitan saber cuandoreorganizar DBA no nesecitanconocercomoestan de cargadoslaspáginas del nuevoíndice JOSÉ CUARTAS BASES DE DATOS
109 Ref. #2 conclusión Mejor B-trees!! Buffering B-tree: tienerequerimiento de buffer fijo Estatico: debe leer variosbloques de desbordamientoporeficiencia(buffer largos y de tamaño variable) JOSÉ CUARTAS BASES DE DATOS
110 Problemainteresante: Para B+tree, que tan largo debesern? … nnúmero de claves / nodo JOSÉ CUARTAS BASES DE DATOS
111 Supuestos: (1) Tiempo de lectura de un nodo de disco es (S+Tn) msec. JOSÉ CUARTAS BASES DE DATOS
112 Supuestos: (1) Tiempo de lectura de un nodo de disco es (S+Tn) msec. (2) Un bloque en memoria, usabúsquedabinariapor clave de búsqueda:					(a + b LOG2n) msec. Para algunascostantesa,b;   se asumea << S JOSÉ CUARTAS BASES DE DATOS
113 Supuestos: (1) Tiempo de lectura de un nodo de disco es (S+Tn) msec. (2) Un bloque en memoria, usaunabusquedabinariaparalocalizar la clave:(a + b LOG2n) msec. Para algunascostantesa,b;   se asume  a << S (3) AsumenB+treeestalleno, i.e., 			# nodosexaminadosesLOGnNdondeN= # registros JOSÉ CUARTAS BASES DE DATOS
114 Se consigue:f(n) = Tiempoparaencontrar un registro f(n) noptn JOSÉ CUARTAS BASES DE DATOS
115 VariaciónB+tree: B-tree (no +) Idea: Evitar claves duplicadas Tenerpunteros a registro en nodosinternos JOSÉ CUARTAS BASES DE DATOS
116 K1 P1 K2 P2 K3 P3 registroregistroregistro con K1con K2con K3 a las clavesa las claves a las claves a las claves < K1		     K1<x<K2	     K2<x<k3	              >k3 JOSÉ CUARTAS BASES DE DATOS
117 Ejemplo B-tree				n=2 65 125 145 165 85 105 25 45 10 20 30 40 110 120 90 100 70 80 170 180 50 60 130 140 150 160 JOSÉ CUARTAS BASES DE DATOS
118 ,[object Object],Ejemplo B-tree				n=2 65 125 145 165 85 105 25 45 10 20 30 40 110 120 90 100 70 80 170 180 50 60 130 140 150 160 JOSÉ CUARTAS BASES DE DATOS
119 – 20 – ,[object Object],10 25 30 Nota en inserción inserción de registro con la clave = 25 10 20 30 n=3 hoja JOSÉ CUARTAS BASES DE DATOS
120 Ventajas y desventajas:  B-trees tiene mas rapidabúsquedaqueB+trees  en B-tree, nodosinternos& hojadiferentetamaño  enB-tree, la eliminaciónescomplicada  Preferido el B+trees! JOSÉ CUARTAS BASES DE DATOS
121 Pero note: Si el bloquees de tamañofijo (Debido a restricciones de disco y buffer) Entonces la búsquedaporB+treeesmucho mejor!! JOSÉ CUARTAS BASES DE DATOS

Más contenido relacionado

La actualidad más candente

Vb II, Unidad 2, Manejo De Archivos
Vb II, Unidad 2, Manejo De ArchivosVb II, Unidad 2, Manejo De Archivos
Vb II, Unidad 2, Manejo De ArchivosUTP, TA
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacionMaria Garcia
 
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기John Kim
 
3. modelo entidad relación extendido
3. modelo entidad relación extendido3. modelo entidad relación extendido
3. modelo entidad relación extendidoGalo Anzules
 
Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortlinkinpark03
 
ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)Franklin Parrales Bravo
 
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)Rubi Veronica Chimal Cuxin
 
Installation of java and program execution
Installation of java and program executionInstallation of java and program execution
Installation of java and program executionRakhee Chhibber
 
oracle Sql constraint
oracle  Sql constraint oracle  Sql constraint
oracle Sql constraint home
 
Archivo secuencial indexado
Archivo secuencial indexadoArchivo secuencial indexado
Archivo secuencial indexadoTortuly
 
Forma normal de boyce codd
Forma normal de boyce coddForma normal de boyce codd
Forma normal de boyce coddMemo Wars
 
Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)Stalin Eduardo Tusa Vitar
 

La actualidad más candente (20)

Indices 1
Indices 1Indices 1
Indices 1
 
Vb II, Unidad 2, Manejo De Archivos
Vb II, Unidad 2, Manejo De ArchivosVb II, Unidad 2, Manejo De Archivos
Vb II, Unidad 2, Manejo De Archivos
 
Introduction to SQL
Introduction to SQLIntroduction to SQL
Introduction to SQL
 
Relaciones en bases de datos
Relaciones en bases de datosRelaciones en bases de datos
Relaciones en bases de datos
 
COLAS
COLASCOLAS
COLAS
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
 
3. modelo entidad relación extendido
3. modelo entidad relación extendido3. modelo entidad relación extendido
3. modelo entidad relación extendido
 
Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sort
 
Tablespaces En Oracle
Tablespaces En OracleTablespaces En Oracle
Tablespaces En Oracle
 
Sql join
Sql  joinSql  join
Sql join
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)
 
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
 
Installation of java and program execution
Installation of java and program executionInstallation of java and program execution
Installation of java and program execution
 
Lenguaje SQL
Lenguaje SQLLenguaje SQL
Lenguaje SQL
 
oracle Sql constraint
oracle  Sql constraint oracle  Sql constraint
oracle Sql constraint
 
Archivo secuencial indexado
Archivo secuencial indexadoArchivo secuencial indexado
Archivo secuencial indexado
 
Forma normal de boyce codd
Forma normal de boyce coddForma normal de boyce codd
Forma normal de boyce codd
 
Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)
 

Más de josecuartas

Seguridad en el almacenamiento de las bases de datos
Seguridad en el almacenamiento de las bases de datosSeguridad en el almacenamiento de las bases de datos
Seguridad en el almacenamiento de las bases de datosjosecuartas
 
Anti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptualAnti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptualjosecuartas
 
Tableros de control o Dashboard
Tableros de control o DashboardTableros de control o Dashboard
Tableros de control o Dashboardjosecuartas
 
Visualizacion de datos
Visualizacion de datosVisualizacion de datos
Visualizacion de datosjosecuartas
 
Calidad de datos
Calidad de datosCalidad de datos
Calidad de datosjosecuartas
 
De los datos a la información
De los datos a la informaciónDe los datos a la información
De los datos a la informaciónjosecuartas
 
Datos semiestructurados Xml
Datos semiestructurados XmlDatos semiestructurados Xml
Datos semiestructurados Xmljosecuartas
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
Bases de datos temporales
Bases de datos temporalesBases de datos temporales
Bases de datos temporalesjosecuartas
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicojosecuartas
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosjosecuartas
 
Seguridad en bases de datos
Seguridad en bases de datosSeguridad en bases de datos
Seguridad en bases de datosjosecuartas
 
Los datos en el disco duro
Los datos en el disco duroLos datos en el disco duro
Los datos en el disco durojosecuartas
 
Digramas de venn aplicado en las bases datos
Digramas de venn aplicado en las bases datosDigramas de venn aplicado en las bases datos
Digramas de venn aplicado en las bases datosjosecuartas
 
Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQLjosecuartas
 
Disco duro bases datos
Disco duro bases datosDisco duro bases datos
Disco duro bases datosjosecuartas
 
Fuga de información
Fuga de informaciónFuga de información
Fuga de informaciónjosecuartas
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)josecuartas
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011josecuartas
 

Más de josecuartas (20)

Seguridad en el almacenamiento de las bases de datos
Seguridad en el almacenamiento de las bases de datosSeguridad en el almacenamiento de las bases de datos
Seguridad en el almacenamiento de las bases de datos
 
Anti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptualAnti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptual
 
Tableros de control o Dashboard
Tableros de control o DashboardTableros de control o Dashboard
Tableros de control o Dashboard
 
Visualizacion de datos
Visualizacion de datosVisualizacion de datos
Visualizacion de datos
 
Calidad de datos
Calidad de datosCalidad de datos
Calidad de datos
 
De los datos a la información
De los datos a la informaciónDe los datos a la información
De los datos a la información
 
Datos semiestructurados Xml
Datos semiestructurados XmlDatos semiestructurados Xml
Datos semiestructurados Xml
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Bases de datos temporales
Bases de datos temporalesBases de datos temporales
Bases de datos temporales
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datos
 
Seguridad en bases de datos
Seguridad en bases de datosSeguridad en bases de datos
Seguridad en bases de datos
 
Los datos en el disco duro
Los datos en el disco duroLos datos en el disco duro
Los datos en el disco duro
 
Digramas de venn aplicado en las bases datos
Digramas de venn aplicado en las bases datosDigramas de venn aplicado en las bases datos
Digramas de venn aplicado en las bases datos
 
Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQL
 
Disco duro bases datos
Disco duro bases datosDisco duro bases datos
Disco duro bases datos
 
Fuga de información
Fuga de informaciónFuga de información
Fuga de información
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
SQL avanzado
SQL avanzadoSQL avanzado
SQL avanzado
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011
 

Último

TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxNadiaMartnez11
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfcarolinamartinezsev
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnnlitzyleovaldivieso
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxpvtablets2023
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOPsicoterapia Holística
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 

Último (20)

TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 

índices en bases de datos

  • 1. 1 Índiceshttp://es.wikipedia.org/wiki/Indexar José Andrés CuartasMuñoz JOSÉ CUARTAS BASES DE DATOS
  • 2. 2 Índexación& Hashing valor registro ? valor JOSÉ CUARTAS BASES DE DATOS
  • 3. 3 Tópicos Indices convencionales B-trees Esquema Hashing JOSÉ CUARTAS BASES DE DATOS
  • 4. 4 10 30 50 70 90 20 40 60 80 100 Archivosecuencial Se organizanpor un campo de ordenacióngeneralmente claves primarias o únicas JOSÉ CUARTAS BASES DE DATOS
  • 5. 5 10 30 50 70 90 110 20 40 60 80 100 120 10 30 50 70 90 20 40 60 80 100 Archivode datossecuencial Índicedenso Se tieneunaentrada en un registro en uno de los bloques del archivo de índicesporcadaentrada en al archivo de datos bloque En estetipo de índice se tiene un valor clave y un puntero al registro. por se tan pequeño se mantiene en el buffer Puntero a registro JOSÉ CUARTAS BASES DE DATOS
  • 6. 6 10 50 90 130 170 210 30 70 110 150 190 230 10 30 50 70 90 20 40 60 80 100 Archivo de datossecuencial Índice no denso Se tieneunaentradaen un registro en uno de los bloques del archivode índicesporcadabloque en al archivo de datos Puntero a bloque JOSÉ CUARTAS BASES DE DATOS
  • 7. 7 10 50 90 130 170 210 10 170 330 490 30 70 110 150 190 230 90 250 410 570 10 30 50 70 90 20 40 60 80 100 Archivosecuencial Extendidos2nd Nivel JOSÉ CUARTAS BASES DE DATOS
  • 8. 8 Comentarios: {ARCHIVO,INDICES} pueden ser contiguos o no (Bloquesencadenados) JOSÉ CUARTAS BASES DE DATOS
  • 9. 9 Notassobrepunteros: (1) Punterosa bloque(índice no denso) puedenser mas pequeñosque un puntero a registro BP RP JOSÉ CUARTAS BASES DE DATOS
  • 10. 10 (2)Si el archivoescontiguo , entonces se puedeomitir los punteros(e.j, computación) Notassobrepunteros: JOSÉ CUARTAS BASES DE DATOS
  • 11. 11 R2 R1 R3 R4 K1 K2 K3 K4 JOSÉ CUARTAS BASES DE DATOS
  • 12.
  • 13. 13 No densos vs. Densos No denso o agrupados:Menosespacioporregistro del índice, estopermite mas almacenamiento de indices en la memoria Denso:Se puede saber si existe algún registro sin acceso al archivo (Mastarde: No densomejorparainserciones Denso necesarios para índice secundario) JOSÉ CUARTAS BASES DE DATOS
  • 14. 14 Términos Archivo de indicesecuencial Clave de búsqueda( Clave primaria) Índiceprimario(en archivosecuencial) Índicesecundario Índicedenso(Para cadadatouna clave de búsqueda) Índice no denso o índice de agrupamiento Índicemultiple-nivel JOSÉ CUARTAS BASES DE DATOS
  • 15. 15 Siguiente: Claves de búsquedaduplicadas Eliminación/Inserción Índicesecundario JOSÉ CUARTAS BASES DE DATOS
  • 16. 16 10 10 20 30 40 10 20 30 30 45 Claves duplicadas JOSÉ CUARTAS BASES DE DATOS
  • 17. 17 10 10 20 30 40 10 10 20 30 40 10 20 30 30 45 10 20 30 30 45 Claves duplicadas Índicedenso, unaposibleimplementación? 10 10 10 10 10 10 20 20 20 20 30 30 30 30 30 30 JOSÉ CUARTAS BASES DE DATOS
  • 18. 18 10 10 20 30 40 10 20 30 30 45 Claves duplicadas Índicedenso, un mejorposibilidad? 10 20 30 40 JOSÉ CUARTAS BASES DE DATOS
  • 19. 19 10 10 20 30 40 10 20 30 30 45 Claves duplicadas Índice no denso, unaposibilidad? 10 10 20 30 JOSÉ CUARTAS BASES DE DATOS
  • 20. 20 10 10 20 30 40 10 20 30 30 45 Cuidado con búsquedas Para 20 o 30! Claves duplicadas Índice no denso, unaposibilidad? 10 10 20 30 JOSÉ CUARTAS BASES DE DATOS
  • 21.
  • 22.
  • 23. 23 Valoresduplicados, Índiceprimario Resumen El índicepuedeapuntar a la primerainstancia de cada valor único Archivo Índice a a a . . b JOSÉ CUARTAS BASES DE DATOS
  • 24. 24 10 30 50 70 20 40 60 80 Eliminación de índice no densos 10 30 50 70 90 110 130 150 JOSÉ CUARTAS BASES DE DATOS
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. 32 10 30 50 70 20 40 60 80 Eliminación de índicedenso 10 20 30 40 50 60 70 80 JOSÉ CUARTAS BASES DE DATOS
  • 33.
  • 34.
  • 35.
  • 36. 36 10 30 40 60 20 50 Inserción, caso:Índice no densos 10 30 40 60 JOSÉ CUARTAS BASES DE DATOS
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 44. actualiza el índiceJOSÉ CUARTAS BASES DE DATOS
  • 45.
  • 46.
  • 47.
  • 48. esmascostoso. . . JOSÉ CUARTAS BASES DE DATOS
  • 49.
  • 52. Cuando se usa un índice secundario se cambiala vista de los registros, su localidad física no cambia. JOSÉ CUARTAS BASES DE DATOS
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58. 51 Con los índicessecundarios: También:Punteros son punteros a registro (no punteros a bloques; no se computan) El nivelbajoesdenso Los otrosniveles son no densos JOSÉ CUARTAS BASES DE DATOS
  • 59. 52 20 20 10 10 30 10 40 40 40 40 Valoresduplicados& Índicessecundarios JOSÉ CUARTAS BASES DE DATOS
  • 60. 53 20 20 10 10 30 10 40 40 40 40 10 20 40 10 30 40 10 40 ... 20 40 Valoresduplicados& Índicessecundarios Unaopción... JOSÉ CUARTAS BASES DE DATOS
  • 61.
  • 62. tiempo de búsquedaJOSÉ CUARTAS BASES DE DATOS
  • 63. 55 20 20 10 10 30 10 40 40 40 40 40 30 20 Valoresduplicados& Índicessecundarios Otraopción... 10 JOSÉ CUARTAS BASES DE DATOS
  • 64. 56 20 20 10 10 30 10 40 40 40 40 40 30 20 Valoresduplicados& Indices secundarios Otraopción... 10 Problema: Registro de tamaño variable en los índices! JOSÉ CUARTAS BASES DE DATOS
  • 65. 57 20 20 10 10 30 10 40 40 40 40 10 50 20 60 30 ... 40 Valoresduplicados& Índicessecundarios   Otra idea :Los registrosencadenados con lasmisma clave de búsqueda   JOSÉ CUARTAS BASES DE DATOS
  • 66.
  • 67. Nesecitallevar el seguimento de los camposJOSÉ CUARTAS BASES DE DATOS
  • 68. 59 20 20 10 10 30 10 40 40 40 40 10 50 20 60 30 ... 40 Valoresduplicados& Índicessecundarios Nivelintermedio de indirección JOSÉ CUARTAS BASES DE DATOS
  • 69. 60 Porque los “nivelesintermedios” son lasideales IndicesRegistros Nombre: primario EMP (nombre,dept,piso,...) Dept: secundario Piso: secundario JOSÉ CUARTAS BASES DE DATOS
  • 70. 61 Dept. índice EMP Pisoíndice Sis 2do Consulta: Conseguir los empleados en(Dept Sis) ^ (2do Piso) Muyútilparaíndices con campos no únicos JOSÉ CUARTAS BASES DE DATOS
  • 71. 62 Sis 2do Consulta: Conseguir los empleados en(Dept Sis) ^ (2do Piso) Dept. índice EMP Pisoíndice  Se cruza el nivelintermedio de Dept con la cubeta de 2do Pisoconsiguiendolos empleados JOSÉ CUARTAS BASES DE DATOS
  • 72. 63 Resumiendo Indices convencionales Ideas basicas: densos, no desos, multiple-nivel… Claves duplicadas Eliminación/Inserción Indices secundarios Nivelintermedio de indirección JOSÉ CUARTAS BASES DE DATOS
  • 73. 64 Índiceconvencional Ventajas: - Simples - Los Índeces se almacenan un archivosecuencialfácil de escanear Desventajas: - Costosoen inserción, - Perdidadsecuencia y balance JOSÉ CUARTAS BASES DE DATOS
  • 74. 65 EjemploÍndice(secuencia) continuos espaciolibre 10 20 30 40 50 60 70 80 90 JOSÉ CUARTAS BASES DE DATOS
  • 75. 66 39 32 31 38 33 35 34 36 Áreade desbordamiento (no secuencia) EjemploÍndice(secuencial) continuos espaciolibre 10 20 30 40 50 60 70 80 90 JOSÉ CUARTAS BASES DE DATOS
  • 76. 67 Esquema: Indiceconvencional B-Trees Siguiente JOSÉ CUARTAS BASES DE DATOS
  • 77. 68 Suguiente: Otrotipo de índice Cuando nose deseasecuencialidad Trata de obtener“balance” JOSÉ CUARTAS BASES DE DATOS
  • 78. 69 EjemploB+Tree(Árboles) n=3 Raíz(ROOT) 100 120 150 180 30 3 5 11 120 130 180 200 100 101 110 150 156 179 30 35 JOSÉ CUARTAS BASES DE DATOS
  • 79. 70 Ejemplo de un nodointerno 57 81 95 Claves Claves Claves Claves < 57 57 k<81 81k<95 95 JOSÉ CUARTAS BASES DE DATOS
  • 80. 71 Ejemplo de un nodohoja: puntero de un nodointerno puntero a la Siguientehoja en la secuencia 57 81 95 Registro con clave 57 Registrocon clave 81 Registrocon clave 85 JOSÉ CUARTAS BASES DE DATOS
  • 81. 72 Notación n=3 Hoja:notienenhijos Nodointerno: 30 35 30 35 30 30 JOSÉ CUARTAS BASES DE DATOS
  • 82. 73 Tamaño del nodo: n+1 punteros n Claves de búsqueda (fijos) JOSÉ CUARTAS BASES DE DATOS
  • 83. 74 No se desea un nodovacío Utilize por lo menos Nodointerno:(n+1)/2punteros Hoja:(n+1)/2punteros a datos JOSÉ CUARTAS BASES DE DATOS
  • 84. 75 n=3 Full node min. node Nodointerno Hoja 120 150 180 30 3 5 11 30 35 Cuentaseimpresiesvacío JOSÉ CUARTAS BASES DE DATOS
  • 85. 76 ReglasB+treeárbol de ordenn (1) Todaslashojasestán al mismonivel(balanceado) (2) Punteros en lashojas son a los registrosexceptopara “punteros de secuencia” JOSÉ CUARTAS BASES DE DATOS
  • 86. 77 (3) Número de punteros/claves paraB+tree Max Max Min Min ptrsClavesptrsdataClaves No-hojas (no-raíz) n+1 n (n+1)/2 (n+1)/2- 1 hojas (no-raíz) n+1 n (n+1)/2 (n+1)/2 Raíz n+1 n 1 1 JOSÉ CUARTAS BASES DE DATOS
  • 87. 78 Inserción en el B+tree (a) Simple caso Espaciodisponible en la hoja (b) Desborde de hoja (c) Desborde de Nodointerno (d) Nueva raíz JOSÉ CUARTAS BASES DE DATOS
  • 88. 79 (a) Inserción clave = 32 n=3 100 30 3 5 11 30 31 JOSÉ CUARTAS BASES DE DATOS
  • 89. 80 32 (a) Inserción clave = 32 n=3 100 30 3 5 11 30 31 JOSÉ CUARTAS BASES DE DATOS
  • 90. 81 (a) Inserción clave = 7 n=3 100 30 3 5 11 30 31 JOSÉ CUARTAS BASES DE DATOS
  • 91. 82 3 5 7 (b) Inserción clave = 7 n=3 100 30 3 5 11 30 31 JOSÉ CUARTAS BASES DE DATOS
  • 92. 83 7 3 5 7 (b) Inserción clave = 7 n=3 100 30 3 5 11 30 31 JOSÉ CUARTAS BASES DE DATOS
  • 93. 84 (c) Inserción clave = 160 n=3 100 120 150 180 180 200 150 156 179 JOSÉ CUARTAS BASES DE DATOS
  • 94. 85 160 179 (c) Inserción clave = 160 n=3 100 120 150 180 180 200 150 156 179 JOSÉ CUARTAS BASES DE DATOS
  • 95. 86 180 160 179 (c) Inserción clave = 160 n=3 100 120 150 180 180 200 150 156 179 JOSÉ CUARTAS BASES DE DATOS
  • 96. 87 160 180 160 179 (c) Inserción clave = 160 n=3 100 120 150 180 180 200 150 156 179 JOSÉ CUARTAS BASES DE DATOS
  • 97. 88 (d) Nueva raíz(ROOT), inserción 45 n=3 10 20 30 1 2 3 10 12 20 25 30 32 40 JOSÉ CUARTAS BASES DE DATOS
  • 98. 89 40 45 (d) Nueva raíz(ROOT), inserción 45 n=3 10 20 30 1 2 3 10 12 20 25 30 32 40 JOSÉ CUARTAS BASES DE DATOS
  • 99. 90 40 40 45 (d) Nueva raíz(ROOT), inserción 45 n=3 10 20 30 1 2 3 10 12 20 25 30 32 40 JOSÉ CUARTAS BASES DE DATOS
  • 100. 91 30 Nueva raíz 40 40 45 (d) Nueva raíz(ROOT), inserción 45 n=3 10 20 30 1 2 3 10 12 20 25 30 32 40 JOSÉ CUARTAS BASES DE DATOS
  • 101. 92 (a) Caso simple - no hay ejemplo (b) Combinación con el vecino(sibling) (c) Redistribución de claves de búsqueda (d) Caso (b) o (c) en nodointerno Eliminación de B+tree JOSÉ CUARTAS BASES DE DATOS
  • 102. 93 (b) Combinación con el nodovecino Elimina 50 n=4 10 40 100 10 20 30 40 50 JOSÉ CUARTAS BASES DE DATOS
  • 103. 94 40 (b) Combinación con el nodo vecino Elimina 50 n=4 10 40 100 10 20 30 40 50 JOSÉ CUARTAS BASES DE DATOS
  • 104. 95 (c) Redistribución de Claves Eliminación 50 n=4 10 40 100 10 20 30 35 40 50 JOSÉ CUARTAS BASES DE DATOS
  • 105. 96 35 35 (c) Redistribución de Claves Eliminación 50 n=4 10 40 100 10 20 30 35 40 50 JOSÉ CUARTAS BASES DE DATOS
  • 106.
  • 107.
  • 108.
  • 109.
  • 110. 101 Comparasión: B-trees vs. estaticosíndice de archivosecuencial Ref #1: Held & Stonebraker “B-Trees Re-examined” CACM, Feb. 1978 JOSÉ CUARTAS BASES DE DATOS
  • 111. 102 Ref # 1 claims: - Controld e concurrenciaesmuyduro en B-Trees - B-tree consumenmásespacio Para la comparación: Bloque= 512 bytes clave = puntero= 4 bytes 4 datos de registroporbloque JOSÉ CUARTAS BASES DE DATOS
  • 112. 103 k1 k2 k3 Ejemplo: 1 Bloque de índiceestatico 127 claves (127+1)4 = 512 Bytes -> punteros a un índiceexplicito! Porencima de 127 bloques 1 data block k1 k2 k3 JOSÉ CUARTAS BASES DE DATOS
  • 113. 104 k1 k2 k3 Ejemplo: 1 Bloque B-tree k1 1 data block 63 Claves 63x(4+4)+8 = 512 Bytes -> punterosnecesarios en B-tree porencima de 63 porqueíndice no contiguo k2 ... k63 - siguiente JOSÉ CUARTAS BASES DE DATOS
  • 114. 105 Ref. #1 análisis Para un bloque de archivodespués de 32,000 inserciones después de 16,000 búsquedas  El índiceahorrasuficienteespaciopara la reorganización JOSÉ CUARTAS BASES DE DATOS
  • 115. 106 Ref. #1 conclusión Mejoríndiceestático!! Ref. #1 análisis Para un bloque de archivodespués de 32,000 inserciones después de 16,000 búsquedas El índiceahorrasuficienteespaciopara la reorganización JOSÉ CUARTAS BASES DE DATOS
  • 116. 107 Ref. #2 conclusión Mejor B-trees!! Ref #2: M. Stonebraker, “Retrospective on a database system,” TODS, June 1980 JOSÉ CUARTAS BASES DE DATOS
  • 117. 108 Ref. #2 conclusión B-trees mejor!! DBA no nesecitan saber cuandoreorganizar DBA no nesecitanconocercomoestan de cargadoslaspáginas del nuevoíndice JOSÉ CUARTAS BASES DE DATOS
  • 118. 109 Ref. #2 conclusión Mejor B-trees!! Buffering B-tree: tienerequerimiento de buffer fijo Estatico: debe leer variosbloques de desbordamientoporeficiencia(buffer largos y de tamaño variable) JOSÉ CUARTAS BASES DE DATOS
  • 119. 110 Problemainteresante: Para B+tree, que tan largo debesern? … nnúmero de claves / nodo JOSÉ CUARTAS BASES DE DATOS
  • 120. 111 Supuestos: (1) Tiempo de lectura de un nodo de disco es (S+Tn) msec. JOSÉ CUARTAS BASES DE DATOS
  • 121. 112 Supuestos: (1) Tiempo de lectura de un nodo de disco es (S+Tn) msec. (2) Un bloque en memoria, usabúsquedabinariapor clave de búsqueda: (a + b LOG2n) msec. Para algunascostantesa,b; se asumea << S JOSÉ CUARTAS BASES DE DATOS
  • 122. 113 Supuestos: (1) Tiempo de lectura de un nodo de disco es (S+Tn) msec. (2) Un bloque en memoria, usaunabusquedabinariaparalocalizar la clave:(a + b LOG2n) msec. Para algunascostantesa,b; se asume a << S (3) AsumenB+treeestalleno, i.e., # nodosexaminadosesLOGnNdondeN= # registros JOSÉ CUARTAS BASES DE DATOS
  • 123. 114 Se consigue:f(n) = Tiempoparaencontrar un registro f(n) noptn JOSÉ CUARTAS BASES DE DATOS
  • 124. 115 VariaciónB+tree: B-tree (no +) Idea: Evitar claves duplicadas Tenerpunteros a registro en nodosinternos JOSÉ CUARTAS BASES DE DATOS
  • 125. 116 K1 P1 K2 P2 K3 P3 registroregistroregistro con K1con K2con K3 a las clavesa las claves a las claves a las claves < K1 K1<x<K2 K2<x<k3 >k3 JOSÉ CUARTAS BASES DE DATOS
  • 126. 117 Ejemplo B-tree n=2 65 125 145 165 85 105 25 45 10 20 30 40 110 120 90 100 70 80 170 180 50 60 130 140 150 160 JOSÉ CUARTAS BASES DE DATOS
  • 127.
  • 128.
  • 129. 120 Ventajas y desventajas:  B-trees tiene mas rapidabúsquedaqueB+trees  en B-tree, nodosinternos& hojadiferentetamaño  enB-tree, la eliminaciónescomplicada  Preferido el B+trees! JOSÉ CUARTAS BASES DE DATOS
  • 130. 121 Pero note: Si el bloquees de tamañofijo (Debido a restricciones de disco y buffer) Entonces la búsquedaporB+treeesmucho mejor!! JOSÉ CUARTAS BASES DE DATOS
  • 131. 122 Ejemplo: - Punteros 4 bytes - Claves 4 bytes - Bloques 100 bytes (just example) - Búsquedapara un btree de nivel 2 JOSÉ CUARTAS BASES DE DATOS
  • 132. 123 B-tree: Raíztiene 8 claves + 8 punteros a registro + 9 punteroshijo = 8x4 + 8x4 + 9x4 = 100 bytes JOSÉ CUARTAS BASES DE DATOS
  • 133. 124 B-tree: Raíztiene 8 claves + 8 punteros a registro + 9 punteroshijo = 8x4 + 8x4 + 9x4 = 100 bytes De cada9 hijos:12 rec. puntero(+12 keys) = 12x(4+4) + 4 = 100 bytes JOSÉ CUARTAS BASES DE DATOS
  • 134. 125 B-tree: Raíztiene 8 claves + 8 punteros a registro + 9 punteroshijo = 8x4 + 8x4 + 9x4 = 100 bytes De cada9 hijos:12 rec. puntero(+12 keys) = 12x(4+4) + 4 = 100 bytes 2-nivel B-tree, Max # registros= 12x9 + 8 = 116 JOSÉ CUARTAS BASES DE DATOS
  • 135. 126 B+tree: Raíz tiene 12 claves + 13 punteros hijo = 12x4 + 13x4 = 100 bytes JOSÉ CUARTAS BASES DE DATOS
  • 136. 127 B+tree: Raíztiene 12 claves + 13 punteroshijo = 12x4 + 13x4 = 100 bytes Porcada 13 hijos:12 rec. ptrs (+12 keys) = 12x(4 +4) + 4 = 100 bytes JOSÉ CUARTAS BASES DE DATOS
  • 137. 128 B+tree: Raíz tiene 12 claves + 13 punteros hijo = 12x4 + 13x4 = 100 bytes Porcada 13 hijos:12 rec. ptrs (+12 keys) = 12x(4 +4) + 4 = 100 bytes 2-nivel B+tree, Max # registros = 13x12 = 156 JOSÉ CUARTAS BASES DE DATOS
  • 138. 129 Así... 8 registros oooooooooooooooooooooo 156 registros 108 registros Total = 116 B+ B JOSÉ CUARTAS BASES DE DATOS
  • 139.
  • 140. Para bloque de tamañofijo,
  • 141. B+ tree esmejorporquees mas tupidoJOSÉ CUARTAS BASES DE DATOS