kth.sePublications KTH
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Transitioning from Batch to Streaming: Improving Latency and Scalability in a Distributed Data Processing System for Time Series Data
KTH, School of Electrical Engineering and Computer Science (EECS).
2024 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesisAlternative title
Övergång från batch- till strömbearbetning : Förbättring av latens och skalbarhet i ett distribuerat databehandlingssystem för tidsseriedata (Swedish)
Abstract [en]

The increasing demand for real-time data analytics has made processing latency a critical factor in modern data processing systems. Large-scale time series processing often employs a dual-path architecture: a live path for immediate data access and a historical path for cost-effective long-term storage. This thesis addresses the challenges of re-implementing the historical path, transitioning it from batch to streaming architecture. The primary objective is to reduce data availability latency in the historical path while maintaining processing accuracy and system scalability. We present a streaming architecture implemented in Rust that leverages Apache Kafka for data ingestion and implements custom components for efficient data processing, including specialized memory tables and a faulttolerant offset tracking mechanism. The system demonstrates significant improvements over the existing batch processing solution, reducing data availability latency from 7-8 hours to 15 minutes. Our implementation exhibits super-linear scalability, efficiently handling Kafka topics ranging from hundreds of gigabytes to over 10 terabytes by dynamically adjusting processing resources. The system successfully addresses key challenges in time series processing, including the handling of late-arriving data, duplicate data points, and maintaining strict data isolation between organizations. This thesis provides a practical approach to modernizing the historical path of time series data processing systems, offering insights into the challenges and solutions involved in transitioning from batch to stream processing. While the implementation focuses on quantile sketch data, the architectural principles and solutions presented are applicable to various time series processing scenarios.

Abstract [sv]

Den ökande efterfrågan på realtidsanalys av data har gjort bearbetningslatens till en kritisk faktor i moderna databehandlingssystem. Storskalig tidsseriebearbetning använder ofta en dubbel arkitektur: en live-väg för omedelbar dataåtkomst och en historisk väg för kostnadseffektiv långtidslagring. Denna avhandling behandlar utmaningarna med att omimplementera den historiska vägen, övergå från en batcharkitektur till en strömningsarkitektur. Det primära målet är att minska datans tillgänglighetslatens i den historiska vägen samtidigt som bearbetningsnoggrannhet och systemskalbarhet bibehålls. Vi presenterar en strömningsarkitektur implementerad i Rust som utnyttjar Apache Kafka för datainmatning och implementerar anpassade komponenter för effektiv databehandling, inklusive specialiserade minnestabeller och en feltolerant offset-spårningsmekanism. Systemet visar betydande förbättringar jämfört med den befintliga batchbearbetningslösningen och minskar datans tillgänglighetslatens från 7-8 timmar till 15 minuter. Vår implementering uppvisar superlineär skalbarhet och hanterar effektivt Kafka-ämnen från hundratals gigabyte till över 10 terabyte genom att dynamiskt justera bearbetningsresurserna. Systemet hanterar framgångsrikt viktiga utmaningar inom tidsseriebearbetning, inklusive hantering av sent ankommande data, dubbletter av datapunkter och upprätthållande av strikt dataisolering mellan organisationer. Denna avhandling tillhandahåller ett praktiskt tillvägagångssätt för att modernisera den historiska vägen av system för tidsseriedatabehandling och ger insikter i utmaningarna och lösningarna som är involverade i övergången från batch- till strömbehandling. Medan implementeringen fokuserar på kvantilskissdata är de arkitektoniska principerna och lösningarna som presenteras tillämpbara på olika scenarier för tidsseriebearbetning

Place, publisher, year, edition, pages
2024. , p. 66
Series
TRITA-EECS-EX ; 2024:995
Keywords [en]
Stream Processing, Distributed Systems, Kafka, Rust, Time-Series
Keywords [sv]
Strömbehandling, Distribuerade system, Kafka, Rust, Tidsserier
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-361533OAI: oai:DiVA.org:kth-361533DiVA, id: diva2:1946462
External cooperation
Datadog
Supervisors
Examiners
Available from: 2025-03-27 Created: 2025-03-21 Last updated: 2025-03-27Bibliographically approved

Open Access in DiVA

No full text in DiVA

By organisation
School of Electrical Engineering and Computer Science (EECS)
Computer and Information Sciences

Search outside of DiVA

GoogleGoogle Scholar

urn-nbn

Altmetric score

urn-nbn
Total: 81 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf