Design principles for developing stream processing applications

Stream processing applications are used to ingest, process, and analyze continuous data streams from heterogeneous sources of live and stored data, generating streams of output results. These applications are, in many cases, complex, large‐scale, low‐latency, and distributed in nature. In this paper...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Software, practice & experience practice & experience, 2010-11, Vol.40 (12), p.1073-1104
Hauptverfasser: Turaga, Deepak, Andrade, Henrique, Gedik, Buğra, Venkatramani, Chitra, Verscheure, Olivier, Harris, Jeffrey David, Cox, John, Szewczyk, William, Jones, Paul
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 1104
container_issue 12
container_start_page 1073
container_title Software, practice & experience
container_volume 40
creator Turaga, Deepak
Andrade, Henrique
Gedik, Buğra
Venkatramani, Chitra
Verscheure, Olivier
Harris, Jeffrey David
Cox, John
Szewczyk, William
Jones, Paul
description Stream processing applications are used to ingest, process, and analyze continuous data streams from heterogeneous sources of live and stored data, generating streams of output results. These applications are, in many cases, complex, large‐scale, low‐latency, and distributed in nature. In this paper, we describe the design principles and architectural underpinnings for stream processing applications. These principles are distilled from our experience in building real‐world applications both for internal use as well as with customers from several industrial and academic domains. We provide principles, guidelines, as well as appropriate implementation examples to highlight the different aspects of stream processing application design and development. Copyright © 2010 John Wiley & Sons, Ltd.
doi_str_mv 10.1002/spe.993
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_1671393156</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>1671393156</sourcerecordid><originalsourceid>FETCH-LOGICAL-c3323-21ca8f614a57412905f10f7f87c61be824270003eed9206ca66653138bf1908e3</originalsourceid><addsrcrecordid>eNp10F1LwzAUBuAgCs4p_oXeKUjnSdIm7ZXo3KYw_JZ5F7LsZES7tjadun9vpOKdVwcOD4f3vIQcUhhQAHbqaxzkOd8iPQq5jIElL9ukB8CzGESS7JI9718BKE2Z6JGzS_RuWUZ140rj6gJ9ZKsmWuAHFlXtymXk2wb1KoDKoPc_G13XhTO6dVXp98mO1YXHg9_ZJ8_j0dPwKp7eTq6H59PYcM54zKjRmRU00alMKMshtRSstJk0gs4xYwmTEDIiLnIGwmghRMopz-aW5pAh75Pj7m7I8b5G36qV8waLQpdYrb2iQlKec5qKQI86aprK-watCs-tdLNRFNRPRSpUpEJFQZ508tMVuPmPqce7UafjTjvf4tef1s2bEpLLVM1uJurhno9nFyBVyr8BLnN1Yw</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>1671393156</pqid></control><display><type>article</type><title>Design principles for developing stream processing applications</title><source>Wiley Online Library Journals Frontfile Complete</source><creator>Turaga, Deepak ; Andrade, Henrique ; Gedik, Buğra ; Venkatramani, Chitra ; Verscheure, Olivier ; Harris, Jeffrey David ; Cox, John ; Szewczyk, William ; Jones, Paul</creator><creatorcontrib>Turaga, Deepak ; Andrade, Henrique ; Gedik, Buğra ; Venkatramani, Chitra ; Verscheure, Olivier ; Harris, Jeffrey David ; Cox, John ; Szewczyk, William ; Jones, Paul</creatorcontrib><description>Stream processing applications are used to ingest, process, and analyze continuous data streams from heterogeneous sources of live and stored data, generating streams of output results. These applications are, in many cases, complex, large‐scale, low‐latency, and distributed in nature. In this paper, we describe the design principles and architectural underpinnings for stream processing applications. These principles are distilled from our experience in building real‐world applications both for internal use as well as with customers from several industrial and academic domains. We provide principles, guidelines, as well as appropriate implementation examples to highlight the different aspects of stream processing application design and development. Copyright © 2010 John Wiley &amp; Sons, Ltd.</description><identifier>ISSN: 0038-0644</identifier><identifier>ISSN: 1097-024X</identifier><identifier>EISSN: 1097-024X</identifier><identifier>DOI: 10.1002/spe.993</identifier><language>eng</language><publisher>Chichester, UK: John Wiley &amp; Sons, Ltd</publisher><subject>Architecture ; Computer programs ; Customers ; design principles ; Distillation ; Guidelines ; Software ; Spade ; stream processing applications ; Streams ; System S</subject><ispartof>Software, practice &amp; experience, 2010-11, Vol.40 (12), p.1073-1104</ispartof><rights>Copyright © 2010 John Wiley &amp; Sons, Ltd.</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c3323-21ca8f614a57412905f10f7f87c61be824270003eed9206ca66653138bf1908e3</citedby><cites>FETCH-LOGICAL-c3323-21ca8f614a57412905f10f7f87c61be824270003eed9206ca66653138bf1908e3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://onlinelibrary.wiley.com/doi/pdf/10.1002%2Fspe.993$$EPDF$$P50$$Gwiley$$H</linktopdf><linktohtml>$$Uhttps://onlinelibrary.wiley.com/doi/full/10.1002%2Fspe.993$$EHTML$$P50$$Gwiley$$H</linktohtml><link.rule.ids>314,780,784,1416,27922,27923,45572,45573</link.rule.ids></links><search><creatorcontrib>Turaga, Deepak</creatorcontrib><creatorcontrib>Andrade, Henrique</creatorcontrib><creatorcontrib>Gedik, Buğra</creatorcontrib><creatorcontrib>Venkatramani, Chitra</creatorcontrib><creatorcontrib>Verscheure, Olivier</creatorcontrib><creatorcontrib>Harris, Jeffrey David</creatorcontrib><creatorcontrib>Cox, John</creatorcontrib><creatorcontrib>Szewczyk, William</creatorcontrib><creatorcontrib>Jones, Paul</creatorcontrib><title>Design principles for developing stream processing applications</title><title>Software, practice &amp; experience</title><addtitle>Softw: Pract. Exper</addtitle><description>Stream processing applications are used to ingest, process, and analyze continuous data streams from heterogeneous sources of live and stored data, generating streams of output results. These applications are, in many cases, complex, large‐scale, low‐latency, and distributed in nature. In this paper, we describe the design principles and architectural underpinnings for stream processing applications. These principles are distilled from our experience in building real‐world applications both for internal use as well as with customers from several industrial and academic domains. We provide principles, guidelines, as well as appropriate implementation examples to highlight the different aspects of stream processing application design and development. Copyright © 2010 John Wiley &amp; Sons, Ltd.</description><subject>Architecture</subject><subject>Computer programs</subject><subject>Customers</subject><subject>design principles</subject><subject>Distillation</subject><subject>Guidelines</subject><subject>Software</subject><subject>Spade</subject><subject>stream processing applications</subject><subject>Streams</subject><subject>System S</subject><issn>0038-0644</issn><issn>1097-024X</issn><issn>1097-024X</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2010</creationdate><recordtype>article</recordtype><recordid>eNp10F1LwzAUBuAgCs4p_oXeKUjnSdIm7ZXo3KYw_JZ5F7LsZES7tjadun9vpOKdVwcOD4f3vIQcUhhQAHbqaxzkOd8iPQq5jIElL9ukB8CzGESS7JI9718BKE2Z6JGzS_RuWUZ140rj6gJ9ZKsmWuAHFlXtymXk2wb1KoDKoPc_G13XhTO6dVXp98mO1YXHg9_ZJ8_j0dPwKp7eTq6H59PYcM54zKjRmRU00alMKMshtRSstJk0gs4xYwmTEDIiLnIGwmghRMopz-aW5pAh75Pj7m7I8b5G36qV8waLQpdYrb2iQlKec5qKQI86aprK-watCs-tdLNRFNRPRSpUpEJFQZ508tMVuPmPqce7UafjTjvf4tef1s2bEpLLVM1uJurhno9nFyBVyr8BLnN1Yw</recordid><startdate>201011</startdate><enddate>201011</enddate><creator>Turaga, Deepak</creator><creator>Andrade, Henrique</creator><creator>Gedik, Buğra</creator><creator>Venkatramani, Chitra</creator><creator>Verscheure, Olivier</creator><creator>Harris, Jeffrey David</creator><creator>Cox, John</creator><creator>Szewczyk, William</creator><creator>Jones, Paul</creator><general>John Wiley &amp; Sons, Ltd</general><scope>BSCLL</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>F28</scope><scope>FR3</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>201011</creationdate><title>Design principles for developing stream processing applications</title><author>Turaga, Deepak ; Andrade, Henrique ; Gedik, Buğra ; Venkatramani, Chitra ; Verscheure, Olivier ; Harris, Jeffrey David ; Cox, John ; Szewczyk, William ; Jones, Paul</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c3323-21ca8f614a57412905f10f7f87c61be824270003eed9206ca66653138bf1908e3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2010</creationdate><topic>Architecture</topic><topic>Computer programs</topic><topic>Customers</topic><topic>design principles</topic><topic>Distillation</topic><topic>Guidelines</topic><topic>Software</topic><topic>Spade</topic><topic>stream processing applications</topic><topic>Streams</topic><topic>System S</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Turaga, Deepak</creatorcontrib><creatorcontrib>Andrade, Henrique</creatorcontrib><creatorcontrib>Gedik, Buğra</creatorcontrib><creatorcontrib>Venkatramani, Chitra</creatorcontrib><creatorcontrib>Verscheure, Olivier</creatorcontrib><creatorcontrib>Harris, Jeffrey David</creatorcontrib><creatorcontrib>Cox, John</creatorcontrib><creatorcontrib>Szewczyk, William</creatorcontrib><creatorcontrib>Jones, Paul</creatorcontrib><collection>Istex</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ANTE: Abstracts in New Technology &amp; Engineering</collection><collection>Engineering Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Software, practice &amp; experience</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Turaga, Deepak</au><au>Andrade, Henrique</au><au>Gedik, Buğra</au><au>Venkatramani, Chitra</au><au>Verscheure, Olivier</au><au>Harris, Jeffrey David</au><au>Cox, John</au><au>Szewczyk, William</au><au>Jones, Paul</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Design principles for developing stream processing applications</atitle><jtitle>Software, practice &amp; experience</jtitle><addtitle>Softw: Pract. Exper</addtitle><date>2010-11</date><risdate>2010</risdate><volume>40</volume><issue>12</issue><spage>1073</spage><epage>1104</epage><pages>1073-1104</pages><issn>0038-0644</issn><issn>1097-024X</issn><eissn>1097-024X</eissn><abstract>Stream processing applications are used to ingest, process, and analyze continuous data streams from heterogeneous sources of live and stored data, generating streams of output results. These applications are, in many cases, complex, large‐scale, low‐latency, and distributed in nature. In this paper, we describe the design principles and architectural underpinnings for stream processing applications. These principles are distilled from our experience in building real‐world applications both for internal use as well as with customers from several industrial and academic domains. We provide principles, guidelines, as well as appropriate implementation examples to highlight the different aspects of stream processing application design and development. Copyright © 2010 John Wiley &amp; Sons, Ltd.</abstract><cop>Chichester, UK</cop><pub>John Wiley &amp; Sons, Ltd</pub><doi>10.1002/spe.993</doi><tpages>32</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0038-0644
ispartof Software, practice & experience, 2010-11, Vol.40 (12), p.1073-1104
issn 0038-0644
1097-024X
1097-024X
language eng
recordid cdi_proquest_miscellaneous_1671393156
source Wiley Online Library Journals Frontfile Complete
subjects Architecture
Computer programs
Customers
design principles
Distillation
Guidelines
Software
Spade
stream processing applications
Streams
System S
title Design principles for developing stream processing applications
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-09T22%3A36%3A40IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Design%20principles%20for%20developing%20stream%20processing%20applications&rft.jtitle=Software,%20practice%20&%20experience&rft.au=Turaga,%20Deepak&rft.date=2010-11&rft.volume=40&rft.issue=12&rft.spage=1073&rft.epage=1104&rft.pages=1073-1104&rft.issn=0038-0644&rft.eissn=1097-024X&rft_id=info:doi/10.1002/spe.993&rft_dat=%3Cproquest_cross%3E1671393156%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=1671393156&rft_id=info:pmid/&rfr_iscdi=true