Scale and Scalability Thoughts on Transactional Storage Systems. Liuba Shrira Brandeis University

Similar documents
) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

EECS 482 Introduction to Operating Systems

Distributed System. Gang Wu. Spring,2018

PRIMARY-BACKUP REPLICATION

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

Consistency in Distributed Systems

Overview of Transaction Management

Workshop Report: ElaStraS - An Elastic Transactional Datastore in the Cloud

Motivating Example. Motivating Example. Transaction ROLLBACK. Transactions. CSE 444: Database Internals

Transactions. ACID Properties of Transactions. Atomicity - all or nothing property - Fully performed or not at all

Concurrency Control & Recovery

Announcements. Transaction. Motivating Example. Motivating Example. Transactions. CSE 444: Database Internals

Chapter 22. Transaction Management

CSE 444: Database Internals. Lectures 13 Transaction Schedules

Database Management System

Databases - Transactions

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Introduction to Transaction Management

Transactions. A Banking Example

Transaction Management. Pearson Education Limited 1995, 2005

Announcements. Motivating Example. Transaction ROLLBACK. Motivating Example. CSE 444: Database Internals. Lab 2 extended until Monday

The transaction. Defining properties of transactions. Failures in complex systems propagate. Concurrency Control, Locking, and Recovery

Topics. File Buffer Cache for Performance. What to Cache? COS 318: Operating Systems. File Performance and Reliability

Database Management Systems

Consistency and Scalability

COMP3151/9151 Foundations of Concurrency Lecture 8

ATOMIC COMMITMENT Or: How to Implement Distributed Transactions in Sharded Databases

Lecture X: Transactions

Introduction to Databases, Fall 2005 IT University of Copenhagen. Lecture 10: Transaction processing. November 14, Lecturer: Rasmus Pagh

CONCURRENCY CONTROL, TRANSACTIONS, LOCKING, AND RECOVERY

Topics in Reliable Distributed Systems

CPS 512 midterm exam #1, 10/7/2016

Causal Consistency and Two-Phase Commit

What are Transactions? Transaction Management: Introduction (Chap. 16) Major Example: the web app. Concurrent Execution. Web app in execution (CS636)

CS /15/16. Paul Krzyzanowski 1. Question 1. Distributed Systems 2016 Exam 2 Review. Question 3. Question 2. Question 5.

0: BEGIN TRANSACTION 1: W = 1 2: X = W + 1 3: Y = X * 2 4: COMMIT TRANSACTION

Transaction Management: Introduction (Chap. 16)

Transaction Management & Concurrency Control. CS 377: Database Systems

COURSE 1. Database Management Systems

Introduction. Storage Failure Recovery Logging Undo Logging Redo Logging ARIES

Recoverability. Kathleen Durant PhD CS3200

Distributed Systems COMP 212. Revision 2 Othon Michail

6.830 Lecture Recovery 10/30/2017

CS122 Lecture 15 Winter Term,

Lecture 14: Transactions in SQL. Friday, April 27, 2007

Intro to DB CHAPTER 15 TRANSACTION MNGMNT

Replication. Feb 10, 2016 CPSC 416

Distributed Data Management Transactions

Concurrency Control In Distributed Main Memory Database Systems. Justin A. DeBrabant

Orphans, Corruption, Careful Write, and Logging, or Gfix says my database is CORRUPT or Database Integrity - then, now, future

CSE 444: Database Internals. Lectures Transactions

In This Lecture. Transactions and Recovery. Transactions. Transactions. Isolation and Durability. Atomicity and Consistency. Transactions Recovery

Introduction to Database Systems CSE 444. Transactions. Lecture 14: Transactions in SQL. Why Do We Need Transactions. Dirty Reads.

MySQL Replication Options. Peter Zaitsev, CEO, Percona Moscow MySQL User Meetup Moscow,Russia

CS5412: TRANSACTIONS (I)

TRANSACTIONS AND ABSTRACTIONS

CSC 261/461 Database Systems Lecture 20. Spring 2017 MW 3:25 pm 4:40 pm January 18 May 3 Dewey 1101

XI. Transactions CS Computer App in Business: Databases. Lecture Topics

TRANSACTION PROPERTIES

Transactions. Kathleen Durant PhD Northeastern University CS3200 Lesson 9

Performance and Forgiveness. June 23, 2008 Margo Seltzer Harvard University School of Engineering and Applied Sciences

DATABASE TRANSACTIONS. CS121: Relational Databases Fall 2017 Lecture 25

6.830 Lecture Recovery 10/30/2017

Problems Caused by Failures

Goal A Distributed Transaction

Introduction to Distributed * Systems

Databases. Laboratorio de sistemas distribuidos. Universidad Politécnica de Madrid (UPM)

CSE 344 MARCH 21 ST TRANSACTIONS

Lectures 8 & 9. Lectures 7 & 8: Transactions

TWO-PHASE COMMIT ATTRIBUTION 5/11/2018. George Porter May 9 and 11, 2018

Exam 2 Review. October 29, Paul Krzyzanowski 1

Introduction to Data Management CSE 344

Distributed Systems. Day 13: Distributed Transaction. To Be or Not to Be Distributed.. Transactions

Large-Scale Key-Value Stores Eventual Consistency Marco Serafini

Database Management System

sinfonia: a new paradigm for building scalable distributed systems

Heckaton. SQL Server's Memory Optimized OLTP Engine

5/17/17. Announcements. Review: Transactions. Outline. Review: TXNs in SQL. Review: ACID. Database Systems CSE 414.

6.830 Lecture 15 11/1/2017

Concurrency Control & Recovery

CS514: Intermediate Course in Computer Systems. Lecture 38: April 23, 2003 Nested transactions and other weird implementation issues

CSC 261/461 Database Systems Lecture 24

Introduction to Transaction Management

Database Systems CSE 414

COSC344 Database Theory and Applications. Lecture 21 Transactions

The Concurrent Candy Question Bowl. The 2 nd Database Tour

Lecture 18: Reliable Storage

A transaction is a sequence of one or more processing steps. It refers to database objects such as tables, views, joins and so forth.

Banking Example (Once Again) CSE 486/586 Distributed Systems Concurrency Control Properties of Transactions: ACID. Transaction. Performance?

A Practical Scalable Distributed B-Tree

T ransaction Management 4/23/2018 1

SQL: Transactions. Announcements (October 2) Transactions. CPS 116 Introduction to Database Systems. Project milestone #1 due in 1½ weeks

Fault tolerance with transactions: past, present and future. Dr Mark Little Technical Development Manager, Red Hat

CompSci 516: Database Systems

Transaction Management Overview. Transactions. Concurrency in a DBMS. Chapter 16

Reminder from last time

Data Modeling and Databases Ch 14: Data Replication. Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich

Using MVCC for Clustered Databases

Transcription:

Scale and Scalability Thoughts on Transactional Storage Systems Liuba Shrira Brandeis University Woman s Workshop, SOSP 2007

Stuff about me Brandeis professor, MIT/CSAIL affiliate, more stuff about me: www.cs.brandeis.edu/~liuba Brandeis is hiring - come talk to me!

Transactions: Not Just for Databases Anymore Hides complexity Intermediate states from failures Intermediate states from concurrency

Thesis of This Talk Transactions no longer scary and complex Area is exciting You should work on it too (Bias, what bias?)

DB view of Transactions

Traditional Systems View of Transactions transactional toenail clipper

Things Change Long-lived data services commonplace For example, now in data centers Reliability now essential Try explain best-effort to Grandma Ad-Hoc reliability is no bargain

More Things Change Transactional properties deconstructed into separable properties Efficient specialized techniques for individual properties For example, atomic metadata for standard file systems (Ext3), or transactional ZFS SOSP 07 papers: transactional memory (no durability), Sinfonia (in memory), I/O shepherding (no CC)

Even More Things Change Changes in technology have eliminated the need for some of the most complex mechanisms This is the focus of my talk. First, some definitions

Transactions ACID Atomicity (all-or-nothing) Consistency (invariants observed) Isolation (no visible intermediate states) Durability (committed effects stay that way) Invented in the 70 s by Jim Gray, Dave Lomet..

Mechanisms Atomicity Write-ahead log (disk-based) After crash or abort, roll back to good state Isolation (concurrency control) Two-phase locks Optimistic Type-specific mechanisms

More Mechanisms Durability with good performance Make log sequential (cheap to commit) Update in-place in the background no-force Sometimes need to steal Write uncommitted data to disk Complicates recovery

Even More Mechanisms Two-Phase Commit Distributed algorithm Ensures all nodes agree to commit transaction Two rounds of messages Coordinator to participants & vice-versa Window of vulnerability System hangs if coordinator crashes at wrong moment

Transaction systems were complex Because - the name of the game was Performance Still is - but the game is changing..

Old School: disk-oriented solutions STEAL memory disk

Today: system fits in main memory No STEAL memory disk

Old-School: Resource Utilization Goal: better use of single-node resources Multiprogramming I/O concurrency If one transaction blocks, run another Concurrent B-Trees Avoids blocking Complex type-specific recovery

Today s Resource Utilization No disk stalls (system fits in memory) Snapshot Isolation Long read transactions don t conflict Can run many transactions to completion No need for multi-threading No concurrent B-Trees No type-specific recovery Much simpler

On-grid Computing and Scalability Old School Scale with bigger nodes 70s: SMPs 80s: shared disk architectures Today Scale by adding nodes Must partition storage Rebalance on-line

Scalability Today Scalability natural for systems that use replication Mechanisms exist for adding, removing nodes & resources Larger nodes still useful Use less power Multicore + transactional memory? (b.t.w. invented by Herlihy&Moss once Barbara s students..) Potentially simpler model if can partition interesting source of new problems

High Availability Old School Afterthought, glued on Off-site backups Today Basic requirement Hot-standby part of basic architecture

More Availability Built-in replication Eliminates need for disk-based commit log Instead, replicate the log, improve performance! (e.g. Harp SOSP 92) Exploit replicas for peering, load-balancing Newproblems

Fear of Commitment Old-School: reject 2-phase commit What if coordinator fails? (All block) Security + autonomy issue Today, still heresy for some, but Coordinator & participants live in data center Data center can be held responsible (billable) Replication: coordinator & participants highly available (see Sinfonia)

Large-Scale Systems for the People In the old days, only privileged researchers could play with scalable systems Today, there are playgrounds for all Emulab PlanetLab Google/IBM new Cloud Computing?

New Technology Diet Transaction systems are shedding complexity weight You can now use transactions in your high-performance large-scale systems And evaluate their performance in Internet gyms

Transactional systems today: publishable.. SOSP 07: Sinfonia.. Commit Barrier scheduling.. Transactional memory.. I/O Shepherding..

.. And putting my money where my mouth is Transactional cooperative caching in a WAN (OOPSLA 03), Transactional cooperative caching for disconnected clients (ECOOP 05), Transactional snapshots (USENIX 06), Typed transactional leasing (in review)

High-order bit: Transactions are useful less complex than you may think Area is exciting You should pay attention