Continuos Query Processing in Data Streams Using Duality of Data and Queries

Post on 31-Dec-2015

46 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Continuos Query Processing in Data Streams Using Duality of Data and Queries. Hyo-Sang Lim, Jae-Gil Lee, Min-Jae Lee,Kyu-Young Whang, Il-Yeol Song. GRUPPO 27 Marco Lombardo (relatore) Mattia Petrosino Mattia Piraccini. GRUPPO 27. Approccio classico. Metodo query-initiative - PowerPoint PPT Presentation

Transcript

Continuos Query Processing in Data Streams

Using Duality of Data and QueriesHyo-Sang Lim, Jae-Gil Lee, Min-Jae Lee,Kyu-Young Whang, Il-Yeol Song

GRUPPO 27Marco Lombardo (relatore)

Mattia PetrosinoMattia Piraccini

Approccio classico

Metodo query-initiative

• Dati già memorizzati e indicizzati

• Ad-hoc queries• Eseguite una sola

volta su dati precaricati

• Si restituiscono tutti i dati che soddisfano una certa query

data index

data set

data

data

query

GRUPPO27

• Velocità• Quantità• Ordine• Elaborazione in tempo reale• È impossibile memorizzare tutti i dati• Moltissime interrogazioni complesse

da effettuare su ogni singolo dato in arrivo

Data stream GRUPPO27

Metodo data-initiative

• Query già memorizzate e indicizzate

• Continuous queries• Precaricate ed eseguite

su ogni dato in arrivo

• Si restituiscono tutte le query che sono soddisfatte da un certo dato

query set

query index

quer

y

dataquery

Una prima idea GRUPPO27

• Immediate processing• Si processano tutte le continuous queries su

ogni dato in arrivo• Inadatto per stream veloci• Elaborazione in real time

• Batch processing• Le continuous queries sono eseguite su di un

set di dati bufferizzati• Migliori prestazioni• Elaborazione differita

Strategie GRUPPO27

• Si restituiscono tutte le coppie dato-query in cui il dato soddisfa la query

query set

data setquery index

data data

data index

data-query

data-query

Nuovo Metodo GRUPPO27

Index building Multi-dimensional spatial join Refinement

Spatial Join CQ GRUPPO27

Index building Multi-dimensional spatial join Refinement

Obiettivo: creare indici per le query

Spatial Join CQ GRUPPO27

SELECT *FROM RWHERE 0.2 < X < 0.5 AND

0.2 < Y < 0.5 AND X > Y

X

Y

0.50.2

0.2

0.5MBR

Query index building1. Si rappresenta la query come una regione

2. La regione è approssimata al corrispettivo MBR

GRUPPO27

1

10

• Si passa da oggetti con dimensione in uno spazio n-dimensionale a punti in uno spazio 2n-dimensionale.

• Il punto rappresentante l’intervallo è dato dagli estremi dell’intervallo stesso su ogni dimensione.

• Un range n-dimensionale viene mappato in un punto 2n-dimensionale sopra la diagonale, mentre un punto viene mappato sulla diagonale.

lx rx0 1

lx

rxq

0 1

1

0 1p

p

Sotto la diagonale non ci sono dati (perché ovviamente l’estremo sinistro è sempre minore o al più uguale a quello destro)

Corner transformationGRUPPO27

RX

LX

lx rx0 1

lx

rxq

01

1

• Il range lx-rx trasformato nel punto divide lo spazio in 6 parti distinte:– A: tutti i range contenuti nel range [lx,rx]– B: tutti i range contenenti l’intervallo [lx,rx]– C,D: tutti gli intervalli con un estremo all’interno di [lx,rx] e l’altro

all’esterno, rispettivamente a sinistra e a destra, di [lx,rx].– E,F: tutti gli intervalli esterni, rispettivamente a sinistra e a destra,

di [lx,rx]

A

B

C

D

rxlx

E

F

A

B

DC

E F

Partizionamento dello spazio

GRUPPO27

1. Si rappresenta la query come una regione

L’indice è multidimensionale, quindi si possono sfruttare strutture tipo R-Tree

SELECT *FROM RWHERE 0.2 < X < 0.5 AND 0.2 < Y < 0.5 AND X > Y

X

Y

0.50.2

0.2

0.5MBR

2. La regione è approssimata dal MBR

3. Corner transformation per rappresentare la regione come un punto 2n-dimensionale

Corner transformation

( 0.2 ,0.2 ,0.5 ,0.5 )

4. Inserisco il punto nell’indice

Query index buildingGRUPPO27

0 1

1

LX

RX

Popoliamo lo spazio 2n-dimensionale di punti rappresentanti tutte le query

precaricate

Preliminaries GRUPPO27

GRUPPO27

Facciamo arrivare i dati…

Obiettivo: creare indici per i dati

Spatial Join CQ

Index building

Multi-dimensional spatial join Refinement

GRUPPO27

•Elaborazione in batch

0

1

1LX

RX

Hilbert ordering

Data index

Dati multidimensionali•Ordine di prossimità

Indice monodimensionale

•Data cluster (MBR)

GRUPPO27

RefinementIndex building Multi-Dimensional Spatial join

Obiettivo: trovare coppie di dati e query che si sovrappongono nello spazio ( sono possibili falsi positivi )

Spatial join CQ GRUPPO27

0 1

1

• La SJW(P) per la regione P è la minima regione nello spazio S trasformato in TS(S) dove possono risiedere tutti gli oggetti che si sovrappongono con P.

Data cluster

Spatial Join Window (SJW)

LX

RX

B C

D

SJW

GRUPPO27

0

1

1

Per ogni cluster di dati si recuperano tutte le query contenute nella relativa spatial join window

Multi-Dimensional spatial join

01

1

LX

RX RX

LX

GRUPPO27

Index building

Obiettivo: controllare se i dati soddisfano effettivamente la query relativaRicordiamo che le query sono approssimate ad un MBR

Multi-dimensional spatial join Refinement

Spatial Join CQ: refinementGRUPPO27

• Un sistema di controllo della temperatura di una cella di raffreddamento vuole eseguire query su dati in arrivo dal sensore

• Si vuole monitorare quando la temperatura è compresa tra i 3°-5° e i 7°-9° (su un intervallo totale da 0 a 10 gradi centigradi)

Query1 (q1):R.Temp >= 3 and R.Temp <= 5

Query2 (q2):R.Temp >= 7 and R.Temp <= 9

Esempio di processing (1)GRUPPO27

Corner transformation delle query e loro indicizzazione. Ricordiamo passo fatto, in generale, precedentemente

Query1 (q1):R.Temp >= 3 and R.Temp <= 5

Query2 (q2):R.Temp >= 7 and R.Temp <= 9

0 0.20 0.40 0.60 0.80 1

Esempio di processing (2)

0

1

1

GRUPPO27

Dati in arrivo (elaborazione in batch con buffer da 15 elementi):

Normalizzazione dei dati (per trattamento a livello teorico):

Indicizzazione (ordinamento) dei dati

0.49 0.55 0.59 0.68 0.770.71 0.790.25 0.27 0.32 0.410.350.17 0.45 0.86

0.59 0.49 0.55 0.68 0.790.71 0.770.25 0.27 0.32 0.410.350.17 0.45 0.86

5.9 4.9 5.5 6.8 7.97.1 7.72.5 2.7 3.2 4.13.51.7 4.5 8.6

Esempio di processing (3)GRUPPO27

Esempio di processing (4)

0.49 0.55 0.59 0.68 0.770.71 0.790.25 0.27 0.32 0.410.350.17 0.45 0.86

0

1

10.80

0.60

0.80

0.600.40

0.40

0.20

0.20

dc = Data cluster dc2 dc3 dc4 dc5dc1

fase di refinement tra dc2 e q1

RISULTATO(coppie):(0.32,q1),(0.35,q1),(0.41,q1)

(0.45,q1),(0.49,q1)

(0.71,q2)

(0.77,q2),(0.79,q2),(0.86,q2)

fase di refinement tra dc3 e q1fase di refinement tra dc4 e q2fase di refinement tra dc5 e q2

q1

q2

GRUPPO27

• Scenario: 2 server web A e B con un log file che registra gli IP dei client.

• I dati dei log vengono inviati in streaming all’algoritmo che è in grado di verificare la correlazione che può esistere tra l’accesso al server A e l’accesso al server B.

Stream A

Stream B

D7

D6

D6D5D4D3D2D1

D5D4D3D2D1

Operazioni da eseguire:1) Verificare la join

condition tra il dato in arrivo e la sliding window dell’altro stream

2) Inserire il dato nella propria sliding window

3) Eliminare i dati obsoleti dalla propria sliding window

Sliding Window GRUPPO27

Spatial Join CQJOIN

• Incremento rispetto agli algoritmi esistenti• 3 volte nel caso immediate processing• 36 volte nel caso batch processing !!!!!

• Le prestazioni aumentano con l’aumentare delle query registrate, della frequenza dei dati, del numero degli attributi !!!

• I risultati sperimentali servono anche a trovare il valore ottimo del numero di elementi contenuti nel data cluster.

• Esempio: se il valore ottimo dei dati nel data cluster è circa 400. Risultato interessante: le performance diminuiscono solo di un 10% se si varia il data cluster da 200 a 1200 !!!

• Non è necessario conoscere il valore ottimo del data cluster !!!

Dati con 4

attributi

Dati con 8

attributi

Risultati sperimentaliGRUPPO27

Nessuna domanda, vero….?!

GRUPPO27

Continuos Query Processing in Data Streams

Using Duality of Data and QueriesHyo-Sang Lim, Jae-Gil Lee, Min-Jae Lee,Kyu-Young Whang, Il-Yeol Song

GRUPPO 27Marco Lombardo (relatore)

Mattia PetrosinoMattia Piraccini

top related