Stream Processing Engines (SPEs) are systems that can ingest, transform and analyze data streams. While these SPEs provide powerful frameworks for real-time data analysis, the lack of standardization across them poses a challenge for developers and organizations. Migrating queries or applications from one SPE to another often requires significant rewriting of code due to the differences in query semantics, APIs, and underlying architectures. This lack of query portability can lead to vendor lock-in, increased development costs, and inflexibility in choosing the most suitable engine for specific use cases. This thesis aims to evaluate query portability among different commercial SPEs. We consider SPEs with support for SQL-like syntax for queries. To assess this, first we select a set of continuous queries that are supported by all the considered SPEs. Then we setup the systems to execute the queries from the same source, we observe the differences in the setup and we compare the query results. Furthermore, we implement query networks combining the systems in different ways and again compare the results. Finally, we setup a query generation system that could be useful in future works of network implementations for system comparison.

Gli Stream Processing Engines (SPE) sono sistemi in grado di acquisire, trasformare e analizzare flussi di dati. Nonostante questi SPE forniscano potenti framework per l'analisi dei dati in tempo reale, la mancanza di standardizzazione tra questi rappresenta una sfida per sviluppatori e organizzazioni. La migrazione di query o applicazioni da uno SPE all'altro richiede spesso una significativa riscrittura del codice a causa delle differenze nella semantica delle query, nelle API e nelle architetture sottostanti. Questa mancanza di portabilità delle query può portare al vendor lock-in, a maggiori costi di sviluppo e a mancanza di flessibilità nella scelta del motore più adatto per casi d'uso specifici. Questa tesi mira a valutare la portabilità delle query tra diversi SPE commerciali. Consideriamo SPE che supportano query con sintassi SQL-like. Per valutare ciò, prima selezioniamo un set di query streaming supportate da tutti gli SPE considerati. In seguito configuriamo i sistemi per eseguire le query dalla stessa fonte, osserviamo le differenze nelle configurazioni e confrontiamo i risultati delle query. Inoltre, implementiamo network di query che combinano i sistemi in modi diversi e confrontiamo nuovamente i risultati. Infine, configuriamo un sistema di generazione di query che potrebbe essere utile in futuri lavori di implementazioni di rete per il confronto dei sistemi.

Testing query portability and compatibility between SQL-like Stream Processing Engines

Leidi, Paolo
2023/2024

Abstract

Stream Processing Engines (SPEs) are systems that can ingest, transform and analyze data streams. While these SPEs provide powerful frameworks for real-time data analysis, the lack of standardization across them poses a challenge for developers and organizations. Migrating queries or applications from one SPE to another often requires significant rewriting of code due to the differences in query semantics, APIs, and underlying architectures. This lack of query portability can lead to vendor lock-in, increased development costs, and inflexibility in choosing the most suitable engine for specific use cases. This thesis aims to evaluate query portability among different commercial SPEs. We consider SPEs with support for SQL-like syntax for queries. To assess this, first we select a set of continuous queries that are supported by all the considered SPEs. Then we setup the systems to execute the queries from the same source, we observe the differences in the setup and we compare the query results. Furthermore, we implement query networks combining the systems in different ways and again compare the results. Finally, we setup a query generation system that could be useful in future works of network implementations for system comparison.
TOMMASINI, RICCARDO
ING - Scuola di Ingegneria Industriale e dell'Informazione
11-dic-2024
2023/2024
Gli Stream Processing Engines (SPE) sono sistemi in grado di acquisire, trasformare e analizzare flussi di dati. Nonostante questi SPE forniscano potenti framework per l'analisi dei dati in tempo reale, la mancanza di standardizzazione tra questi rappresenta una sfida per sviluppatori e organizzazioni. La migrazione di query o applicazioni da uno SPE all'altro richiede spesso una significativa riscrittura del codice a causa delle differenze nella semantica delle query, nelle API e nelle architetture sottostanti. Questa mancanza di portabilità delle query può portare al vendor lock-in, a maggiori costi di sviluppo e a mancanza di flessibilità nella scelta del motore più adatto per casi d'uso specifici. Questa tesi mira a valutare la portabilità delle query tra diversi SPE commerciali. Consideriamo SPE che supportano query con sintassi SQL-like. Per valutare ciò, prima selezioniamo un set di query streaming supportate da tutti gli SPE considerati. In seguito configuriamo i sistemi per eseguire le query dalla stessa fonte, osserviamo le differenze nelle configurazioni e confrontiamo i risultati delle query. Inoltre, implementiamo network di query che combinano i sistemi in modi diversi e confrontiamo nuovamente i risultati. Infine, configuriamo un sistema di generazione di query che potrebbe essere utile in futuri lavori di implementazioni di rete per il confronto dei sistemi.
File allegati
File Dimensione Formato  
2024_12_Leidi.pdf

accessibile in internet solo dagli utenti autorizzati

Dimensione 1.1 MB
Formato Adobe PDF
1.1 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/229898