As DNA sequencing technologies (NGS) are evolving and becoming affordable for large adoption, genomic data became more utilized for diagnosing many diseases, such as cancer. As genomic applications are computationally intensive applications, the cost shifted from data acquisition to data processing. Therefore, there is a need for a compact and accurate representation of the genomic data; improving their memory management improves the overall performance, by reducing the memory size and the efficiency of data computations; in this thesis, I explore how to exploit the multi-dimensional (or array) data model for genomic data, structured in the form of regions. The thesis is developed in the context of GenoMetric Query Language (GMQL), a high-level, declarative approach to data extraction and a cloud-based implementation for managing region-based genomic repositories, which have the typical big data dimensions. The GMQL engine, a system that is specifically dedicated to region-based genomic calculus, uses the relational (row-based) model to represent data in memory and uses Apache Spark as an underlying data engine. Relational tables and multi-dimensional arrays have their pros and cons; the new data model presented in this thesis combines the pros of both the row-based and the array-based data models, to overall improve the engine performance. We start by applying the array data model for the class of region-preserving operations, i.e. operations which do not create any new region but rather compose existing ones. As region-preserving chains of operations frequently occur in GMQL programs, we used data model transformations from row to array prior to executing the chains, and from array back to rows at the end of the chains. In this way, we discover the potential of using a multi-dimensional representation of genomic data on top of data flow engines. Then, we show the full implementation on the array-based model of all GMQL operations, by including also the operations which are not region-preserving. This led us to get rid of redundant transformations between row and array-based data models, and finally demonstrates that a well-designed array-based implementation is very efficient, still using Apache Spark as the execution engine. The thesis is completed by the introduction of a GMQL-like language for array databases, which uses the classic abstractions of array-based query languages.
Poiché le tecnologie di sequenziamento del DNA (NGS) si stanno evolvendo e diventano accessibili per l'adozione su larga scala, i dati genomici sono diventati sempre più utilizzati per diagnosticare molte malattie, come il cancro. Poiché le applicazioni genomiche sono applicazioni ad alta intensità di calcolo, il costo si è spostato dall'acquisizione dei dati all'elaborazione dei dati. Pertanto, è necessaria una rappresentazione compatta e accurata dei dati genomici; migliorare la loro gestione della memoria migliora le prestazioni complessive, riducendo la dimensione della memoria e l'efficienza dei calcoli dei dati; in questa tesi, esploro come sfruttare il modello di dati multidimensionale (o array) per dati genomici, strutturato sotto forma di regioni. La tesi è sviluppata nel contesto di GenoMetric Query Language (GMQL), un approccio dichiarativo di alto livello all'estrazione dei dati e un'implementazione basata su cloud per la gestione di archivi genomici basati sulla regione, che hanno le tipiche dimensioni dei big data. Il motore GMQL, un sistema specificamente dedicato al calcolo genomico basato sulla regione, utilizza il modello relazionale (basato su righe) per rappresentare i dati in memoria e utilizza Apache Spark come motore di dati sottostante. Le tabelle relazionali e gli array multidimensionali hanno i loro pro e contro; il nuovo modello di dati presentato in questa tesi combina i vantaggi di entrambi i modelli di dati basati su righe e basati su array, per migliorare complessivamente le prestazioni del motore. Iniziamo applicando il modello di dati array per la classe delle operazioni di conservazione della regione, ovvero operazioni che non creano alcuna nuova regione ma piuttosto compongono quelle esistenti. Poiché le catene di operazioni di conservazione della regione si verificano frequentemente nei programmi GMQL, abbiamo utilizzato trasformazioni del modello di dati da riga a matrice prima di eseguire le catene e da matrice a righe alla fine delle catene. In questo modo, scopriamo il potenziale dell'utilizzo di una rappresentazione multidimensionale dei dati genomici sopra i motori del flusso di dati. Quindi, mostriamo l'implementazione completa sul modello basato su array di tutte le operazioni GMQL, includendo anche le operazioni che non preservano la regione. Questo ci ha portato a sbarazzarci delle trasformazioni ridondanti tra modelli di dati basati su righe e su array e infine dimostra che un'implementazione basata su array ben progettata è molto efficiente, utilizzando ancora Apache Spark come motore di esecuzione. La tesi è completata dall'introduzione di un linguaggio simile a GMQL per database array, che utilizza le astrazioni classiche dei linguaggi di query basati su array.
Exploiting the array data model for genomic data management
Horlova, Olha
2020/2021
Abstract
As DNA sequencing technologies (NGS) are evolving and becoming affordable for large adoption, genomic data became more utilized for diagnosing many diseases, such as cancer. As genomic applications are computationally intensive applications, the cost shifted from data acquisition to data processing. Therefore, there is a need for a compact and accurate representation of the genomic data; improving their memory management improves the overall performance, by reducing the memory size and the efficiency of data computations; in this thesis, I explore how to exploit the multi-dimensional (or array) data model for genomic data, structured in the form of regions. The thesis is developed in the context of GenoMetric Query Language (GMQL), a high-level, declarative approach to data extraction and a cloud-based implementation for managing region-based genomic repositories, which have the typical big data dimensions. The GMQL engine, a system that is specifically dedicated to region-based genomic calculus, uses the relational (row-based) model to represent data in memory and uses Apache Spark as an underlying data engine. Relational tables and multi-dimensional arrays have their pros and cons; the new data model presented in this thesis combines the pros of both the row-based and the array-based data models, to overall improve the engine performance. We start by applying the array data model for the class of region-preserving operations, i.e. operations which do not create any new region but rather compose existing ones. As region-preserving chains of operations frequently occur in GMQL programs, we used data model transformations from row to array prior to executing the chains, and from array back to rows at the end of the chains. In this way, we discover the potential of using a multi-dimensional representation of genomic data on top of data flow engines. Then, we show the full implementation on the array-based model of all GMQL operations, by including also the operations which are not region-preserving. This led us to get rid of redundant transformations between row and array-based data models, and finally demonstrates that a well-designed array-based implementation is very efficient, still using Apache Spark as the execution engine. The thesis is completed by the introduction of a GMQL-like language for array databases, which uses the classic abstractions of array-based query languages.File | Dimensione | Formato | |
---|---|---|---|
Olha_Horlova_PhD_Thesis.pdf
accessibile in internet per tutti
Dimensione
5.01 MB
Formato
Adobe PDF
|
5.01 MB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/170954