Column-based storage for analysis of high-frequency stock trading data

This study investigated the efficiency of the available open-source columnbased storage formats with support for semi-flexible data in combination with query engines that support querying these formats. Two different formats were identified, Parquet and ORC, and both were tested in two different mod...

Full description

Bibliographic Details
Main Author: Hassan, Abdallah
Format: Others
Language:English
Published: KTH, Skolan för elektroteknik och datavetenskap (EECS) 2019
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-255019
id ndltd-UPSALLA1-oai-DiVA.org-kth-255019
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-kth-2550192019-07-13T04:28:53ZColumn-based storage for analysis of high-frequency stock trading dataengHassan, AbdallahKTH, Skolan för elektroteknik och datavetenskap (EECS)2019Computer and Information SciencesData- och informationsvetenskapThis study investigated the efficiency of the available open-source columnbased storage formats with support for semi-flexible data in combination with query engines that support querying these formats. Two different formats were identified, Parquet and ORC, and both were tested in two different modes, uncompressed and compressed with the compression algorithm Snappy. They were tested by running two queries on the host company’s data converted to the appropriate formats, one simple averaging query and one more complicated with counts and filtering. The queries were run with two different query engines, Spark and Drill. They were also run on two dataset with different sizes to test scalability. The query execution time was recorded for each tested alternative. The results show that Snappy compressed formats always outperformed their non-compressed counterparts, and that Parquet was always faster than ORC. Drill performed faster on the simple query while Spark performed faster on the complex query. Drill also had the least increase in query execution time when the size of the dataset increased on both queries. The conclusion is that Parquet with Snappy is the storage format which gives the fastest execution times. However, both Spark and Drill have their own advantages as query engines. Denna studie undersökte effektiviteten av de i öppen källkod tillgängliga kolumnbaserade lagringsformaten med stöd för semistrukturerad data i kombination med frågemotorer som stödjer dessa format. Två olika format identifierades, Parquet och ORC, och båda testades i på olika sätt, okomprimerade och komprimerade med kompressionsalgoritmen Snappy. De testades genom att köra två frågor på uppdragsgivarens data som konverterades till de testade formaten, en enkel som räknar genomsnitt och en mer komplicerad med radräkning och filtrering. Båda frågorna kördes med två olika frågemotorer, Spark and Drill. De kördes på två datamängder med olika storlekar för att testa skalbarhet. Exekveringstiden mättes för varje testat alternativ. Resultaten visar att Snappy-komprimerade format alltid exekverade snabbare än de ickekomprimerade formaten, och att Parquet alltid körde snabbare än ORC. Drill var snabbare på den enkla frågan medan Spark var snabbare på den komplexa. Drill hade också den minsta ökningen i exekveringstiden när storleken på datamängden ökade på båda frågorna. Slutsatsen är att Parquet med Snappy är det lagringsformat som ger den snabbaste exekveringstiden, och att både Spark och Drill har sina egna fördelar. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-255019TRITA-EECS-EX ; 2019:484application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
topic Computer and Information Sciences
Data- och informationsvetenskap
spellingShingle Computer and Information Sciences
Data- och informationsvetenskap
Hassan, Abdallah
Column-based storage for analysis of high-frequency stock trading data
description This study investigated the efficiency of the available open-source columnbased storage formats with support for semi-flexible data in combination with query engines that support querying these formats. Two different formats were identified, Parquet and ORC, and both were tested in two different modes, uncompressed and compressed with the compression algorithm Snappy. They were tested by running two queries on the host company’s data converted to the appropriate formats, one simple averaging query and one more complicated with counts and filtering. The queries were run with two different query engines, Spark and Drill. They were also run on two dataset with different sizes to test scalability. The query execution time was recorded for each tested alternative. The results show that Snappy compressed formats always outperformed their non-compressed counterparts, and that Parquet was always faster than ORC. Drill performed faster on the simple query while Spark performed faster on the complex query. Drill also had the least increase in query execution time when the size of the dataset increased on both queries. The conclusion is that Parquet with Snappy is the storage format which gives the fastest execution times. However, both Spark and Drill have their own advantages as query engines. === Denna studie undersökte effektiviteten av de i öppen källkod tillgängliga kolumnbaserade lagringsformaten med stöd för semistrukturerad data i kombination med frågemotorer som stödjer dessa format. Två olika format identifierades, Parquet och ORC, och båda testades i på olika sätt, okomprimerade och komprimerade med kompressionsalgoritmen Snappy. De testades genom att köra två frågor på uppdragsgivarens data som konverterades till de testade formaten, en enkel som räknar genomsnitt och en mer komplicerad med radräkning och filtrering. Båda frågorna kördes med två olika frågemotorer, Spark and Drill. De kördes på två datamängder med olika storlekar för att testa skalbarhet. Exekveringstiden mättes för varje testat alternativ. Resultaten visar att Snappy-komprimerade format alltid exekverade snabbare än de ickekomprimerade formaten, och att Parquet alltid körde snabbare än ORC. Drill var snabbare på den enkla frågan medan Spark var snabbare på den komplexa. Drill hade också den minsta ökningen i exekveringstiden när storleken på datamängden ökade på båda frågorna. Slutsatsen är att Parquet med Snappy är det lagringsformat som ger den snabbaste exekveringstiden, och att både Spark och Drill har sina egna fördelar.
author Hassan, Abdallah
author_facet Hassan, Abdallah
author_sort Hassan, Abdallah
title Column-based storage for analysis of high-frequency stock trading data
title_short Column-based storage for analysis of high-frequency stock trading data
title_full Column-based storage for analysis of high-frequency stock trading data
title_fullStr Column-based storage for analysis of high-frequency stock trading data
title_full_unstemmed Column-based storage for analysis of high-frequency stock trading data
title_sort column-based storage for analysis of high-frequency stock trading data
publisher KTH, Skolan för elektroteknik och datavetenskap (EECS)
publishDate 2019
url http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-255019
work_keys_str_mv AT hassanabdallah columnbasedstorageforanalysisofhighfrequencystocktradingdata
_version_ 1719224064865730560