"Back to the Byte": Towards Byte-oriented Semantics for Streaming Storage

Event streaming systems, such as Apache Kafka, are increasingly used for data-intensive applications due to the proliferation of streaming sources of data and the requirement of responding with low latency. These systems center their internal design and external APIs around the concept of events. In this paper, we challenge the event-centric design as the primary design option for event streaming systems. Instead, we describe a streaming storage design based on a byte-oriented streaming primitive that supports key properties such as atomicity, conditional writes, and durability. Such a primitive allows us to implement not only a traditional event API, but also other APIs supporting, e.g., byte streams, key-values, and state synchronization. A byte stream API is relevant for storage workloads requiring large data transfers or low-latency byte buffer IO. We implement this concept in Pravega: a tiered storage system for data streams. Via experiments on AWS, we show the practicality of exposing byte APIs for storage workloads compared to events.

Authors

Institutions

Publication Details

Published
2024-11-19
DOI
https://doi.org/10.1145/3700824.3701099
Primary Topic
Distributed systems and fault tolerance
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

"Back to the Byte": Towards Byte-oriented Semantics for Streaming Storage

Raúl Gracia-Tinedo, Flavio Junqueira, Tom Kaitchuck
Distributed systems and fault tolerance
article

"Back to the Byte": Towards Byte-oriented Semantics for Streaming Storage

Raúl Gracia-Tinedo, Flavio Junqueira, Tom Kaitchuck
article en

Abstract

Event streaming systems, such as Apache Kafka, are increasingly used for data-intensive applications due to the proliferation of streaming sources of data and the requirement of responding with low latency. These systems center their internal design and external APIs around the concept of events. In this paper, we challenge the event-centric design as the primary design option for event streaming systems. Instead, we describe a streaming storage design based on a byte-oriented streaming primitive that supports key properties such as atomicity, conditional writes, and durability. Such a primitive allows us to implement not only a traditional event API, but also other APIs supporting, e.g., byte streams, key-values, and state synchronization. A byte stream API is relevant for storage workloads requiring large data transfers or low-latency byte buffer IO. We implement this concept in Pravega: a tiered storage system for data streams. Via experiments on AWS, we show the practicality of exposing byte APIs for storage workloads compared to events.

DELL (United States) (US), Seattle University (US)
Openalex Percentile: Top 76%
Distributed systems and fault tolerance
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.