The DOI matches its Crossref record.
Consistency and Completeness: Rethinking Distributed Stream Processing in Apache Kafka
Open accessAbstract
An increasingly important system requirement for distributed stream processing applications is to provide strong correctness guarantees under unexpected failures and out-of-order data so that its results can be authoritative (not needing complementary batch results). Although existing systems have put a lot of effort into addressing some specific issues, such as consistency and completeness, how to enable users to make flexible and transparent trade-off decisions among correctness, performance, and cost still remains a practical challenge. Specifically, similar mechanisms are usually applied to tackle both consistency and completeness, which can result in unnecessary performance penalties. We present Apache Kafka's core design for stream processing, which relies on its persistent log architecture as the storage and inter-processor communication layers to achieve correctness guarantees. Kafka Streams, a scalable stream processing client library in Apache Kafka, defines the processing logic as read-process-write cycles in which all processing state updates and result outputs are captured as log appends. Idempotent and transactional write protocols are utilized to guarantee exactly-once semantics. Furthermore, revision-based speculative processing is employed to emit results as soon as possible while handling out-of-order data. We also demonstrate how Kafka Streams behaves in practice with large-scale deployments and performance insights exhibiting its flexible and low-overhead trade-offs.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
Apache Kafka Streams has a restricted set of features compared to most other stream processing frameworks, particularly concerning integration with external systems.
“Compared to most other stream processing frameworks, it has a restricted set of features, in particular, concerning the integration with external systems.”
From Benchmarking scalability of stream processing frameworks deployed as microservices in the cloud (2024) · cites this paper as Wang et al., 2021
Section 3.2 describes Kafka Streams reading from and writing to Kafka topics, and §6.1.1 describes Kafka Connect moving data between Kafka and external systems. Neither passage compares Kafka Streams’ feature set with most other frameworks or says its external-system integration is restricted. Searches for feature limitations and external-system integration found no such comparison in our copy. (LLM, conf=0.72)
Experimental — accuracy not yet measured
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cites
No references could be resolved yet.
Research works printed but not linked: 39
- 10.14778/3137765.3137770 · DOI · Paper page
- T. Akidau . Open problems in stream processing: A call to action. In DEBS, page 4 . ACM , 2019 . T. Akidau. Open problems in stream processing: A call to action. In DEBS, page 4. ACM, 2019.
- 10.14778/2536222.2536229 · DOI
- 10.14778/2824032.2824076 · DOI · Paper page
- A. Arasu STREAM: the stanford stream data manager . IEEE Data Eng. Bull. , 26 ( 1 ): 19 -- 26 , 2003 . A. Arasu et al. STREAM: the stanford stream data manager. IEEE Data Eng. Bull., 26(1):19--26, 2003.
- P. Carbone , A. Katsifodimos , S. Ewen , and . Apache Flink#8482;: Stream and batch processing in a single engine . IEEE Data Eng. Bull. , 38 ( 4 ): 28 -- 38 , 2015 . P. Carbone, A. Katsifodimos, S. Ewen, and et al. Apache Flink#8482;: Stream and batch processing in a single engine. IEEE Data Eng. Bull., 38(4):28--38, 2015.
- R. Castro Fernandez et al. Liquid: Unifying nearline and offline big data integration . In CIDR , 2015 . R. Castro Fernandez et al. Liquid: Unifying nearline and offline big data integration. In CIDR, 2015.
- 10.14778/1454159.1454166 · DOI
- 10.14778/2735496.2735503 · DOI
- S. Chandrasekaran : Continuous dataflow processing for an uncertain world . In CIDR , 2003 . S. Chandrasekaran et al. TelegraphCQ: Continuous dataflow processing for an uncertain world. In CIDR, 2003.
- C. D. Cranor : A stream database for network applications . In Proc. of the ACM SIGMOD Int. Conf. on Management of Data , pages 647 -- 651 . ACM, 2003 . C. D. Cranor et al. Gigascope: A stream database for network applications. In Proc. of the ACM SIGMOD Int. Conf. on Management of Data, pages 647--651. ACM, 2003.
- R. C. Fernandez , M. Migliavacca , E. Kalyvianaki , and P. R. Pietzuch . Integrating scale out and fault tolerance in stream processing using operator state management . In Proc. of the ACM SIGMOD Int. Conf. on Management of Data , pages 725 -- 736 . ACM, 2013 . R. C. Fernandez, M. Migliavacca, E. Kalyvianaki, and P. R. Pietzuch. Integrating scale out and fault tolerance in stream processing using operator state management. In Proc. of the ACM SIGMOD Int. Conf. on Management of Data, pages 725--736. ACM, 2013.
- 10.14778/3137765.3137786 · DOI
- M. Fu : Towards extensible streaming engines . In ICDE , 2017 . M. Fu et al. Twitter Heron: Towards extensible streaming engines. In ICDE, 2017.
- D. Gordon Murray et al. Naiad: A timely dataflow system . In SOSP , pages 439 -- 455 , 2013 . D. Gordon Murray et al. Naiad: A timely dataflow system. In SOSP, pages 439--455, 2013.
- P. Gö tze and K. Sattler . Snapshot isolation for transactional stream processing . In EDBT , pages 650 -- 653 , 2019 . P. Gö tze and K. Sattler. Snapshot isolation for transactional stream processing. In EDBT, pages 650--653, 2019.
- 10.1145/1807128.1807139 · DOI
- 10.14778/3329772.3329777 · DOI
- D. J. Abadi : A data stream management system . In Proc. of the ACM SIGMOD Int. Conf. on Mgmt of Data , page 666 . ACM, 2003. D. J. Abadi et al. Aurora: A data stream management system. In Proc. of the ACM SIGMOD Int. Conf. on Mgmt of Data, page 666. ACM, 2003.
- D. J. Abadi The design of the Borealis stream processing engine . In CIDR , pages 277 -- 289 , 2005 . D. J. Abadi et al. The design of the Borealis stream processing engine. In CIDR, pages 277--289, 2005.
- 10.1145/3242153.3242155 · DOI · Paper page
- 10.14778/3007263.3007272 · DOI
- H. Jafarpour , R. Desai , and D. Guy . KSQL: Streaming SQL engine for Apache Kafka . In EDBT , pages 524 -- 533 , 2020 . H. Jafarpour, R. Desai, and D. Guy. KSQL: Streaming SQL engine for Apache Kafka. In EDBT, pages 524--533, 2020.
- J. Kreps , N. Narkhede , and J. Rao . Kafka: A distributed messaging system for log processing . In Proceedings of the NetDB , pages 1 -- 7 , 2011 . J. Kreps, N. Narkhede, and J. Rao. Kafka: A distributed messaging system for log processing. In Proceedings of the NetDB, pages 1--7, 2011.
- 10.14778/1453856.1453890 · DOI
- W. Lin : Continuous reliable distributed processing of big data streams . In NSDI , pages 439 -- 453 , 2016 . W. Lin et al. StreamScope: Continuous reliable distributed processing of big data streams. In NSDI, pages 439--453, 2016.
- 10.14778/3231751.3231765 · DOI
- 10.14778/2831360.2831367 · DOI
- 10.1109/ICDE48307.2020.00141 · DOI
- 10.14778/3137765.3137777 · DOI · Paper page
- Z. Qian : Reliable stream computation in the cloud . In EuroSys , pages 1 -- 14 . ACM, 2013 . Z. Qian et al. TimeStream: Reliable stream computation in the cloud. In EuroSys, pages 1--14. ACM, 2013.
- 10.1145/1055558.1055596 · DOI
- 10.1145/3959.3962 · DOI
- 10.14778/3339490.3339499 · DOI
- N. Tatbul Handling shared, mutable state in stream processing with correctness guarantees . IEEE Data Eng. Bull. , 38 ( 4 ): 94 -- 104 , 2015 . N. Tatbul et al. Handling shared, mutable state in stream processing with correctness guarantees. IEEE Data Eng. Bull., 38(4):94--104, 2015.
- J. Traub Efficient window aggregation with general stream slicing . In EDBT , pages 97 -- 108 , 2019 . J. Traub et al. Efficient window aggregation with general stream slicing. In EDBT, pages 97--108, 2019.
- 10.14778/2824032.2824063 · DOI
- N. Zacheilas , V. Kalogeraki , Y. Nikolakopoulos, and et al. Maximizing determinism in stream processing under latency constraints . In DEBS , pages 112 -- 123 , 2017 . N. Zacheilas, V. Kalogeraki, Y. Nikolakopoulos, and et al. Maximizing determinism in stream processing under latency constraints. In DEBS, pages 112--123, 2017.
- 10.1145/2517349.2522737 · DOI
Cited by
Sorted by citations
Benchmarking scalability of stream processing frameworks deployed as microservices in the cloud
Henning, S., & Hasselbring, W. (2024) · Journal of Systems and Software · doi:10.1016/j.jss.2023.111879 · Cited by 85
Metadata
- Authors
- Wang, G., Chen, L., Dikshit, A., Gustafson, J., Chen, B., Sax, M. J., Roesler, J., Blee-Goldman, S., Cadonna, B., Mehta, A., Madan, V., & Rao, J.
- Affiliations
- Confluent Inc., Mountain View, CA, USA
- Bloomberg (United States) (US)
- Expedia Group, Gurgaon, India
- Venue
- Proceedings of the 2021 International Conference on Management of Data
- Publisher
- ACM
- Published
- 2021-06-09
- Pages
- 2602-2613
- ISSN
- 0730-8078 (ISSN-L)
- OpenAlex
- W3176171201
- Cited by
- 74
- References
- 0
- Citations by year
- 2026: 20 · 2025: 14 · 2024: 14 · 2023: 15 · 2022: 10 · 2021: 1
- FWCI
- 6.73
- Type
- conference paper
- Language
- en
- Open access
- hybrid
- doi.org
- Licence
- Locations
- ACM SIGMOD International Conference on Management of Data (SIGMOD) (publishedVersion, cc-by-sa)
- Topics
- Physical Sciences › Computer Science › Information Systems › Advanced Database Systems and Queries
- Physical Sciences › Computer Science › Computer Networks and Communications › Distributed systems and fault tolerance
- Physical Sciences › Computer Science › Information Systems › Cloud Computing and Resource Management
- Keywords
- distributed stream processing, Apache Kafka, Kafka Streams, consistency, completeness, exactly-once semantics
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review