The DOI matches its Crossref record.
Samza: stateful scalable stream processing at LinkedIn
Abstract
Distributed stream processing systems need to support stateful processing, recover quickly from failures to resume such processing, and reprocess an entire data stream quickly. We present Apache Samza, a distributed system for stateful and fault-tolerant stream processing. Samza utilizes a partitioned local state along with a low-overhead background changelog mechanism, allowing it to scale to massive state sizes (hundreds of TB) per application. Recovery from failures is sped up by re-scheduling based on Host Affinity. In addition to processing infinite streams of events, Samza supports processing a finite dataset as a stream, from either a streaming source (e.g., Kafka), a database snapshot (e.g., Databus), or a file system (e.g. HDFS), without having to change the application code (unlike the popular Lambda-based architectures which necessitate maintenance of separate code bases for batch and stream path processing). Samza is currently in use at LinkedIn by hundreds of production applications with more than 10, 000 containers. Samza is an open-source Apache project adopted by many top-tier companies (e.g., LinkedIn, Uber, Netflix, TripAdvisor, etc.). Our experiments show that Samza: a) handles state efficiently, improving latency and throughput by more than 100X compared to using a remote storage; b) provides recovery time independent of state size; c) scales performance linearly with number of containers; and d) supports reprocessing of the data stream quickly and with minimal interference on real-time traffic.
Overview
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
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 Samza can be embedded as a library in standalone applications.
“Similar to Kafka Streams, Apache Samza (Noghabi et al., 2017) can be embedded as a library in standalone applications.”
From Benchmarking scalability of stream processing frameworks deployed as microservices in the cloud (2024) · cites this paper as Noghabi et al., 2017
Citations
Cites
No references could be resolved yet.
Research works printed but not linked: 39
- D. J. Abadi , Y. Ahmad , M. Balazinska , U. Cetintemel , M. Cherniack , The design of the Borealis stream processing engine . In Proc. CIDR , pages 277 -- 289 , 2005 . D. J. Abadi, Y. Ahmad, M. Balazinska, U. Cetintemel, M. Cherniack, et al. The design of the Borealis stream processing engine. In Proc. CIDR, pages 277--289, 2005.
- 10.14778/2536222.2536229 · DOI
- 10.14778/2824032.2824076 · DOI · Paper page
- 10.1145/1289612.1289615 · DOI
- 10.1109/ICDE.2012.147 · DOI
- 10.1145/2463676.2465282 · DOI
- 10.1145/214451.214456 · DOI
- 10.1145/1365815.1365816 · DOI
- T. Condie , N. Conway , P. Alvaro , J. M. Hellerstein , Mapreduce online . In Proc. NSDI , pages 20 -- 25 , 2010 . T. Condie, N. Conway, P. Alvaro, J. M. Hellerstein, et al. Mapreduce online. In Proc. NSDI, pages 20--25, 2010.
- 10.1145/1327452.1327492 · DOI · Paper page
- R. Fernandez , P. Pietzuch , : Unifying nearline and offline big data integration . In Proc. CIDR , page 8 . R. Fernandez, P. Pietzuch, et al. Liquid: Unifying nearline and offline big data integration. In Proc. CIDR, page 8.
- R. C. Fernandez , M. Migliavacca , E. Kalyvianaki , and P. Pietzuch . Making state explicit for imperative big data processing . In Proc. ATC , pages 49 -- 60 . USENIX, 2014 . R. C. Fernandez, M. Migliavacca, E. Kalyvianaki, and P. Pietzuch. Making state explicit for imperative big data processing. In Proc. ATC, pages 49--60. USENIX, 2014.
- Y. Gu , Z. Zhang , F. Ye , H. Yang , M. Kim , H. Lei , and Z. Liu . An empirical study of high availability in stream processing systems . In Proc. Middleware , page 23 , 2009 . Y. Gu, Z. Zhang, F. Ye, H. Yang, M. Kim, H. Lei, and Z. Liu. An empirical study of high availability in stream processing systems. In Proc. Middleware, page 23, 2009.
- 10.1109/TPDS.2012.24 · DOI
- P. Hintjens . ZeroMQ: Messaging for Many Applications . O'Reilly Media, Inc. , 2013 . P. Hintjens. ZeroMQ: Messaging for Many Applications. O'Reilly Media, Inc., 2013.
- 10.1109/ICDE.2005.72 · DOI
- 10.14778/3007263.3007272 · DOI
- J. Kreps , N. Narkhede , : A distributed messaging system for log processing . In Proc. NetDB , pages 1 -- 7 , 2011 . J. Kreps, N. Narkhede, et al. Kafka: A distributed messaging system for log processing. In Proc. NetDB, pages 1--7, 2011.
- 10.1145/2723372.2742788 · DOI · Paper page
- 10.1145/1773912.1773922 · DOI
- W. Lin , Z. Qian , J. Xu , S. Yang , J. Zhou , and L. Zhou . Streamscope: continuous reliable distributed processing of big data streams . In Proc. NSDI , pages 439 -- 454 , 2016 . W. Lin, Z. Qian, J. Xu, S. Yang, J. Zhou, and L. Zhou. Streamscope: continuous reliable distributed processing of big data streams. In Proc. NSDI, pages 439--454, 2016.
- 10.1145/1142473.1142513 · DOI
- N. Marz and J. Warren . Big Data: Principles and Best Practices of Scalable Realtime Data Systems . Manning Publications Co. , 1 st edition, 2015 . N. Marz and J. Warren. Big Data: Principles and Best Practices of Scalable Realtime Data Systems. Manning Publications Co., 1st edition, 2015.
- 10.14778/2831360.2831367 · DOI
- 10.1109/ICDMW.2010.172 · DOI
- 10.1145/2882903.2903738 · DOI
- 10.1145/1376616.1376726 · DOI
- 10.1145/2806777.2806934 · DOI
- 10.1145/2463676.2465298 · DOI
- 10.14778/2367502.2367512 · DOI
- 10.1109/DSN.2011.5958214 · DOI
- 10.1145/1107499.1107504 · DOI
- 10.14778/1687553.1687609 · DOI
- 10.1145/2588555.2595641 · DOI · Paper page
- V. K. Vavilapalli , A. C. Murthy , C. Douglas , S. Agarwal , M. Konar , Apache hadoop YARN: Yet Another Resource Negotiator . In Proc. SOSP , page 5 . ACM, 2013. V. K. Vavilapalli, A. C. Murthy, C. Douglas, S. Agarwal, M. Konar, et al. Apache hadoop YARN: Yet Another Resource Negotiator. In Proc. SOSP, page 5. ACM, 2013.
- 10.1145/2002259.2002304 · DOI
- 10.1109/IC2E.2016.38 · DOI
- M. Zaharia , M. Chowdhury , M. J. Franklin , S. Shenker , and I. Stoica . Spark: cluster computing with working sets . In Proc. HotCloud , page 95 , 2010 . M. Zaharia, M. Chowdhury, M. J. Franklin, S. Shenker, and I. Stoica. Spark: cluster computing with working sets. In Proc. HotCloud, page 95, 2010.
- M. Zaharia , T. Das , H. Li , Discretized streams: an efficient and fault-tolerant model for stream processing on large clusters . In Proc. HotCloud , pages 10 -- 10 , 2012 . M. Zaharia, T. Das, H. Li, et al. Discretized streams: an efficient and fault-tolerant model for stream processing on large clusters. In Proc. HotCloud, pages 10--10, 2012.
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
- Noghabi, S. A., Paramasivam, K., Pan, Y., Ramesh, N., Bringhurst, J., Gupta, I., & Campbell, R. H.
- Affiliations
- University of Illinois Urbana-Champaign (US)
- LinkedIn (United States) (US)
- Venue
- Proceedings of the VLDB Endowment
- Published
- 2017-08
- Volume
- 10
- Issue
- 12
- Pages
- 1634-1645
- ISSN
- 2150-8097 (ISSN-L)
- OpenAlex
- W2753910905
- Cited by
- 276
- References
- 0
- Citations by year
- 2026: 21 · 2025: 23 · 2024: 17 · 2023: 31 · 2022: 22 · 2021: 40 · 2020: 41 · 2019: 46 · 2018: 33 · 2017: 2
- FWCI
- 41.31
- Type
- journal article
- Language
- en
- Open access
- closed
- Locations
- Proceedings of the VLDB Endowment (publishedVersion)
- Funders
- University of Illinois at Urbana-Champaign
- Topics
- Physical Sciences › Computer Science › Information Systems › Advanced Database Systems and Queries
- Physical Sciences › Computer Science › Information Systems › Cloud Computing and Resource Management
- Physical Sciences › Computer Science › Computer Networks and Communications › Distributed systems and fault tolerance
- Keywords
- distributed stream processing, fault tolerance, fault recovery, reprocessing, Franz Kafka, HDFS
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