Professional Documents
Culture Documents
Acceso MultiMulti-Clave
Introduccin Consultas n-dimensionales Organizaciones Indizadas para acceso multiclave rboles R Organizaciones Direccionadas Multiclave Estructuras Avanzadas para el Acceso Invertido Esquemas de Bits de puntero implcito Comparativa de estructuras para el acceso invertido
FFBBDD - 1
Tipos de Consulta: Exact Match Query (EMQ) Point Query (PQ) Window Query (WQ) Intersection Query (IQ) Enclosure Query (EQ) Adjacency Query (AQ) Containment Query (CQ) Nearest-Neighbor Query (NNQ) Spatial Join (SJ)
E4 E1 E6
E7 E9
R1
E2 E3 E10
R2
E5
E8
Ejemplos: EMQ(Q1) = {E3} PQ(Q2) = {E4} Q4 WQ(Q3) = {E2,E5,E10} o1 Q2 IQ(Q4) = {E7,E9} Q7 EQ(Q5) = {E10} Q1 AQ(Q6) = {E10} CQ(Q7) = {E4,E6} NNQ(Q8) = {E5,E10} SJ({Ei}{oi}, distancia(Qi,Ei) < 3) = {(o1,E1),(o1,E4),(o2,E5)}
2012 LaBDa Universidad Carlos III Madrid
Q3,Q6
Q5 Q8
o2
FFBBDD - 3
FFBBDD - 4
Nodo Hoja
Entrada 2
Encadenamiento
G1 E
G3
...
E1
E3
...
FFBBDD - 5
A
2012 LaBDa Universidad Carlos III Madrid
C
FFBBDD - 6
R1
E2 E6 E4
R2
E5
Raz
R R
1
E1
E2
E3
E4
E5
E6
FFBBDD - 7
FFBBDD - 9
y adems...
mmn = kmn =
k+1 2
FFBBDD - 10
nhojas =
kmin + 1 2
Tambin se puede acotar superiormente el nmero de ascendientes en el nivel n-1 (la frmula para hallar esa cota es la misma) Aplicando iterativamente esa frmula hasta llegar a la raz (nivel cuyo nmero de nodos sea 1) se podr calcular la profundidad del rbol (n) La profundidad del rbol determina el nmero mnimo de accesos. Si los intervalos no se solapan, tambin determina el coste mximo de algunos tipos de acceso (concretamente, de exact match y point query)
2012 LaBDa Universidad Carlos III Madrid
FFBBDD - 11
R1
E6
R2
E4 E11
E10
R3
E5
R R R
1 2
Raz
E5 E10 E11 E7 E9 E4 E8 E6
FFBBDD - 12
E1
E2
E3
FFBBDD - 13
R R R
1 2 al nodo
al nodo
R1 R2 R3 RN = resto
FFBBDD - 14
al nodo al nodo
R1
R2
R3
resto
E5 E4
R2
E1 E2 E8
R1
E3 E9 E10 E6 E7
E1 E2 E3 E4 E5 E6 E7 E8 E9
2012 LaBDa Universidad Carlos III Madrid
E10
Desbordamiento!!
FFBBDD - 15
R1
Regin R2: (0,0)*(15,15) Regin R1: (0,0)*(31.5,18) R2
E5
R2 R1
E9 E10 E4 E6 E5
2012 LaBDa Universidad Carlos III Madrid
E2 E3 E8 E7 E1
FFBBDD - 16
FFBBDD - 17
R1
E2 E7 E9 E8 E6
R2
E4 E11 E10
R3 2
E5
R R R
1 2
Raz
E5 E10 E11 E4 E6 E8 E7 E9
FFBBDD - 18
E1
E2
E3 E12
Nearest Neighbour-Query:
SELECT H.feature FROM HOSPITALES H, AMBULANCIAS A WHERE A.matrcula=0000AAA AND sdo_nn(A.shape, H.shape,NULL)=TRUE;
Spatial Join:
SELECT C.nombre, R.nombre FROM TABLE(SDO_JOIN(CIUDADES,SHAPE, RIOS,SHAPE,mask=FILTER) J, CIUDADES C, RIOS R WHERE J.rowid1=C.rowid AND J.rowid2=R.rowid;
2012 LaBDa Universidad Carlos III Madrid
FFBBDD - 19
Ejemplo:
- n=16
10
ni =
pi log2 100-pi
+n
* Sobre ms subespacios:
hallar el primero (ni), para el siguiente, actualcese la frmula, sustituyendo: 100 (100-pi) ,, n (n-ni) y sucesivamente, se emplea (100-pi) y (n-ni) para los i subespacios ya calculados
2012 LaBDa Universidad Carlos III Madrid
FFBBDD - 21
Para mejorar estas organizaciones se suele incorporar una estructura auxiliar (directorio), de tamao reducido (bloqueada en Mintermedia) que seale los cubos vacos (para no acceder a ellos), incluso que establezca una nueva direccin real para los ocupados (y no almacenar los vacos).
2012 LaBDa Universidad Carlos III Madrid
FFBBDD - 22
11
II.
La siguiente optimizacin consistira en adaptar el rea de datos a las necesidades puntuales del fichero disp. virtual extensible multiclave En 1982, Tamminen propone esa disp. virtual extensible multiclave (EXCELL) En (1981-1984) Nievergelt, Hinterberger y Sevcik proponen los ficheros rejilla como un cuadriculado d-dimensional del universo.
2012 LaBDa Universidad Carlos III Madrid
FFBBDD - 23
100111010111010110100
nombre apellido1 nombre apellido2 apellido1
- Cuando un cluster se satura, se divide aadiendo l bits de la dimensin j (la que mejor disperse), tal que kj+l < m1 (en general, supondremos l=1)
- Esos bits se aaden en la parte alta (a la izquierda) de la direccin virtual (de modo que no hay que rehacer el directorio, solo replicarlo 2l veces)
2012 LaBDa Universidad Carlos III Madrid
FFBBDD - 24
12
100111010111010110100
nombre apellido1 nombre apellido2 apellido1
x7 x6 y8 y7 y6 x5 x4 x3 x2 x1 x0 z3 z2 z1 z0 y5 y4 y3 y2 y1 y0
220 219 218 217 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
Fichero Rejilla
(Grid File)
Si tomamos en una rejilla formada por intervalos no rectangulares y anidados almacenada en un rbol balanceado, tenemos un Fichero BANG
(Balanced and Nested Grid)
FFBBDD - 26
13
14
Inconvenientes: es necesario que la organizacin base est formada por cubos de tamao fijo (acotados superiormente), lo que puede conllevar desperdicio de espacio, menor densidad, y mayor volumen. Ejemplo: para cierta clave A definida sobre un dominio de 5 valores, con puntero relativo de tamao 4 B en un soporte de Tbq=2 KB, y un fichero de 104 registros en cubos con Tc mx=10 y N=1600 Esquema de bits 104 * (1+4) bytes 25 bloques Esq. bits puntero implcito 1600*10* 1 byte 8 bloques
FFBBDD - 29
FFBBDD - 30
15
Adems:
buen comportamiento con volmenes grandes (nmero elevado de registros)
admite multivaluacin, pero no multiclave (a menos que se fusione con R-tree)
las condiciones que pueden aplicarse son algo ms complejas (p.e., rangos)
FFBBDD - 31
FFBBDD - 32
16