• Non ci sono risultati.

GESTIONE EFFICIENTE DEI DATI IN UNGESTIONE EFFICIENTE DEI DATI IN UNDATA STREAM MANAGEMENT SYSTEMDATA STREAM MANAGEMENT SYSTEM

N/A
N/A
Protected

Academic year: 2021

Condividi "GESTIONE EFFICIENTE DEI DATI IN UNGESTIONE EFFICIENTE DEI DATI IN UNDATA STREAM MANAGEMENT SYSTEMDATA STREAM MANAGEMENT SYSTEM"

Copied!
28
0
0

Testo completo

(1)

GESTIONE EFFICIENTE DEI DATI IN UN GESTIONE EFFICIENTE DEI DATI IN UN DATA STREAM MANAGEMENT SYSTEM DATA STREAM MANAGEMENT SYSTEM

Università degli studi di Modena e Reggio Emilia Università degli studi di Modena e Reggio Emilia

Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Magistrale in Informatica

Relatore:

Ing. Riccardo Martoglia Correlatori:

Dott. Federica Mandreoli

Ing. Luca Carafoli Candidato:

Federico Di Bernardo

Anno Accademico 2009-2010

(2)

INTRODUZIONE INTRODUZIONE

o Situazione Situazione critica critica del traffico nelle città del traffico nelle città

 Aumento del Aumento del consumo consumo di carburante ed di carburante ed inquinamento

inquinamento

 Incremento del numero di Incremento del numero di incidenti incidenti

 Forte Forte congestionamento congestionamento della rete stradale della rete stradale

 Necessità di una Necessità di una nuova concezione nuova concezione di mobilità e di mobilità e trasporto

trasporto

 Sfida nell’ambito di ricerca dell’ Sfida nell’ambito di ricerca dell’ ICT ICT ( ( Information Information and Communication technology

and Communication technology ) )

(3)

INTRODUZIONE INTRODUZIONE

Mission del progetto:

Smart Navigation: Mobilità intelligente.

Urban Mobility: Incremento dell'efficienza nell'uso degli attuali mezzi di trasporto e delle infrastrutture.

 Safety: Incremento della sicurezza e riduzione degli impatti ambientali.

PEGASUS

PEGASUS = = PProgErogEtto per la tto per la GGestione della mobilità estione della mobilità AAttraverso Sttraverso Sistemi istemi infotelematici per l’ambito

infotelematici per l’ambito UUrbano, per la rbano, per la SSicurezza di passeggeri, veicoli e merci.icurezza di passeggeri, veicoli e merci.

Realizzato in collaborazione con Realizzato in collaborazione con l’università di Bologna.l’università di Bologna.

(4)

OBIETTIVO DELLA TESI:

OBIETTIVO DELLA TESI:

Studiare e sviluppare un sistema per la

Studiare e sviluppare un sistema per la gestione efficiente gestione efficiente dei dati dei dati provenienti dalle OBU (

provenienti dalle OBU ( On-Board Unit On-Board Unit ) installate sui veicoli urbani ) installate sui veicoli urbani

CONTENUTI:

CONTENUTI:

Panoramica sul Sistema PEGASUSPanoramica sul Sistema PEGASUS

Data Stream Management SystemData Stream Management System

Prototipo SoftwarePrototipo Software

Prove Sperimentali EffettuateProve Sperimentali Effettuate

Conclusioni e Sviluppi FuturiConclusioni e Sviluppi Futuri

(5)

 Panoramica sul Sistema PEGASUS Panoramica sul Sistema PEGASUS

 Data Stream Management System Data Stream Management System

 Prototipo Software Prototipo Software

 Prove Sperimentali Effettuate Prove Sperimentali Effettuate

 Conclusioni e Sviluppi Futuri Conclusioni e Sviluppi Futuri

(6)

PANORAMICA SUL SISTEMA PEGASUS PANORAMICA SUL SISTEMA PEGASUS

 OBU ( On-Board Unit )

=

Dispositivo installato a bordo dei veicoli in grado di raccogliere varie

informazioni sul veicolo e comunicarle sottoforma di data stream

• VelocitàVelocità

PosizionePosizione

AccelerazioneAccelerazione

Real-time comms engine

Smart navigation engine

Maps &

real-time data User interface

GPS unit Accel unit

GPRS V2I unit

WiFi V2V unit

(7)

PANORAMICA SUL SISTEMA PEGASUS PANORAMICA SUL SISTEMA PEGASUS

ad-hoc, multi-hop, V2V communication ad-hoc, multi-hop, V2V communication

V2I communication V2I communication

BTSBTS BTSBTS

Control Centre Infrastructure d NetworkInfrastructure d Network OBUsOBUs

Comunicazioni Comunicazioni GPRS

GPRS costose costose ! !

Differenti Differenti tipologie di tipologie di

comunicazione:

comunicazione:

V2V V2V (WiFi)(WiFi) V2IV2I (GPRS) (GPRS)

Il Il Centro Di Centro Di Controllo

Controllo

colleziona ed colleziona ed

integra i dati e integra i dati e

gestisce i

gestisce i POI POI ed ed

EOI EOI

(8)

PANORAMICA SUL SISTEMA PEGASUS PANORAMICA SUL SISTEMA PEGASUS

Centro di Controllo Centro di Controllo

OBU OBU

OBU OBU

Communication Manager

EOI Ontolog

y

Recom- mender

System Recom- mender

System POI

Ontology

OBU OBU

V2I interaction

V2I interaction

V2Vinteracti on

V2Vinteracti on

Data acquisition Data acquisition Storage Manager

GIS tables

Query Processing Engine

DSM S

Communicati on-saving!

OBU

(9)

 Panoramica sul Sistema PEGASUS Panoramica sul Sistema PEGASUS

 Data Stream Management System Data Stream Management System

 Prototipo Software Prototipo Software

 Prove Sperimentali Effettuate Prove Sperimentali Effettuate

 Conclusioni e Sviluppi Futuri Conclusioni e Sviluppi Futuri

(10)

DATA STREAM MANAGEMENT SYSTEM DATA STREAM MANAGEMENT SYSTEM

Applicazione di streaming data-intensive con Applicazione di streaming data-intensive con requisiti spaziali e temporali

requisiti spaziali e temporali

GIS DSMS TemporaleGIS DSMS Temporale

 Linguaggio di interrogazione SQL-LikeLinguaggio di interrogazione SQL-Like

 Acquisizione ed accesso a dati tempo e spazio Acquisizione ed accesso a dati tempo e spazio localizzati

localizzati

Streaming items utilizzati non solo per i servizi Streaming items utilizzati non solo per i servizi real-time

real-time

Query continueQuery continue

 Ad-Hoc QueryAd-Hoc Query

 Analisi OLAP su dati storiciAnalisi OLAP su dati storici

Tipiche soluzioni accoppiano il sistema di Storage Tipiche soluzioni accoppiano il sistema di Storage Management con quello di Query Processing

Management con quello di Query Processing

Scarsa flessibilitàScarsa flessibilità

 Difficoltà di ottimizzazioneDifficoltà di ottimizzazione

(11)

DATA STREAM MANAGEMENT SYSTEM DATA STREAM MANAGEMENT SYSTEM

Storage Manager Storage Manager DSMSDSMS

Query Processing Engine Query Processing Engine

Query n Query 2

Query 1

Query Query Optimizer

Optimizer QueryQuery Executor

Executor QueryQuery Parser Parser

Interface

Read /

Setup ResultsSet

Storage Point 1

Storage Point 2

Storage Point n

LoadLoad Shedder Shedder

DataData Manager Manager OBUsOBUs

Input StreamInput Stream

GIS GIS

DBMS DBMS

(12)

DSMS profondamente diversi dai DSMS profondamente diversi dai DBMS DBMS

DATA STREAM MANAGEMENT SYSTEM DATA STREAM MANAGEMENT SYSTEM

DBMS:

 Dati:

• Dati “statici” e persistenti

• Gestione del dato

“presente”

• Dati corretti

• Spazio “illimitato”

Query:

• Query one-shot complesse

• Risposte precise

• Update poco frequenti

• Query plan statico

• HADP (Human-Active, Database-Passive)

DSMS:

Dati:

• Stream transienti

• Nozione di “tempo”

• Memoria primaria limitata

• Dati danneggiati o mancanti

 Query:

• Query continue

“semplici”

• Approximate answering

• Query plan dinamico

• Diverse query in esecuzione

• DAHP (Database-Active, Human-Passive)

(13)

DATA STREAM MANAGEMENT SYSTEM DATA STREAM MANAGEMENT SYSTEM

PROBLEMA : Dati potenzialmente infiniti e memoria primaria limitata !

Soluzioni Soluzioni

“ “ Lossless Lossless ”: ”:

Window Models Window Models

Presente vs Storico Presente vs Storico

Old tuples Newly arrival tuples

DBMS

Main Memory

WINDOW

(14)

DATA STREAM MANAGEMENT SYSTEM DATA STREAM MANAGEMENT SYSTEM

Ottimizzazioni Ottimizzazioni

“ “ Lossy Lossy ”: ”:

Load Shedding Load Shedding

Synopses Synopses

Batch Processing Batch Processing

Memory P = 0,33

DSMSDSMS

Incident detection

Near vehicle

(15)

 Panoramica sul Sistema PEGASUS Panoramica sul Sistema PEGASUS

 Data Stream Management System Data Stream Management System

 Prototipo Software Prototipo Software

 Prove Sperimentali Effettuate Prove Sperimentali Effettuate

 Conclusioni e Sviluppi Futuri Conclusioni e Sviluppi Futuri

(16)

PROTOTIPO SOFTWARE PROTOTIPO SOFTWARE Sviluppo di un

Sviluppo di un Storage Management Storage Management System

System disaccoppiato dal modulo di disaccoppiato dal modulo di Query Query Processing Engine

Processing Engine

Storage Manager Storage Manager

 Query produttore pull-basedQuery produttore pull-based

 Registrazione queries consumatoreRegistrazione queries consumatore

 Switch dinamicoSwitch dinamico delle strutture dati delle strutture dati

 Gestione delle Gestione delle finestre temporalifinestre temporali

 MigrazioneMigrazione dati storici dati storici

Storage Manager

Interface

Query Engine

PostGIS

OBUsOBUs

Input StreamInput Stream

read

setup results

Results Results

Query Processing Engine Query Processing Engine

 Sottomissione query consumatoreSottomissione query consumatore

Esecuzione concorrenteEsecuzione concorrente di diverse queries di diverse queries

 Invio comandi di lettura (con o senza filtri)Invio comandi di lettura (con o senza filtri)

 Scrittura risultati su fileScrittura risultati su file

(17)

PROTOTIPO SOFTWARE PROTOTIPO SOFTWARE Strutture dati dinamiche

Strutture dati dinamiche

Never ConsumeOrdered ConsumeEager Consume Never Expire

Ordered Expire Unordered Expire

Replaced Expire

PERSISTENT

IN-PLACE IN-PLACE IN-PLACE

RANDOM RANDOM RANDOM

FIFO FIFO FIFO \ RANDOM

FIFO \ RANDOM FIFO

in scrittura

pieno pieno

consumati vuoti

FIFO –

FIFO –

Lista concatenata Lista concatenata circolarecircolare

RANDOM – RANDOM –

Lista concatenataLista concatenata

consumato in scrittura

Produttore

Consumatore

(18)

PROTOTIPO SOFTWARE PROTOTIPO SOFTWARE

Esecuzione concorrente di diverse

Esecuzione concorrente di diverse query query continue

continue

 Gestione overlapping Gestione overlapping finestre multiplefinestre multiple

Singola passata sui datiSingola passata sui dati

0 s 5 s 10 s 15 s 20 s 25 s 30 s

t1 t2 t3 t4 t5 t6 t7

C2

C3 C1

0 s 5 s 10 s 15 s 20 s 25 s 30 s

t1 t2 t3 t4 t5 t6 t7

C2

C3 C1

Newly arrival tuples

tt tt

Old Tuples Old Tuples Consumed Consumed

PostGIS

Polling 10 s Polling 10 s

(19)

PROTOTIPO SOFTWARE PROTOTIPO SOFTWARE

Dati storici gestiti tramite

Dati storici gestiti tramite DBMS DBMS PostgreSQL

PostgreSQL con estensione spaziale con estensione spaziale PostGIS PostGIS

 Driver JDBC di tipo 4Driver JDBC di tipo 4

 Estesione GIS molto utile per la gestione dei dati Estesione GIS molto utile per la gestione dei dati georeferenziati

georeferenziati

• obuid obuid

Identificativo vettura Identificativo vettura

• speed speed

Velocità al tempo t Velocità al tempo t

• time time

Tempo di ricezione della tupla Tempo di ricezione della tupla

• timestamp timestamp

Tempo logico di ricezione Tempo logico di ricezione

• position ( position ( lat, long lat, long ) )

Posizione spaziale modellato Posizione spaziale modellato

come punto bidimensionale come punto bidimensionale

(20)

PROTOTIPO SOFTWARE PROTOTIPO SOFTWARE

main()

startDSMS() stopDSMS() submitQuery() stopQuery()

DSMSCoordinator

submitConsumer() stop()

stopAll()

QueryEngine

start() stop() seqRead() randRead() setConsumer() removeConsumer()

StorageManager

ID

Latitude Longitude Speed Time ecc

Tuple

ConsumerType ProducerType Schema

ecc…

DataStructure

ConsumerID Window

SamplePeriod Filter

ecc…

Consumer

inizializeInterface() setTextOBU_Store() ecc…

DSMSInterface

inizializeInterface()

start()

submitConsumer()

GUI

StorageManagerInterface

seqRead() randRead() setConsumer() removeConsumer()

resultSet

<<use>>

<<use>>

<<use>>

Utente Utente

Grafo delle classi

Grafo delle classi

(21)

PROTOTIPO SOFTWARE PROTOTIPO SOFTWARE

Caratteristiche del produttore

produttore Caratteristiche del/dei Consumatore/i Consumatore/i

Produttore:

Produttore:

Dimensione Dimensione dei blocchi dei blocchi

FinestraFinestra

Tempo di Tempo di riesecuzione riesecuzione

Modalità di Modalità di inserimento inserimento

Consumatore Consumatore : :

Tipologia di Tipologia di consumo

consumo

FiltriFiltri

Polling timePolling time

ID queryID query

FinestraFinestra

(22)

 Panoramica sul Sistema PEGASUS Panoramica sul Sistema PEGASUS

 Data Stream Management System Data Stream Management System

 Prototipo Software Prototipo Software

 Prove Sperimentali Effettuate Prove Sperimentali Effettuate

 Conclusioni e Sviluppi Futuri Conclusioni e Sviluppi Futuri

(23)

PROVE SPERIMENTALI PROVE SPERIMENTALI Misura dei

Misura dei tempi di risposta tempi di risposta al al variare di:

variare di:

N. Thread Consumer N. Thread Consumer

Frequenza di lettura Frequenza di lettura

delle tuple delle tuple

Quantità di tuple per Quantità di tuple per

file file

Algoritmo di lettura Algoritmo di lettura lineare

lineare O(K) O(K)

Singola passataSingola passata

Nessuna Nessuna

approssimazione approssimazione

(24)

 Panoramica sul Sistema PEGASUS Panoramica sul Sistema PEGASUS

 Data Stream Management System Data Stream Management System

 Prototipo Software Prototipo Software

 Prove Sperimentali Effettuate Prove Sperimentali Effettuate

 Conclusioni e Sviluppi Futuri Conclusioni e Sviluppi Futuri

(25)

CONCLUSIONI CONCLUSIONI

E’ stato effettuato uno E’ stato effettuato uno studio approfondito delle studio approfondito delle

caratteristiche e delle problematiche relative ai sistemi per la caratteristiche e delle problematiche relative ai sistemi per la

gestione di stream di dati, ovvero dei

gestione di stream di dati, ovvero dei Data Stream Data Stream Management System

Management System

Sono stati Sono stati analizzanti i principali DSMSanalizzanti i principali DSMS in via sperimentale, in via sperimentale, come ad esempio: TelegrapCQ, STREAM, Cougar, Aurora e

come ad esempio: TelegrapCQ, STREAM, Cougar, Aurora e NiagaraCQ.

NiagaraCQ.

E’ stato progettato ed implementato un innovativo E’ stato progettato ed implementato un innovativo DSMSDSMS in in JavaJava, in cui la parte di gestione dei dati è ben , in cui la parte di gestione dei dati è ben

separata rispetto alla parte di query processing engine, in separata rispetto alla parte di query processing engine, in

modo da garantire la massima flessibilità ed ottime possibilita modo da garantire la massima flessibilità ed ottime possibilita

di ottimizzazione.

di ottimizzazione.

Per la gestione dei dati storici, ci si è appoggiati al Per la gestione dei dati storici, ci si è appoggiati al DBMS

DBMS PostgreSQLPostgreSQL, con l’estensione , con l’estensione PostGISPostGIS per poter per poter gestire i dati georeferenziati comunicati dalle OBU.

gestire i dati georeferenziati comunicati dalle OBU.

Sono state effettuate delle Sono state effettuate delle prove sperimentaliprove sperimentali in modo da in modo da misurare le prestazioni e la scalabilità del sistema.

misurare le prestazioni e la scalabilità del sistema.

Tutte le parti del lavoro di Tesi che mi è stato proposto sono Tutte le parti del lavoro di Tesi che mi è stato proposto sono state portate a termine in maniera

state portate a termine in maniera concretaconcreta e e completacompleta..

(26)

CONCLUSIONI CONCLUSIONI

… … studiati ed analizzati più di 20 studiati ed analizzati articoli scientifici articoli scientifici e documenti di ricerca nel campo dei DSMS:

e documenti di ricerca nel campo dei DSMS:

I. Botan, G. Alonso, P. M. Fischer, D. Kossmann, and N. Tatbul.

Flexible and scalable storage management for data- Flexible and scalable storage management for data- intensive stream processing

intensive stream processing

F. Mandreoli, R. Martoglia, W. Penzo, S. Sassatelli. Data Data

Management Issues for Intelligent Transportation Systems Management Issues for Intelligent Transportation Systems

Lukasz Golab and M. Tamer Ozsu. Issues in Data Stream Issues in Data Stream Management

Management

Brian Babcock Shivnath Babu Mayur Datar Rajeev Motwani

Jennifer-Widom. Models and Issues in Data Stream Systems.Models and Issues in Data Stream Systems.

Arkady Zaslavsky Mohamed Medhat Gaber and Shonali Krishnaswamy. Mining Data Streams: A Review.Mining Data Streams: A Review.

Ecc…

(27)

SVILUPPI FUTURI SVILUPPI FUTURI

Il progetto Il progetto

PEGASUS

PEGASUS è un è un sistema molto complesso sistema molto complesso che richiederà all’università e ai collaboratori alcuni

che richiederà all’università e ai collaboratori alcuni anni di lavoro tra sviluppo e testing

anni di lavoro tra sviluppo e testing

Il lavoro prodotto si inserisce quindi nell’ambito di una Il lavoro prodotto si inserisce quindi nell’ambito di una problematica ben più vasta di quanto è possibile

problematica ben più vasta di quanto è possibile

trattare in una Tesi di Laurea e si presta di conseguenza trattare in una Tesi di Laurea e si presta di conseguenza

a molti ed interessanti sviluppi sotto diversi aspetti a molti ed interessanti sviluppi sotto diversi aspetti

Per quanto riguarda il DSMS, dovrà essere Per quanto riguarda il DSMS, dovrà essere implementata

implementata l’interfaccia di rete l’interfaccia di rete verso le OBU in verso le OBU in modo da gestire stream di dati reali e dovrà essere modo da gestire stream di dati reali e dovrà essere

sviluppato il motore di query processing engine sviluppato il motore di query processing engine

(query parsing, query optimization, etc.).

(query parsing, query optimization, etc.).

Infine, dovranno essere implementati tutti i servizi Infine, dovranno essere implementati tutti i servizi di di

Smart NavigationSmart Navigation

, ,

SafetySafety

e e

Urban MobilityUrban Mobility

e e

dovrà essere

dovrà essere implementato il Recommender implementato il Recommender System

System collaborativo per la gestione dei POI. collaborativo per la gestione dei POI.

(28)

FINE FINE

Riferimenti

Documenti correlati

La seconda considerazione, invece, si richiama al legame anche tecnico tra mezzo fotografico e spiritismo, che è possibile ricostruire almeno a partire dagli anni

La classe PrintWriter permette la scrittura di caratteri una riga alla volta, analoga- mente a ciò che BufferedReader fa per la lettura, e, inoltre, permette anche la stampa di dati

i valori assunti dall’attributo MatrDocente nella relazione Corsi devono esistere come valori dell’attributo Matricola nelle

Generalità : (nome, cognome, data nascita, residenza) Generalità ={ (Gennaro, Esposito, 1/1/70, Napoli),.. (Ambrogio, Rossi, 1/2/73, Milano), (Romolo, Romano,

•  Bloom filters reduce to linear counting when using only one hash function... Improving

–  I strongly think the element is in set –  Definitely not in set.. The bloom filter version of the spell checker. Number of words in

Nicotinic receptor activation contrasts pathophysiological bursting and neurodegeneration evoked by glutamate uptake block on rat hypoglossal motoneurons Nicotinic receptors

Nei numerosi interventi ricorrono soprattutto e costantemente i riferimenti alla forma- zione e alle competenze richieste ai bibliotecari, così come alla necessità di condividere