Presented by Dr. Greg Speegle April 12, 2013.  Two-phase commit slow relative to local transaction processing  CAP Theorem  Option 1: Reduce availability.

Slides:



Advertisements
Similar presentations
Remus: High Availability via Asynchronous Virtual Machine Replication
Advertisements

1 Lecture 11: Transactions: Concurrency. 2 Overview Transactions Concurrency Control Locking Transactions in SQL.
Principles of Transaction Management. Outline Transaction concepts & protocols Performance impact of concurrency control Performance tuning.
Calvin : Fast Distributed Transactions for Partitioned Database
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture X: Transactions.
Transaction.
Database Systems, 8 th Edition Concurrency Control with Time Stamping Methods Assigns global unique time stamp to each transaction Produces explicit.
Chapter 6 Process Synchronization: Part 2. Problems with Semaphores Correct use of semaphore operations may not be easy: –Suppose semaphore variable called.
Chapter 13 (Web): Distributed Databases
Quiz 2 Review / F2014.
NoSQL Databases: MongoDB vs Cassandra
CMPT Dr. Alexandra Fedorova Lecture X: Transactions.
ICS 421 Spring 2010 Transactions & Concurrency Control (i) Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa.
What Should the Design of Cloud- Based (Transactional) Database Systems Look Like? Daniel Abadi Yale University March 17 th, 2011.
Transaction Management Overview R & G Chapter 16 There are three side effects of acid. Enhanced long term memory, decreased short term memory, and I forget.
Overview Distributed vs. decentralized Why distributed databases
Chapter 8 : Transaction Management. u Function and importance of transactions. u Properties of transactions. u Concurrency Control – Meaning of serializability.
All of ERD (Ch 3) plus: – Class/subclass relationships – Inheritance – Specialization – Generalization – Category.
1 © Prentice Hall, 2002 Chapter 13: Distributed Databases Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
Database System Architectures  Client-server Database System  Parallel Database System  Distributed Database System Wei Jiang.
Distributed Database and Replication. Distributed Database A logically interrelated collection of shared data and a description of this data physically.
Take An Internal Look at Hadoop Hairong Kuang Grid Team, Yahoo! Inc
Database Replication. Replication Replication is the process of sharing information so as to ensure consistency between redundant resources, such as software.
Quiz 2 Review.
Replication and Consistency. Reference The Dangers of Replication and a Solution, Jim Gray, Pat Helland, Patrick O'Neil, and Dennis Shasha. In Proceedings.
1 Moshe Shadmon ScaleDB Scaling MySQL in the Cloud.
Chapterb19 Transaction Management Transaction: An action, or series of actions, carried out by a single user or application program, which reads or updates.
Replication March 16, Replication What is Replication?  A technique for increasing availability, fault tolerance and sometimes, performance 
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 12 Distributed Database Management Systems.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Data Versioning Lecturer.
Consistent and Efficient Database Replication based on Group Communication Bettina Kemme School of Computer Science McGill University, Montreal.
Replicated Databases. Reading Textbook: Ch.13 Textbook: Ch.13 FarkasCSCE Spring
1 Concurrency Control II: Locking and Isolation Levels.
Preventive Replication in Database Cluster Esther Pacitti, Cedric Coulon, Patrick Valduriez, M. Tamer Özsu* LINA / INRIA – Atlas Group University of Nantes.
Transactions and Locks A Quick Reference and Summary BIT 275.
Distributed Databases DBMS Textbook, Chapter 22, Part II.
1 Distributed Databases BUAD/American University Distributed Databases.
Databases Illuminated
Computer Science Lecture 13, page 1 CS677: Distributed OS Last Class: Canonical Problems Distributed synchronization and mutual exclusion Distributed Transactions.
Computer Science Lecture 13, page 1 CS677: Distributed OS Last Class: Canonical Problems Election algorithms –Bully algorithm –Ring algorithm Distributed.
MBA 664 Database Management Systems Dave Salisbury ( )
Chapter 4 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University Building Dependable Distributed Systems.
1 Concurrency Control Lecture 22 Ramakrishnan - Chapter 19.
Transaction Management Overview. Transactions Concurrent execution of user programs is essential for good DBMS performance. – Because disk accesses are.
R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou.
Systems Research Barbara Liskov October Replication Goal: provide reliability and availability by storing information at several nodes.
Multidatabase Transaction Management COP5711. Multidatabase Transaction Management Outline Review - Transaction Processing Multidatabase Transaction Management.
3 Database Systems: Design, Implementation, and Management CHAPTER 9 Transaction Management and Concurrency Control.
Distributed File System. Outline Basic Concepts Current project Hadoop Distributed File System Future work Reference.
Computer Science Lecture 13, page 1 CS677: Distributed OS Last Class: Canonical Problems Election algorithms –Bully algorithm –Ring algorithm Distributed.
Distributed databases A brief introduction with emphasis on NoSQL databases Distributed databases1.
1 Concurrency Control. 2 Why Have Concurrent Processes? v Better transaction throughput, response time v Done via better utilization of resources: –While.
CalvinFS: Consistent WAN Replication and Scalable Metdata Management for Distributed File Systems Thomas Kao.
CSCI5570 Large Scale Data Processing Systems
Slide credits: Thomas Kao
Alternative system models
CPS 512 midterm exam #1, 10/7/2016 Your name please: ___________________ NetID:___________ /60 /40 /10.
CSCI5570 Large Scale Data Processing Systems
Introduction to NewSQL
Transaction Management
EECS 498 Introduction to Distributed Systems Fall 2017
Transaction Management
Chapter 10 Transaction Management and Concurrency Control
EEC 688/788 Secure and Dependable Computing
Discretized Streams: A Fault-Tolerant Model for Scalable Stream Processing Zaharia, et al (2012)
EEC 688/788 Secure and Dependable Computing
Transaction Management
Transactions in Distributed Systems
Distributed Databases
Presentation transcript:

Presented by Dr. Greg Speegle April 12, 2013

 Two-phase commit slow relative to local transaction processing  CAP Theorem  Option 1: Reduce availability  Option 2: Reduce consistency  Goal: Provide availability and consistency by changing transaction semantics

 Normal transaction execution  Submit SQL statements  Subsequent operations dependent on results  Deterministic transaction execution  Submit all requests before start  Example: Auto-commit  Difficult for dependent execution

 Sequencing Layer  Per replica  Creates universal transaction execution order  Scheduling Layer  Per data store  Executes transactions consistently with order  Storage Layer  CRUD interface

 Dataset partitioned  Partitions are replicated  One copy of each partition forms replica  All replicas of one partition form replication group  Master/slave within replication group (for asynchronous replication)

 Requests (deterministic transaction) submitted locally  Epoch – 10ms group of requests  Asynchronous replication – master receives all requests & determines order  Synchronous replication – Paxos determines order  Batch sent to scheduler

 Logical concurrency control & recovery (e.g., no TIDs)  Lock manager distributed (lock only keys stored locally)  Strict 2PL with changes:  If t0 and t1 conflict and t0 precedes t1 in sequence order, t0 locks before t1  All lock requests by transaction processed together in sequence order

 Transaction executes after all locks acquired  Read/Write set analysis Local vs Remote Read-only nodes are passive participants Write nodes are active participants  Local Reads  Distribute reads to active participants  Collect remote read results  Apply local writes

 Deadlock Free (acyclic waits-for graph)  Dependent Transactions  Read-only reconnaissance query generates read set  Transaction executed with resulting read/write locks  Re-execute if changes  Maximum conflict footprint under 2PL

 Disk I/O problem  Pause t0 when I/O required  A t1 can “jump ahead” of t0 (get conflicting lock before t0)  Solution: Delay t0, but request data  So t1 may precede t0 in sequence (assume) and execution

 Logging requires only ordered transactions to restore after failure  At checkpoint time (global epoch time)  Keep two versions of data, before & after  Transaction access appropriate data  After all “before” transactions terminate, flush all data  Throw away “before” version if “after” exists  20% throughput impact

 TPC-C benchmark (order placing)  Throughput scales linearly with number of machines  Per-node throughput appears asymptotic  At high contention, outperforms RDBMS  At low contention, worse performance

 Adds ACID capability to any CRUD system  Performs nearly linear scale-up  Requires deterministic transactions