280 likes | 432 Views
Università degli studi di Modena e Reggio Emilia. Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Magistrale in Informatica. GESTIONE EFFICIENTE DEI DATI IN UN DATA STREAM MANAGEMENT SYSTEM. Relatore: Ing. Riccardo Martoglia Correlatori: Dott. Federica Mandreoli
E N D
Università degli studi di Modena e Reggio Emilia Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Magistrale in Informatica GESTIONE EFFICIENTE DEI DATI IN UN DATA STREAM MANAGEMENT SYSTEM Relatore: Ing. Riccardo Martoglia Correlatori: Dott. Federica Mandreoli Ing. Luca Carafoli Candidato: Federico Di Bernardo Anno Accademico 2009-2010
INTRODUZIONE • Situazione critica del traffico nelle città • Aumento del consumo di carburante ed inquinamento • Incremento del numero di incidenti • Forte congestionamento della rete stradale • Necessità di una nuova concezione di mobilità e trasporto • Sfida nell’ambito di ricerca dell’ICT (Information and Communication technology )
INTRODUZIONE • PEGASUS = ProgEtto per la Gestione della mobilità Attraverso Sistemi infotelematici per l’ambito Urbano, per la Sicurezza di passeggeri, veicoli e merci. • Realizzato in collaborazione con l’università di Bologna. • Missiondel 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.
OBIETTIVO DELLA TESI: • Panoramica sul Sistema PEGASUS • Data Stream Management System • Prototipo Software • Prove Sperimentali Effettuate • Conclusioni e Sviluppi Futuri Studiare e sviluppare un sistema per la gestione efficiente dei dati provenienti dalle OBU (On-Board Unit) installate sui veicoli urbani CONTENUTI:
Panoramica sul Sistema PEGASUS • Data Stream Management System • Prototipo Software • Prove Sperimentali Effettuate • Conclusioni e Sviluppi Futuri
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à • Posizione • Accelerazione GPS unit Accel unit GPRS V2I unit WiFi V2V unit Maps & real-time data Real-time comms engine Smart navigation engine User interface
PANORAMICA SUL SISTEMA PEGASUS • Comunicazioni GPRS costose ! BTS Infrastructured Network • Differenti tipologie di comunicazione: • V2V(WiFi) • V2I (GPRS) OBUs BTS Control Centre • Il Centro Di Controllo colleziona ed integra i dati e gestisce i POI ed EOI ad-hoc, multi-hop, V2V communication V2I communication
Service Module Service Manager Smart Navi- gation Urban Mobility Safety PANORAMICA SUL SISTEMA PEGASUS Centro di Controllo Recom-mender System EOI Ontology POI Ontology DSMS Query Processing Engine Storage Manager Communication-saving! Communication Manager GIS tables Data acquisition V2I interaction OBU OBU OBU OBU OBU OBU V2Vinteraction OBU
Panoramica sul Sistema PEGASUS • Data Stream Management System • Prototipo Software • Prove Sperimentali Effettuate • Conclusioni e Sviluppi Futuri
DATA STREAM MANAGEMENT SYSTEM • Applicazione di streaming data-intensive con requisiti spaziali e temporali • GIS DSMS Temporale • Linguaggio di interrogazione SQL-Like • Acquisizione ed accesso a dati tempo e spazio localizzati • Streaming items utilizzati non solo per i servizi real-time • Query continue • Ad-Hoc Query • Analisi OLAP su dati storici • Tipiche soluzioni accoppiano il sistema di Storage Management con quello di Query Processing • Scarsa flessibilità • Difficoltà di ottimizzazione
DATA STREAM MANAGEMENT SYSTEM DSMS Query Processing Engine Query n Query 1 Query 2 GIS DBMS … OBUs Input Stream Query Optimizer Query Executor Query Parser Read / Setup ResultsSet Interface Storage Manager Load Shedder Storage Point 1 Storage Point 2 Storage Point n … Data Manager
DATA STREAM MANAGEMENT SYSTEM DSMS profondamente diversi dai DBMS • 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)
DATA STREAM MANAGEMENT SYSTEM PROBLEMA: Dati potenzialmente infiniti e memoria primaria limitata ! Main Memory • Soluzioni “Lossless”: • Window Models • Presente vs Storico WINDOW Old tuples Newly arrival tuples DBMS
DATA STREAM MANAGEMENT SYSTEM • Ottimizzazioni “Lossy”: • Load Shedding • Synopses • Batch Processing Memory P = 0,33 Near vehicle DSMS Incident detection
Panoramica sul Sistema PEGASUS • Data Stream Management System • Prototipo Software • Prove Sperimentali Effettuate • Conclusioni e Sviluppi Futuri
PROTOTIPO SOFTWARE • Sviluppo di un Storage Management System disaccoppiato dal modulo di Query Processing Engine • Storage Manager • Query produttore pull-based • Registrazione queries consumatore • Switch dinamico delle strutture dati • Gestione delle finestre temporali • Migrazione dati storici Results Query Engine read setup results OBUs Input Stream Interface Storage Manager • Query Processing Engine • Sottomissione query consumatore • Esecuzione concorrente di diverse queries • Invio comandi di lettura (con o senza filtri) • Scrittura risultati su file PostGIS
PROTOTIPO SOFTWARE • Strutture dati dinamiche Consumatore Never Consume Ordered Consume Eager Consume Produttore Never Expire PERSISTENT FIFO FIFO \ RANDOM Ordered Expire FIFO FIFO FIFO \ RANDOM Unordered Expire RANDOM RANDOM RANDOM Replaced Expire IN-PLACE IN-PLACE IN-PLACE FIFO – Lista concatenata circolare RANDOM – Lista concatenata vuoti consumati pieno pieno in scrittura consumato in scrittura
PROTOTIPO SOFTWARE • Esecuzione concorrente di diversequery continue • Gestione overlapping finestre multiple • Singola passata sui dati C3 C2 C1 C3 C2 C1 Newly arrival tuples t1 t2 t3 t4 t5 t6 t7 t1 t2 t3 t4 t6 t7 t5 Polling 10 s 0 s 5 s 10 s 15 s 20 s 25 s 30 s t 0 s 5 s 10 s 15 s 20 s 25 s 30 s t PostGIS Old Tuples Consumed
PROTOTIPO SOFTWARE • Dati storici gestiti tramite DBMS PostgreSQL con estensione spaziale PostGIS • Driver JDBC di tipo 4 • Estesione GIS molto utile per la gestione dei dati georeferenziati • obuid • Identificativo vettura • speed • Velocità al tempo t • time • Tempo di ricezione della tupla • timestamp • Tempo logico di ricezione • position (lat, long) • Posizione spaziale modellato • come punto bidimensionale
PROTOTIPO SOFTWARE Utente • Grafo delle classi GUI DataStructure DSMSInterface ConsumerType ProducerType Schema ecc… <<use>> inizializeInterface() inizializeInterface() setTextOBU_Store() ecc… DSMSCoordinator StorageManager main() startDSMS() stopDSMS() submitQuery() stopQuery() Consumer start() stop() seqRead() randRead() setConsumer() removeConsumer() <<use>> ConsumerID Window SamplePeriod Filter ecc… start() StorageManagerInterface seqRead() randRead() setConsumer() removeConsumer() resultSet Tuple ID Latitude Longitude Speed Time ecc QueryEngine submitConsumer() stop() stopAll() submitConsumer() <<use>>
PROTOTIPO SOFTWARE • Produttore: • Dimensione dei blocchi • Finestra • Tempo di riesecuzione • Modalità di inserimento • Consumatore: • Tipologia di consumo • Filtri • Polling time • ID query • Finestra Caratteristiche del produttore Caratteristiche del/dei Consumatore/i
Panoramica sul Sistema PEGASUS • Data Stream Management System • Prototipo Software • Prove Sperimentali Effettuate • Conclusioni e Sviluppi Futuri
PROVE SPERIMENTALI • Misura dei tempi di risposta al variare di: • N. Thread Consumer • Frequenza di lettura • delle tuple • Quantità di tuple per • file • Algoritmo di lettura lineare O(K) • Singola passata • Nessuna approssimazione
Panoramica sul Sistema PEGASUS • Data Stream Management System • Prototipo Software • Prove Sperimentali Effettuate • Conclusioni e Sviluppi Futuri
CONCLUSIONI • E’ stato effettuato uno studio approfondito delle caratteristiche e delle problematiche relative ai sistemi per la gestione di stream di dati, ovvero dei Data Stream Management System • Sono stati analizzanti i principali DSMS in via sperimentale, come ad esempio: TelegrapCQ, STREAM, Cougar, Aurora e NiagaraCQ. • E’ stato progettato ed implementato un innovativo DSMS in Java, in cui la parte di gestione dei dati è ben separata rispetto alla parte di query processing engine, in modo da garantire la massima flessibilità ed ottime possibilita di ottimizzazione. • Per la gestione dei dati storici, ci si è appoggiati al DBMS PostgreSQL, con l’estensione PostGIS per poter gestire i dati georeferenziati comunicati dalle OBU. • Sono state effettuate delle prove sperimentali in modo da misurare le prestazioni e la scalabilità del sistema. • Tutte le parti del lavoro di Tesi che mi è stato proposto sono state portate a termine in maniera concreta e completa.
CONCLUSIONI … studiati ed analizzati più di 20 articoli scientifici 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-intensive stream processing • F. Mandreoli, R. Martoglia, W. Penzo, S. Sassatelli. Data Management Issues for Intelligent Transportation Systems • Lukasz Golab and M. Tamer Ozsu. Issues in Data Stream Management • Brian Babcock Shivnath Babu Mayur Datar Rajeev Motwani Jennifer-Widom. Models and Issues in Data Stream Systems. • Arkady Zaslavsky Mohamed Medhat Gaber and Shonali Krishnaswamy. Mining Data Streams: A Review. • Ecc…
SVILUPPI FUTURI • Il progetto PEGASUS è un sistema molto complesso che richiederà all’università e ai collaboratori alcuni anni di lavoro tra sviluppo e testing • Il lavoro prodotto si inserisce quindi nell’ambito di una problematica ben più vasta di quanto è possibile trattare in una Tesi di Laurea e si presta di conseguenza a molti ed interessanti sviluppi sotto diversi aspetti • Per quanto riguarda il DSMS, dovrà essere implementata l’interfaccia di rete verso le OBU in modo da gestire stream di dati reali e dovrà essere sviluppato il motore di query processing engine (query parsing, query optimization, etc.). • Infine, dovranno essere implementati tutti i servizi di Smart Navigation, Safety e Urban Mobility e dovrà essere implementato il Recommender System collaborativo per la gestione dei POI.