Cited by 74Advanced Database Systems and QueriesDistributed systems and fault toleranceCloud Computing and Resource Management

The DOI matches its Crossref record.

Consistency and Completeness: Rethinking Distributed Stream Processing in Apache Kafka

Open access
Wang, Guozhang, Chen, Lei, Dikshit, Ayusman, Gustafson, Jason, Chen, Boyang, Sax, Matthias J., Roesler, John, Blee-Goldman, Sophie, Cadonna, Bruno, Mehta, Apurva, Madan, Varun, Rao, Jun·2021·Proceedings of the 2021 International Conference on Management of Data

Abstract

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.

A few free checks a day · papers already verified open instantly · results are public

Integrity signals

Registry

Crossref · 10.1145/3448016.3457556

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.

A few free checks a day · papers already verified open instantly · results are public

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

  1. 10.14778/3137765.3137770 · DOI · Paper page
  2. 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.
  3. 10.14778/2536222.2536229 · DOI
  4. 10.14778/2824032.2824076 · DOI · Paper page
  5. 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.
  6. 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.
  7. 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.
  8. 10.14778/1454159.1454166 · DOI
  9. 10.14778/2735496.2735503 · DOI
  10. 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.
  11. 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.
  12. 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.
  13. 10.14778/3137765.3137786 · DOI
  14. M. Fu : Towards extensible streaming engines . In ICDE , 2017 . M. Fu et al. Twitter Heron: Towards extensible streaming engines. In ICDE, 2017.
  15. 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.
  16. 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.
  17. 10.1145/1807128.1807139 · DOI
  18. 10.14778/3329772.3329777 · DOI
  19. 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.
  20. 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.
  21. 10.1145/3242153.3242155 · DOI · Paper page
  22. 10.14778/3007263.3007272 · DOI
  23. 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.
  24. 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.
  25. 10.14778/1453856.1453890 · DOI
  26. 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.
  27. 10.14778/3231751.3231765 · DOI
  28. 10.14778/2831360.2831367 · DOI
  29. 10.1109/ICDE48307.2020.00141 · DOI
  30. 10.14778/3137765.3137777 · DOI · Paper page
  31. 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.
  32. 10.1145/1055558.1055596 · DOI
  33. 10.1145/3959.3962 · DOI
  34. 10.14778/3339490.3339499 · DOI
  35. 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.
  36. 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.
  37. 10.14778/2824032.2824063 · DOI
  38. 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.
  39. 10.1145/2517349.2522737 · DOI

Cited by

Sorted by citations

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
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