We are living in a connected world where data continuously flows and consumers are interested in continuously querying data in order to respond in real-time. With graph databases, it is possible to efficiently process and query highly linked data regardless of the size of the dataset. Furthermore, in recent years, an increasing number of websites, applications and IoT sensors have generated data streams, which are potentially unbounded sequences of data having a timestamp and arriving in sequential order, one at a time. On the other hand, Velocity combined with Volume introduced by the Big Data era limit the capabilities of graph DB’s technologies. However, no significant work has been done by the scientific community to extend streams features to property graphs. At the moment, there exist only few PoC implementations extending CQL to property graphs. Seraph, an extension of the syntax and semantics of Cypher, needs a streaming application that creates and maintains time-varying graphs that capture the dynamic evolution of the data flowing inside the query engine. Our effort proposes a reference architecture for implementing streaming applications for the Seraph queries evaluations, which offers crucial industrial features such as scalability, high availability, fault tolerance, high throughput, and low latency. Dozer arises as its first implementation to be a valid alternative to a prototype not suitable for industrial development. These features have been experimentally evaluated over the proposed system. We tested the performance impact of Dozer against the performance of a canonical way of running queries over temporal marked streaming graphs. We also performed fault-tolerance testing to evaluate how the system responds to failures. Finally, we discuss some system limitations and possible changes to improve its performance.

Viviamo in un mondo connesso caratterizzato da un continuo flusso di dati ai quali gli utenti finali sono interessati per rispondere a query continue in realtime. I graph databases consentono di processare efficientemente dati altamente interconnessi tra loro, indipendentemente dalla dimensione del dataset. Inoltre, di recente un numero crescente di websites, applications e sensori IoT hanno generato stream di dati, ovvero sequenze, potenzialmente infinite, di dati marcati temporalmente che arrivano in ordine sequenziale, uno alla volta. Tuttavia, volume e velocità introdotte dall’era dei Big Data, limitano le capacità dei DB a grafo. Nonostante ciò, esistono soltanto pochi PoC e nessun lavoro degno di nota è stato sostenuto per estendere le proprietà degli stream ai property graph. Il nostro impegno propone Dozer, una streaming engine scalabile e fault-tolerant, in grado di effettuare valutazioni di query Seraph, un’estensione della sintassi e della semantica di Cypher. Seraph, necessita di un sistema in grado di creare e mantenere grafi al variare del tempo, catturando l’evoluzione dinamica del flusso di dati. Vogliamo proporre un’architettura di riferimento per l’implementazione di applicazioni streaming per la valutazione di query Seraph, che offra funzionalità industriali cruciali come scalabilità, alta disponibilità, tolleranza ai guasti, throughput elevato e bassa latenza. Dozer, una prima implementazione di quest’architettura, nasce come una valida alternativa ad un prototipo non adatto allo sviluppo industriale. Queste features sono state valutate sperimentalmente sul sistema proposto. Abbiamo testato l’impatto sulle prestazioni di Dozer rispetto le performance ottenute valutando le queries su grafi marcati temporalmente. Abbiamo testato anche la fault-tolerance, per valutare come il sistema risponde ai guasti. Infine, abbiamo discusso su possibili modifiche da apportare al sistema in modo da migliorarne ulteriormente le performance.

DOZER : a scalable and fault-tolerant streaming engine for Seraph queries evaluation

Urbano, Antonio
2020/2021

Abstract

We are living in a connected world where data continuously flows and consumers are interested in continuously querying data in order to respond in real-time. With graph databases, it is possible to efficiently process and query highly linked data regardless of the size of the dataset. Furthermore, in recent years, an increasing number of websites, applications and IoT sensors have generated data streams, which are potentially unbounded sequences of data having a timestamp and arriving in sequential order, one at a time. On the other hand, Velocity combined with Volume introduced by the Big Data era limit the capabilities of graph DB’s technologies. However, no significant work has been done by the scientific community to extend streams features to property graphs. At the moment, there exist only few PoC implementations extending CQL to property graphs. Seraph, an extension of the syntax and semantics of Cypher, needs a streaming application that creates and maintains time-varying graphs that capture the dynamic evolution of the data flowing inside the query engine. Our effort proposes a reference architecture for implementing streaming applications for the Seraph queries evaluations, which offers crucial industrial features such as scalability, high availability, fault tolerance, high throughput, and low latency. Dozer arises as its first implementation to be a valid alternative to a prototype not suitable for industrial development. These features have been experimentally evaluated over the proposed system. We tested the performance impact of Dozer against the performance of a canonical way of running queries over temporal marked streaming graphs. We also performed fault-tolerance testing to evaluate how the system responds to failures. Finally, we discuss some system limitations and possible changes to improve its performance.
FALZONE, EMANUELE
ING - Scuola di Ingegneria Industriale e dell'Informazione
21-dic-2021
2020/2021
Viviamo in un mondo connesso caratterizzato da un continuo flusso di dati ai quali gli utenti finali sono interessati per rispondere a query continue in realtime. I graph databases consentono di processare efficientemente dati altamente interconnessi tra loro, indipendentemente dalla dimensione del dataset. Inoltre, di recente un numero crescente di websites, applications e sensori IoT hanno generato stream di dati, ovvero sequenze, potenzialmente infinite, di dati marcati temporalmente che arrivano in ordine sequenziale, uno alla volta. Tuttavia, volume e velocità introdotte dall’era dei Big Data, limitano le capacità dei DB a grafo. Nonostante ciò, esistono soltanto pochi PoC e nessun lavoro degno di nota è stato sostenuto per estendere le proprietà degli stream ai property graph. Il nostro impegno propone Dozer, una streaming engine scalabile e fault-tolerant, in grado di effettuare valutazioni di query Seraph, un’estensione della sintassi e della semantica di Cypher. Seraph, necessita di un sistema in grado di creare e mantenere grafi al variare del tempo, catturando l’evoluzione dinamica del flusso di dati. Vogliamo proporre un’architettura di riferimento per l’implementazione di applicazioni streaming per la valutazione di query Seraph, che offra funzionalità industriali cruciali come scalabilità, alta disponibilità, tolleranza ai guasti, throughput elevato e bassa latenza. Dozer, una prima implementazione di quest’architettura, nasce come una valida alternativa ad un prototipo non adatto allo sviluppo industriale. Queste features sono state valutate sperimentalmente sul sistema proposto. Abbiamo testato l’impatto sulle prestazioni di Dozer rispetto le performance ottenute valutando le queries su grafi marcati temporalmente. Abbiamo testato anche la fault-tolerance, per valutare come il sistema risponde ai guasti. Infine, abbiamo discusso su possibili modifiche da apportare al sistema in modo da migliorarne ulteriormente le performance.
File allegati
File Dimensione Formato  
DOZER.pdf

accessibile in internet per tutti

Dimensione 4.26 MB
Formato Adobe PDF
4.26 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/183117