The Evolution of Stream Processing Systems

The Evolution of Stream Processing Systems

Beyond Analytics: the Evolution of Stream Processing Systems Paris Carbone Marios Fragkoulis [email protected] [email protected] RISE Delft University of Technology Vasiliki Kalavri Asterios Katsifodimos [email protected] [email protected] Boston University Delft University of Technology ABSTRACT 1 INTRODUCTION Stream processing has been an active research field for more During the last 10 years, applications of stream processing than 20 years, but it is now witnessing its prime time due technology have gone through a resurgence, penetrating to recent successful efforts by the research community and multiple and very diverse industries. Nowadays, virtually all numerous worldwide open-source communities. The goal of Cloud vendors offer first-class support for deploying man- this tutorial is threefold. First, we aim to review and high- aged stream processing pipelines, while streaming systems light noteworthy past research findings, which were largely are used in a variety of use-cases that go beyond the clas- ignored until very recently. Second, we intend to underline sic streaming analytics (windows, aggregates, joins, etc.). the differences between early (’00-’10) and modern (’11-’18) For instance, web companies are using stream processing streaming systems, and how those systems have evolved for dynamic car-trip pricing, banks apply it for credit card through the years. Most importantly, we wish to turn the fraud detection, while traditional industries apply streaming attention of the database community to recent trends: stream- technology for real-time harvesting analytics. ing systems are no longer used only for classic stream pro- As seen in Figure 1, during the last 20 years, streaming cessing workloads, namely window aggregates and joins. technology has evolved significantly, under the influence of Instead, modern streaming systems are being increasingly database and distributed systems. The notion of streaming used to deploy general event-driven applications in a scal- queries was first introduced in 1992 by the Tapestry sys- able fashion, challenging the design decisions, architecture tem [47], and was followed by lots of research on stream and intended use of existing stream processing systems. processing in the early 00s. Fundamental concepts and ideas originated in the database community and were implemented ACM Reference Format: in prototypical systems such as TelegraphCQ [20], Stanford’s Paris Carbone, Marios Fragkoulis, Vasiliki Kalavri, and Asterios STREAM, NiagaraCQ [21], Auroral/Borealis [1], and Gigas- Katsifodimos. 2020. Beyond Analytics: the Evolution of Stream cope [22]. Although these prototypes roughly agreed on the Processing Systems. In Proceedings of the 2020 ACM SIGMOD In- data model, they differed considerably on querying seman- ternational Conference on Management of Data (SIGMOD’20), June tics [5, 13]. This research period also introduced various sys- 14–19, 2020, Portland, OR, USA. ACM, New York, NY, USA, 8 pages. tems challenges such as sliding window aggregation [6, 36], https://doi.org/10.1145/3318464.3383131 fault-tolerance and high-availability [8, 44], as well as load balancing and shedding [46]. This first wave of research was highly influential to commercial stream processing systems that were developed in the following years (roughly during Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not 2004 – 2010), such as IBM System S, Esper, Oracle CQL/CEP made or distributed for profit or commercial advantage and that copies bear and TIBCO. These systems focused – for the most part – this notice and the full citation on the first page. Copyrights for components on streaming window queries and Complex Event Process- of this work owned by others than ACM must be honored. Abstracting with ing (CEP). This era of systems was mainly characterized by credit is permitted. To copy otherwise, or republish, to post on servers or to scale-up architectures processing ordered event streams. redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. The last reincarnation of streaming systems has come as a SIGMOD’20, June 14–19, 2020, Portland, OR, USA result of stream processing research that started roughly after © 2020 Association for Computing Machinery. the introduction of MapReduce [23] and the popularization ACM ISBN 978-1-4503-6735-6/20/06...$15.00 of Cloud Computing. The focus shifted towards distributed, https://doi.org/10.1145/3318464.3383131 SIGMOD’20, June 14–19, 2020, Portland, OR, USA Paris Carbone, Marios Fragkoulis, Vasiliki Kalavri, and Asterios Katsifodimos 1st gen: From DBs to DSMSs 2nd gen: Scalable Data Streaming 3rd gen: ? - Synopses - Out-of-Order - Continuous - Sliding - State Management - Model Serving Queries windows - Scalability - Dynamic Plans - Proc. Guarantees - Cloud Apps - Inverted DBs - CEP - Best-Effort - HW Accel. - Microservices Processing - Reconfiguration - Stream SQL - Actors - Transactions Tapestry Aurora/Borealis Spark NiagaraCQ Esper Twitter Storm Streaming Apex Ray TelegraphCQ IBM System S S4 Flink/Beam Arcon Stateful Functions STREAM Oracle CQL Naiad Samza Millwheel/ Neptune Ambrosia Map Reduce S Store Dataflow Kafka Streams ‘92 ’00-‘03 ‘04 ’10-‘12 ’13-‘17 ’18- ’19- Figure 1: An overview of the evolution of stream processing and respective domains of focus. data-parallel processing engines and shared-nothing archi- will review state management practices, fault recovery, high tectures on commodity hardware. Lacking well-defined se- availability and load management techniques. mantics and a proper query language, systems like Millwheel 3. Emerging applications & new requirements. In the [3], Storm, Spark Streaming [50], and Apache Flink [16] first third part, we describe the characteristics and requirements exposed primitives for expressing streaming computations of emerging streaming applications, focusing on real-time as hard-coded dataflow graphs and transparently handled training and serving of ML models, event-driven applications, data-parallel execution on distributed clusters. With very and microservice pipelines. We then propose future research high influence, the Google Dataflow model [4] re-introduced directions. older ideas such as out-of-order processing [37] and punc- tuations [49] proposing a unified parallel processing model 1.2 Practical information for streaming and batch computations. Stream processors of this era are converging towards fault-tolerant, scale-out Scope. This survey tutorial provides an overview of the two processing of massive out-of-order streams. eras of research in stream processing, highlighting impact- At the moment of writing we are witnessing a trend to- ful work that has shaped modern streaming systems. We wards using stream processors to build more general event- then discuss emerging applications, new requirements, and driven architectures [34], large-scale continuous ETL and challenges to be addressed by the research community. analytics, and even microservices [33]. These use-cases have Prior tutorials. The material proposed in this tutorial has led to application designs where the stream processor’s state not been presented before. Prior tutorials have either focused has become a first-class citizen, visible to programmers [15] on a specific area (e.g., streaming optimizations [43]) or on but also to external systems. the broader area of event processing [24]. To the best of We believe that this is the right moment to reflect on the our knowledge, the tutorial closest to ours was presented at similarities and differences between the two eras of stream- DEBS 2014 [28] and covered Cloud Computing aspects of ing research and to assemble lessons learned. Moreover, stream processing. Since then, modern streaming systems we wish for this tutorial to bring forward important, but and applications have matured enough to allow for a deeper overlooked works that have played a vital role in today’s retrospective analysis and comparison. streaming systems design. Finally, we aim to establish a com- mon nomenclature for concepts which various open-source Duration & target audience. The tutorial will last three (3) projects and commercial offerings are misusing. hours. Our target audience is graduate students, researchers, and practitioners from industry, who would benefit from a 1.1 Tutorial Outline broader perspective of the evolution of stream processing. No prior knowledge of stream processing concepts is required We will split this tutorial in three parts. as a prerequisite for attendance. 1. Review of stream processing foundations. This intro- ductory part covers fundamentals of stream processing com- 2 REVIEW OF FOUNDATIONS putation and system design. Specifically, we will cover lan- The first part of our tutorial will be used to establish acom- guages and semantics, notions of time, out-of-order handling, mon understanding of the basic notions of query languages, and progress mechanisms. the effect of event ordering, as well as the time dimensions 2. Evolution of system aspects. The second part discusses of streams. Finally, we will present various definitions of the evolution of streaming system aspects. In particular, we processing-progress in (dis)ordered streams. Beyond Analytics: the Evolution of Stream Processing Systems SIGMOD’20, June 14–19, 2020, Portland, OR, USA 2.1 Languages and Semantics evolution of data stream management over time. For

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us