Enabling Arbitrary Memory Constraint Standing Queries on Distributed Stream Processors using Approximate Algorithms

Relational algebra and SQL have been a standard in declarative analytics for decades. Yet, at web-scale, even simple analytics queries can prove challenging within Distributed Stream Processing environments. Two examples of such queries are "count" and "count distinct". Since afo...

Full description

Bibliographic Details
Main Author: Lindener, Tobias
Format: Others
Language:English
Published: KTH, Skolan för elektroteknik och datavetenskap (EECS) 2018
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-237459
Description
Summary:Relational algebra and SQL have been a standard in declarative analytics for decades. Yet, at web-scale, even simple analytics queries can prove challenging within Distributed Stream Processing environments. Two examples of such queries are "count" and "count distinct". Since aforementioned queries require persistence of all keys (the value identifying an element), such queries would result in continuously increasing memory demand. Through approximation techniques with fixed-size memory layouts, said tasks are feasible and potentially more resource efficient within streaming systems. Within this thesis, (1) the advantages of approximate queries on distributed stream processing are demonstrated. Furthermore, (2) the resource efficiency as well as (3) challenges of approximation techniques, and (4) dataset dependent optimizations are presented. The prototype is implemented using the Yahoo Data Sketch library on Apache Flink. Based on the evaluation results and the experiences with the prototype, potential improvements like deeper integration into the streaming framework are presented. Throughout the analysis, the combination of approximate algorithms and distributed stream processing shows promising results depending on the dataset and the required accuracy. === Relationsalgebra och SQL har varit standard inom analys i decennier. Inom distribuerade strömmande datamiljöer på web-nivå kan dock även enklare analytiska frågor visa sig utmanande. Två exempel är frågorna ”count” och ”count distinct”. Eftersom de nämnda frågorna kräver att alla nycklar (de värden som identifierar ett element) är persistenta så resulterar detta traditionellt i en kontinuerlig ökning av minneskraven. Genom uppskattningsmetoder med bestämd storlek av minnes-layouten blir de ovannämnda frågorna rimliga och potentiellt mer resurseffektiva inom strömmande system. I detta forskningsarbete demonstreras (1) fördelarna samt gränserna for approximativa frågor inom distribuerade strömmande processer. Vidare presenteras (2) resurseffektivitet samt (3) svårigheter med uppskattningsmetoder. (4) Optimeringar med avseende på olika dataset redovisas. Prototypen är implementerad med Yahoo Data Sketch biblioteket på Apache Flink. Möjliga förbättringar som djupare integration inom strömmande ramverk, baserat på evalueringsresultaten samt erfarenheter med prototypen presenteras. I analysen visas att en kombination av approximativa algoritmer och distribuerade strömmande processer resulterar i lovande resultat, beroende på dataset samt begärd noggrannhet.