Streaming Meets Transaction Processing

Streaming Meets Transaction Processing

Portland State University PDXScholar Computer Science Faculty Publications and Presentations Computer Science 2015 S-Store: Streaming Meets Transaction Processing John Meehan Brown University Nesime Tatbul Intel Labs and MIT Cansu Aslantas Brown University Ugur Cetintemel Brown University Jiang Du University of Toronto See next page for additional authors Follow this and additional works at: https://pdxscholar.library.pdx.edu/compsci_fac Part of the Computer Engineering Commons, and the Computer Sciences Commons Let us know how access to this document benefits ou.y Citation Details Meehan, John; Tatbul, Nesime; Aslantas, Cansu; Cetintemel, Ugur; Du, Jiang; Kraska, Tim; Madden, Samuel; Maier, David; Pavlo, Andrew; Stonebraker, Michael; Tufte, Kristin A.; and Wang, Hao, "S-Store: Streaming Meets Transaction Processing" (2015). Computer Science Faculty Publications and Presentations. 143. https://pdxscholar.library.pdx.edu/compsci_fac/143 This Post-Print is brought to you for free and open access. It has been accepted for inclusion in Computer Science Faculty Publications and Presentations by an authorized administrator of PDXScholar. Please contact us if we can make this document more accessible: [email protected]. Authors John Meehan, Nesime Tatbul, Cansu Aslantas, Ugur Cetintemel, Jiang Du, Tim Kraska, Samuel Madden, David Maier, Andrew Pavlo, Michael Stonebraker, Kristin A. Tufte, and Hao Wang This post-print is available at PDXScholar: https://pdxscholar.library.pdx.edu/compsci_fac/143 S-Store: Streaming Meets Transaction Processing John Meehan1, Nesime Tatbul2;3, Stan Zdonik1, Cansu Aslantas1, Ugur Cetintemel1,Jiang Du4,Tim Kraska1,Samuel Madden3,David Maier5, Andrew Pavlo6,Michael Stonebraker3,Kristin Tufte5,Hao Wang3 1Brown University 2Intel Labs 3MIT 4UToronto 5Portland State University 6CMU ABSTRACT not designed with storage in mind; it was tacked on after the fact. Stream processing addresses the needs of real-time applications. Thus, there was no support for things like ACID transactions, leav- Transaction processing addresses the coordination and safety of ing applications open to potential inconsistencies with weak guar- short atomic computations. Heretofore, these two modes of op- antees for isolation and recovery semantics. eration existed in separate, stove-piped systems. In this work, we These first-generation streaming systems could be viewed as real- attempt to fuse the two computational paradigms in a single sys- time analytics systems. After all, the input was made up of an infi- tem called S-Store. In this way, S-Store can simultaneously ac- nite stream of new tuples. The notion of some of these tuples repre- commodate OLTP and streaming applications. We present a sim- senting updates of previously viewed tuples was not made explicit ple transaction model for streams that integrates seamlessly with in the model. This is fine if time is the key. In this case, if each tu- a traditional OLTP system. We chose to build S-Store as an ex- ple is given a unique timestamp, the update pattern is append-only. tension of H-Store, an open-source, in-memory, distributed OLTP However, there are cases when the identifying attribute is some- database system. By implementing S-Store in this way, we can thing else. Consider a stock ticker application in which stock sym- make use of the transaction processing facilities that H-Store al- bol is the key. Here a new tuple for, say, IBM is really an update to ready supports, and we can concentrate on the additional imple- the previously reported price. Traders want to see the current stock mentation features that are needed to support streaming. Similar book as a consistent view of the 6000 stocks on the NYSE, with all implementations could be done using other main-memory OLTP prices reported in a consistent way. platforms. We show that we can actually achieve higher throughput We are beginning to see the rise of a second generation of stream- for streaming workloads in S-Store than an equivalent deployment ing systems [26, 28]. These systems do not enforce a relational in H-Store alone. We also show how this can be achieved within view on their users. Instead, they allow users to create their own H-Store with the addition of a modest amount of new functionality. operators that are invoked and managed by a common infrastruc- Furthermore, we compare S-Store to two state-of-the-art stream- ture. Note that it is reasonable to have libraries of common oper- ing systems, Spark Streaming and Storm, and show how S-Store ators, including relational operators, that manipulate tables. The matches and sometimes exceeds their performance while provid- infrastructure enforces some model of failure semantics (e.g., at- ing stronger transactional guarantees. least-once or exactly-once processing), but still ignores needs of proper isolation and consistent storage in the context of updates. Meanwhile, the advent of inexpensive, high-density RAM has 1. INTRODUCTION led to a new-generation of distributed on-line transaction process- A decade ago, the database research community focused atten- ing (OLTP) systems that store their data in main memory, thereby tion on stream data processing systems. These systems [6, 11], in- enabling very high throughput with ACID guarantees (e.g., [2, 13, cluding our own system, Aurora/Borealis [3, 4], were largely con- 20]). However, these systems lack the notion of stream-based pro- cerned with executing SQL-like operators on an unbounded and cessing (e.g., unbounded data, push-based data arrival, ordered pro- continuous stream of input data. The main optimization goal of cessing, windowing). these systems was reducing the latency of results, since they mainly Many applications need aspects of both streaming and transac- addressed what might be called monitoring applications [21, 19]. tion processing. In this paper, we propose to combine these two To achieve this, they were typically run in main memory, thereby computational paradigms under a single system called S-Store. Ap- avoiding the latency-killer of the disk. plications that benefit from this kind of a hybrid system include While essentially all of the monitoring applications that we en- those that use the streaming facilities to record persistent state or countered had a need for archival storage, the system-level support views in shared tables, and at the same time use the OLTP fa- for this was limited and ad hoc. That is, the systems were largely cilities to display a representation or summary of this state [10]. Obviously, one would want the displayed representation to show a consistent state of the world. Examples here include dashboards with multiple summary displays or leaderboards that show aggre- gate statistics derived from the shared persistent state. We describe a detailed example below. 1.1 A Motivating Example One application domain that benefits greatly from a hybrid sys- tem such as S-Store is leaderboard maintenance. For example, con- sider an American Idol-like TV show, in which a number of can- 1 defined correctness guarantees. Our approach to building such a system is to start with a fully transactional OLTP main-memory database system and to integrate additional streaming functionality on top of it. By doing so, we are able to leverage infrastructure that already addresses many of the implementation complexities of transaction processing. Also, this choice is very natural, since streaming systems largely run in main memory to achieve low la- tency. More specifically, this work makes the following key contri- butions: Model. We define a novel, general-purpose computational model that allows us to seamlessly mix streaming transactions with ordi- nary OLTP transactions. Stream processing adds additional seman- tics to an OLTP engine’s operating model. In particular, stream pro- Figure 1: Leaderboard Maintenance Workflow cessing introduces the notion of order to the transaction mix. That didates are presented to viewers for them to vote for the candidate is, it is possible to say that one transaction must precede another, that they find the most appealing. Each viewer may cast a single something that is missing from the non-deterministic semantics of vote via text message. Suppose that a preferential voting scheme a standard transaction model. Further, since streams are unbounded is used, where the candidate with the fewest number of votes will and arrive on a continuous basis, there is a need to add the neces- be removed from the running every 1000 votes, as it has become sary primitives for bounding computation on streams such as batch- clear that s/he is the least popular. When this candidate is removed, based processing [6, 18] and windowing [16, 8]. Finally, stream- votes submitted for him or her will be deleted, effectively returning ing transactions support a push-based processing model, whereas the votes to the people who cast them. Those votes may then be re- OLTP transactions access state in a pull-based manner. Our hybrid submitted for any of the remaining candidates. This continues until model provides a uniform way to represent and access state for all a single winner is declared. During the course of the voting, each transactions. incoming vote needs to be validated and recorded. Furthermore, Architecture and Implementation. We show how such a hybrid several leaderboards are maintained: one representing the top-3 computational model can be cleanly and efficiently implemented candidates, another for the bottom-3 candidates, and a third one on top of a state-of-the-art main-memory

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 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