{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,21]],"date-time":"2026-05-21T02:53:39Z","timestamp":1779332019395,"version":"3.51.4"},"reference-count":87,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2018,12,11]],"date-time":"2018-12-11T00:00:00Z","timestamp":1544486400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGMOD Rec."],"published-print":{"date-parts":[[2018,12,11]]},"abstract":"<jats:p>This paper is a survey of recent stream processing languages, which are programming languages for writing applications that analyze data streams. Data streams, or continuous data flows, have been around for decades. But with the advent of the big-data era, the size of data streams has increased dramatically. Analyzing big data streams yields immense advantages across all sectors of our society. To analyze streams, one needs to write a stream processing application. This paper showcases several languages designed for this purpose, articulates underlying principles, and outlines open challenges.<\/jats:p>","DOI":"10.1145\/3299887.3299892","type":"journal-article","created":{"date-parts":[[2018,12,12]],"date-time":"2018-12-12T12:49:32Z","timestamp":1544618972000},"page":"29-40","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":27,"title":["Stream Processing Languages in the Big Data Era"],"prefix":"10.1145","volume":"47","author":[{"given":"Martin","family":"Hirzel","sequence":"first","affiliation":[{"name":"IBM Research, Armonk, NY, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Guillaume","family":"Baudart","sequence":"additional","affiliation":[{"name":"IBM Research, Armonk, NY, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Angela","family":"Bonifati","sequence":"additional","affiliation":[{"name":"Lyon 1 University, Villeurbanne, France"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Emanuele","family":"Della Valle","sequence":"additional","affiliation":[{"name":"Politecnico di Milano, Milan, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sherif","family":"Sakr","sequence":"additional","affiliation":[{"name":"University of Tartu, Tartu, Estonia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Akrivi","family":"Akrivi Vlachou","sequence":"additional","affiliation":[{"name":"University of Piraeus, Piraeus, Greece"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2018,12,11]]},"reference":[{"key":"e_1_2_1_1_1","first-page":"277","volume-title":"Conference on Innovative Data Systems Research (CIDR)","author":"Abadi D. J.","year":"2005","unstructured":"D. J. Abadi , Y. Ahmad , M. Balazinska , U. Cetintemel , M. Cherniack , J.-H. Hwang , W. Lindner , A. S. Maskey , A. Rasin , E. Ryvkina , N. Tatbul , Y. Xing , and S. Zdonik . The design of the Borealis stream processing engine . In Conference on Innovative Data Systems Research (CIDR) , pages 277 -- 289 , 2005 . D. J. Abadi, Y. Ahmad, M. Balazinska, U. Cetintemel, M. Cherniack, J.-H. Hwang, W. Lindner, A. S. Maskey, A. Rasin, E. Ryvkina, N. Tatbul, Y. Xing, and S. Zdonik. The design of the Borealis stream processing engine. In Conference on Innovative Data Systems Research (CIDR), pages 277--289, 2005."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-003-0095-z"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.14778\/2536222.2536229"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.14778\/2824032.2824076"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.14778\/1687553.1687590"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.5555\/2823980"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.5555\/2590208.2590214"},{"key":"e_1_2_1_8_1","volume-title":"A Semantic Web Primer","author":"Antoniou G.","year":"2012","unstructured":"G. Antoniou , P. T. Groth , F. van Harmelen , and R. Hoekstra . A Semantic Web Primer , 3 rd Edition. MIT Press , 2012 . G. Antoniou, P. T. Groth, F. van Harmelen, and R. Hoekstra. A Semantic Web Primer, 3rd Edition. MIT Press, 2012.","edition":"3"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-004-0147-z"},{"key":"e_1_2_1_10_1","first-page":"480","volume-title":"Conference on Very Large Data Bases (VLDB)","author":"Arasu A.","year":"2004","unstructured":"A. Arasu , M. Cherniack , E. Galvez , D. Maier , A. S. Maskey , E. Ryvkina , M. Stonebraker , and R. Tibbetts . Linear road: A stream data management benchmark . In Conference on Very Large Data Bases (VLDB) , pages 480 -- 491 , 2004 . A. Arasu, M. Cherniack, E. Galvez, D. Maier, A. S. Maskey, E. Ryvkina, M. Stonebraker, and R. Tibbetts. Linear road: A stream data management benchmark. In Conference on Very Large Data Bases (VLDB), pages 480--491, 2004."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1031570.1031572"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/543613.543615"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-70407-4_37"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-13486-9_1"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/MIS.2010.142"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-68288-4_6"},{"key":"e_1_2_1_17_1","first-page":"1431","volume-title":"Conference on Artificial Intelligence (AAAI)","author":"Beck H.","year":"2015","unstructured":"H. Beck , M. Dao-Tran , T. Eiter , and M. Fink . LARS: A logic-based framework for analyzing reasoning over streams . In Conference on Artificial Intelligence (AAAI) , pages 1431 -- 1438 , 2015 . H. Beck, M. Dao-Tran, T. Eiter, and M. Fink. LARS: A logic-based framework for analyzing reasoning over streams. In Conference on Artificial Intelligence (AAAI), pages 1431--1438, 2015."},{"key":"e_1_2_1_18_1","volume-title":"Ticker: A system for incremental ASP-based stream reasoning. Theory and Practice of Logic Programming (TPLP), 17(5--6):744--763","author":"Beck H.","year":"2017","unstructured":"H. Beck , T. Eiter , and C. Folie . Ticker: A system for incremental ASP-based stream reasoning. Theory and Practice of Logic Programming (TPLP), 17(5--6):744--763 , 2017 . H. Beck, T. Eiter, and C. Folie. Ticker: A system for incremental ASP-based stream reasoning. Theory and Practice of Logic Programming (TPLP), 17(5--6):744--763, 2017."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.14778\/1920841.1920874"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2461328.2461348"},{"key":"e_1_2_1_21_1","volume-title":"VisiCalc computer software program","author":"Bricklin D.","year":"1979","unstructured":"D. Bricklin and B. Frankston . VisiCalc computer software program , 1979 . Reference Manual, Personal Software Inc . D. Bricklin and B. Frankston. VisiCalc computer software program, 1979. Reference Manual, Personal Software Inc."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-34129-3_30"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/1940281.1940289"},{"issue":"4","key":"e_1_2_1_24_1","first-page":"28","article-title":"Apache Flink: Stream and batch processing in a single engine","volume":"36","author":"Carbone P.","year":"2015","unstructured":"P. Carbone , A. Katsifodimos , S. Ewen , V. Markl , S. Haridi , and K. Tzoumas . Apache Flink: Stream and batch processing in a single engine . IEEE Database Engineering Bulletin , 36 ( 4 ): 28 -- 38 , Dec. 2015 . P. Carbone, A. Katsifodimos, S. Ewen, V. Markl, S. Haridi, and K. Tzoumas. Apache Flink: Stream and batch processing in a single engine. IEEE Database Engineering Bulletin, 36(4):28--38, Dec. 2015.","journal-title":"IEEE Database Engineering Bulletin"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/41625.41641"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.14778\/2735496.2735503"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2012.55"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.14778\/1920841.1920873"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/872757.872857"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/342009.335432"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.5555\/3171642.3171779"},{"key":"e_1_2_1_32_1","first-page":"w3","article-title":"XML path language (XPath) version 1.0. W3C recommendation","author":"Clark J.","year":"1999","unstructured":"J. Clark and S. DeRose . XML path language (XPath) version 1.0. W3C recommendation , W3C , Nov. 1999 . http:\/\/www. w3 .org\/TR\/1999\/REC-xpath-19991116. J. Clark and S. DeRose. XML path language (XPath) version 1.0. W3C recommendation, W3C, Nov. 1999. http:\/\/www.w3.org\/TR\/1999\/REC-xpath-19991116.","journal-title":"W3C"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375657.1375673"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/TASE.2017.8285623"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/872757.872838"},{"key":"e_1_2_1_36_1","first-page":"957","volume-title":"Conference on Artificial Intelligence (AAAI)","author":"de Leng D.","year":"2016","unstructured":"D. de Leng and F. Heintz . Qualitative spatio-temporal stream reasoning with unobservable intertemporal spatial relations using landmarks . In Conference on Artificial Intelligence (AAAI) , pages 957 -- 963 , 2016 . D. de Leng and F. Heintz. Qualitative spatio-temporal stream reasoning with unobservable intertemporal spatial relations using landmarks. In Conference on Artificial Intelligence (AAAI), pages 957--963, 2016."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-00985-3_6"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/MIS.2009.125"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-25639-9_48"},{"key":"e_1_2_1_40_1","volume-title":"International Journal on Semantic Web and Information Systems (IJSWIS), 10(4):17--44","author":"Dell'Aglio D.","year":"2014","unstructured":"D. Dell'Aglio , E. Della Valle , J. Calbimonte , and \u00b4 O. Corcho . RSP-QL semantics: A unifying query model to explain heterogeneity of RDF stream processing systems . International Journal on Semantic Web and Information Systems (IJSWIS), 10(4):17--44 , 2014 . D. Dell'Aglio, E. Della Valle, J. Calbimonte, and \u00b4 O. Corcho. RSP-QL semantics: A unifying query model to explain heterogeneity of RDF stream processing systems. International Journal on Semantic Web and Information Systems (IJSWIS), 10(4):17--44, 2014."},{"key":"e_1_2_1_41_1","volume-title":"Stream reasoning: A survey and outlook. Data Science, 1(1--2):59--83","author":"DellAglio D.","year":"2017","unstructured":"D. DellAglio , E. Della Valle , F. van Harmelen , and A. Bernstein . Stream reasoning: A survey and outlook. Data Science, 1(1--2):59--83 , 2017 . D. DellAglio, E. Della Valle, F. van Harmelen, and A. Bernstein. Stream reasoning: A survey and outlook. Data Science, 1(1--2):59--83, 2017."},{"key":"e_1_2_1_42_1","first-page":"412","volume-title":"Conference on Innovative Data Systems Research (CIDR)","author":"Demers A.","year":"2007","unstructured":"A. Demers , J. Gehrke , B. Panda , M. Riedewald , V. Sharma , and W. White . Cayuga: A general purpose event monitoring system . In Conference on Innovative Data Systems Research (CIDR) , pages 412 -- 422 , 2007 . A. Demers, J. Gehrke, B. Panda, M. Riedewald, V. Sharma, and W. White. Cayuga: A general purpose event monitoring system. In Conference on Innovative Data Systems Research (CIDR), pages 412--422, 2007."},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1016\/S1389-1286(99)00020-1"},{"key":"e_1_2_1_44_1","first-page":"341","volume-title":"Demo at International Conference on Data Engineering (ICDE-Demo)","author":"Diao Y.","year":"2002","unstructured":"Y. Diao , P. M. Fischer , M. J. Franklin , and R. To . YFilter: Efficient and scalable filtering of XML documents . In Demo at International Conference on Data Engineering (ICDE-Demo) , pages 341 -- 342 , 2002 . Y. Diao, P. M. Fischer, M. J. Franklin, and R. To. YFilter: Efficient and scalable filtering of XML documents. In Demo at International Conference on Data Engineering (ICDE-Demo), pages 341--342, 2002."},{"key":"e_1_2_1_45_1","volume-title":"Esper open source software for streaming analytics","year":"2018","unstructured":"Esper. Esper open source software for streaming analytics , 2018 . http:\/\/www.espertech.com\/esper\/ (Retrieved June 2018). Esper. Esper open source software for streaming analytics, 2018. http:\/\/www.espertech.com\/esper\/ (Retrieved June 2018)."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/2933267.2933268"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/1376616.1376729"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2013.295"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/2335484.2335506"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/3039207"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.5555\/551789.853532"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/2611567"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.14778\/1454159.1454179"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1109\/69.334885"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/1013208.1013209"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/2335484.2335491"},{"key":"e_1_2_1_58_1","volume-title":"Questioning the lambda architecture","author":"Kreps J.","year":"2014","unstructured":"J. Kreps . Questioning the lambda architecture , 2014 . http:\/\/radar.oreilly.com\/2014\/07\/ questioning-the-lambda-architecture.html (Retrieved June 2018). J. Kreps. Questioning the lambda architecture, 2014. http:\/\/radar.oreilly.com\/2014\/07\/ questioning-the-lambda-architecture.html (Retrieved June 2018)."},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2742788"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1109\/5.97301"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-35173-0_20"},{"key":"e_1_2_1_62_1","first-page":"2662","volume-title":"International Joint Conference on Artificial Intelligence (IJCAI)","author":"L\u00b4ecu\u00b4e F.","year":"2013","unstructured":"F. L\u00b4ecu\u00b4e and J. Z. Pan . Predicting knowledge in an ontology stream . In International Joint Conference on Artificial Intelligence (IJCAI) , pages 2662 -- 2669 , 2013 . F. L\u00b4ecu\u00b4e and J. Z. Pan. Predicting knowledge in an ontology stream. In International Joint Conference on Artificial Intelligence (IJCAI), pages 2662--2669, 2013."},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/543613.543644"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.14778\/1453856.1453890"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/2002259.2002281"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/1142473.1142552"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/2247596.2247659"},{"key":"e_1_2_1_68_1","first-page":"1560","volume-title":"Conference on Artificial Intelligence (AAAI)","author":"Motik B.","year":"2015","unstructured":"B. Motik , Y. Nenov , R. E. F. Piro , and I. Horrocks . Incremental update of datalog materialisation: the backward\/forward algorithm . In Conference on Artificial Intelligence (AAAI) , pages 1560 -- 1568 , 2015 . B. Motik, Y. Nenov, R. E. F. Piro, and I. Horrocks. Incremental update of datalog materialisation: the backward\/forward algorithm. In Conference on Artificial Intelligence (AAAI), pages 1560--1568, 2015."},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522738"},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1561\/0400000002"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1145\/872757.872810"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.5555\/1793934.1793939"},{"key":"e_1_2_1_73_1","volume-title":"version 3, Tutorial and reference manual","author":"Pouzet M.","year":"2006","unstructured":"M. Pouzet . Lucid synchrone , version 3, Tutorial and reference manual , 2006 . M. Pouzet. Lucid synchrone, version 3, Tutorial and reference manual, 2006."},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1145\/2063576.2063696"},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1145\/1367497.1367602"},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1145\/2002259.2002263"},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.2338"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-11957-6_27"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1007\/s002360050095"},{"key":"e_1_2_1_81_1","doi-asserted-by":"publisher","DOI":"10.1145\/2588555.2595641"},{"key":"e_1_2_1_82_1","doi-asserted-by":"publisher","DOI":"10.1145\/2933267.2933539"},{"key":"e_1_2_1_83_1","volume-title":"Revised Report on the Algorithmic Language ALGOL 68","author":"van Wijngaarden A.","year":"1975","unstructured":"A. van Wijngaarden , B. Mailloux , J. Peck , C. Koster , M. Sintzoff , C. Lindsey , L. Meertens , and R. Fisker . Revised Report on the Algorithmic Language ALGOL 68 . 1975 . A. van Wijngaarden, B. Mailloux, J. Peck, C. Koster, M. Sintzoff, C. Lindsey, L. Meertens, and R. Fisker. Revised Report on the Algorithmic Language ALGOL 68. 1975."},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-44202-9_15"},{"key":"e_1_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.1145\/1385989.1386022"},{"key":"e_1_2_1_86_1","doi-asserted-by":"publisher","DOI":"10.1145\/1142473.1142520"},{"key":"e_1_2_1_87_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522737"},{"key":"e_1_2_1_88_1","volume-title":"ANSI Standard Proposal","author":"Zemke F.","year":"2007","unstructured":"F. Zemke , A. Witkowski , M. Cherniak , and L. Colby . Pattern matching in sequences of rows. Technical report , ANSI Standard Proposal , 2007 . F. Zemke, A. Witkowski, M. Cherniak, and L. Colby. Pattern matching in sequences of rows. Technical report, ANSI Standard Proposal, 2007."},{"key":"e_1_2_1_89_1","doi-asserted-by":"publisher","DOI":"10.14778\/1920841.1921012"}],"container-title":["ACM SIGMOD Record"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3299887.3299892","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3299887.3299892","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:53:38Z","timestamp":1750204418000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3299887.3299892"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,12,11]]},"references-count":87,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2018,12,11]]}},"alternative-id":["10.1145\/3299887.3299892"],"URL":"https:\/\/doi.org\/10.1145\/3299887.3299892","relation":{},"ISSN":["0163-5808"],"issn-type":[{"value":"0163-5808","type":"print"}],"subject":[],"published":{"date-parts":[[2018,12,11]]},"assertion":[{"value":"2018-12-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}