Skip to content

Proposal: Stateful Stream Processing in Apache Pinot #19119

Description

@manikBS

Currently, Pinot supports real-time ingestion with limited stateless transformations. More advanced use cases—such as stateful aggregations (GROUP BY), stream–stream joins, deduplication, and windowed computations—require external systems like Apache Spark or Apache Beam, adding operational complexity and latency.

This proposal is inspired by systems like Materialize, which integrate stateful stream processing with storage and querying, while adapting the design to fit Pinot's distributed architecture.

I have prepared a detailed architecture proposal and would appreciate the community's feedback before moving forward with implementation. If there is interest, I'd be happy to share the complete design in a follow-up email.

https://docs.google.com/document/d/1rFgYSyxmKgEJrihVbamhZgYQSRx1YW0cBYDA9C1vCpk/view

Metadata

Metadata

Assignees

Labels

PEP-RequestPinot Enhancement Proposal request to be reviewed.ingestionRelated to data ingestion pipelinereal-timeRelated to realtime table ingestion and serving

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions