23
UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati per interrogazioni approssimate a database relazionali Fabio Longo Relatore: Ch.mo Prof. A. Ferro Correlatore: Dott.ssa R. Giugno Anno Accademico 1999-2000 Tesi di laurea

UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

Embed Size (px)

Citation preview

Page 1: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

UNIVERSITÀ DEGLI STUDI DI CATANIAFACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI

Corso di Laurea in Scienze dell’Informazione

Indici gerarchizzati per interrogazioni approssimate a database relazionali

Fabio Longo

Relatore: Ch.mo Prof. A. Ferro

Correlatore: Dott.ssa R. Giugno

Anno Accademico 1999-2000

Tesi di laurea

Page 2: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

OBIETTIVI

• Creazione di un Web Server mSQL.

• Estensione dell’mSQL 2.0 con funzioni atte all’utilizzo completo di tali indici.

• Nuovo paradigma d’indicizzazione.

- Ricerche approssimate

- gerarchizzazione degli elementi coinvolti

nella ricerca

Page 3: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

RICERCA APPROSSIMATA

1o 2o 3o no………………...

Funzione d(oi,oj) con i, j {1,2, …n} tale che renda (O,d) uno spazio metrico

xo

d(ox,on)

d(ox,o2)

d(ox,o3)d(ox,o1)

Problema: calcolare gli ok tali che d(ox,ok)t con t>0 k{1,2,3, …n}

Page 4: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

MODELLI DI RICERCA APPROSSIMATA GIA’ STUDIATI

Modelli statici:

• FQ-tree (Fixed Query Tree)

• VP-tree (Vantage Point Tree)

• MVP-tree (Multiple Vantage Point Tree)

Modelli dinamici:

• M-tree (Metric Tree)

• Indici gerarchizzati

Page 5: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

METODO DI K.OFLAZER

Notazione Vertex List Sequence: set di liste di vertici indicanti i singoli cammini dalla radice ad ognuna delle foglie dell’albero.

Page 6: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

METODO DI K.OFLAZER

Sia Z=Z1, …,Zp una generica vertex list sequence.

Z[j] denota l’iniziale sottosequenza di j liste di vertici inclusa quella di posto j

dist(X[i],Y[j]) =

j * S Se i=0

i * S Se j=0

min(dist(X[i-1],Y[j-1]+C,dist(X[i-1],Y[j]+S,

dist(X[i],Y[j-1]+S) Se Xi e Yj differiscono solo per

l’etichetta del nodo.

min(dist(X[i-1],Y[j]),dist(X[i],Y[j-1]))+S Altrimenti

Dove C = costo in caso di differenti etichette

S = costo in caso di differenti strutture

Page 7: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

METODO DI K.OFLAZER

Sforzo computazionale stimato per la ricerca di quei VLS che non distano da un altro VLS-query oltre un certa soglia t:

O(L2logLk1/ceiling(t/S))

Dove L = numero di foglie in ogni albero

k = numero degli alberi nella foresta

t = tolleranza

S = costo dell’aggiunta o cancellazione della foglia in un certo albero.

Page 8: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

FORMALIZZAZIONE TEORICA DEL PROBLEMA

Ri:{Ti} i=1, …,n schema relazionale

Ri(A1:T1, A2:T2, …, Am:Tm) schema di relazione

Vincoli d’integrità:

• Y insieme di attributi NOT NULL

• X insieme di attributi tale da essere una chiave primaria per Ri:{Ti} i=1, …,n.

Vertex List Sequence formato da attributi di Ri:{Ti} i=1, …,n

T = Natural join tra gli schemi di relazione fra i quali attributi ne figura almeno

uno di Y.

Page 9: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

FORMALIZZAZIONE TEORICA DEL PROBLEMA

• n-upla di una istanza di T si crei un VLS.

• Si immergano tutti i VLS generati in una struttura di tipo Trie.

• Applicazione del metodo di Oflazer per ricavare tutti i VLS del

Trie che distano da un dato VLS-query in input non oltre una

soglia t.

Page 10: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

ESEMPIO: una semplice istanza.

Natural join: T[XY] X chiave primaria

Y={A1, A2, A3}

VLS=( (A1,A2) (A1,A3) ) dove A1, A2, A3Ri per certi i{1,2,…,n}

1A

2A 3A

Page 11: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

ESEMPIO: una semplice istanza.

Creazione del VLS-query fissando i parametri:

• ax{a1, a2, a3, … }

• bx{b1, b2, b3, …}

• cx{c1, c2, c3, … }

Page 12: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

API per l’estensione dell’mSQL 2.0 (C ansi)

Creazione del Trie

createTrie()

int createTrie ( sock , key , treeIndex)

int sock ;

char * key ;

char * treeIndex

Uso: costruisce il Trie relativo al database associato al proprio descrittore di socket sock, a partire dal VLS dato dalla stringa treeIndex, in cui tutti gli attributi ivi contenuti avranno la forma: “tabella.attributo”.

Esecuzione della Ricerca Approssimata

trieSelect()

m_result * trieSelect ( query_tree , t , c , s)

char * query_tree ;

int t ;

int c ;

int s ;

Uso: Calcola i VLS del trie creato da createTrie(), la cui distanza dall’VLS query_tree non eccede il valore della tolleranza t, e che tiene conto dei parametri c ed s.

Cardinalità dell’output

trieNumRows()

int trieNumRows ( result )

m_result * result ;

Uso: restituisce il numero delle righe coinvolte negli esiti di una ricerca approssimata, in base all’handle result di una precedente chiamata di trieSelect().

Fetch delle righe

trieFetchRow()

m_row * trieFetchRow ( result )

m_result * result ;

Uso: serve per accedere ai singoli campi di una riga, in base all’handle result di una precedente chiamata di trieSelect().

Page 13: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

COSTRUZIONE DI UN INDICE GERARCHIZZATO

IDEA:

• Scegliere l’altezza dell’albero.

• Determinare quali dovranno essere gli

attributi che andranno ad occupare ognuno

dei livelli dell’albero.

• Determinare le parentele tra nodi di livelli differenti

rispettando i vincoli gerarchici definiti.

Page 14: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

VINCOLI GERARCHICI

Definizione:

Utilità:

particolari restrizioni ai quali un albero è soggetto al momento di decidere, per un qualsiasi livello, chi dovrà essere il padre di un nuovo nodo tra quelli del livello soprastante.

fornire un criterio coerente, di cui un algoritmo non interattivo possa servirsi, per costruire il VLS che costituirà l’indice gerarchizzato.

Page 15: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

VINCOLI GERARCHICI

Un vincolo gerarchico può essere espresso come una funzione discreta F tale che, su un attributo a:

- F(a)=b Se b nella gerarchia definibile dev’essere

necessariamente padre di a.

- F(a)=NULL Altrimenti

Page 16: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

APPLICAZIONE: gestione di un database di alberghi

Scopo del progetto:

• Creazione di un sito Web nel quale un utente abbia la possibilità di scegliere un

albergo in un database, definendo le sue caratteristiche preferenziali ed il loro

grado d’importanza.

• Permettere all’utente di scegliere quale indice gerarchizzato utilizzare per la

ricerca (visualizzato in forma opportuna e comprensibile), o di crearne uno

nuovo secondo le sue preferenze attraverso una semplice interfaccia.

Page 17: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

Espressivita’delle ricerche approssimate

Possibilita’di definire:

• Citta’ e quartiere dell’albergo

• Presenza di strutture aggiuntive quali: piscina, shop

store, campo da tennis, etc.

• Caratteristiche delle stanze singole, doppie e delle

suite, quali: prezzo, vista, etc.

• Caratteristiche di eventuali strutture annesse all’albergo,

quali: ristoranti, sale congressi, etc.

Page 18: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

Esempio computazionale di ricerca approssimata

Page 19: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

Esempio computazionale di ricerca approssimata

Page 20: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

Esempio computazionale di ricerca approssimata

Page 21: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

Esempio computazionale di ricerca approssimata

Page 22: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

CONCLUSIONI

• Risultati: soddisfacenti

• Applicazione server testata su:

- Pentium 133Mhz, 16 Mb RAM, linux nella sua

distribuzione REDHAT 6.0

- AMD K6 333Mhz, 64 MB RAM, linux nella sua

distribuzione Mandrake 5.3

Page 23: UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell’Informazione Indici gerarchizzati

CONCLUSIONI

Algoritmo di creazione indici

assenza di significativi limiti per quel che riguarda:

• l’altezza dell’albero

• Il numero di attributi coinvolti nella ricerca approssimata

• I vincoli gerarchici ai quali l’indice possa essere soggettoFINE