Distributed Data Management
|
|
- Leslie Carroll
- 5 years ago
- Views:
Transcription
1 Lecture Distributed Data Management Chapter 7: Lazy Replication Erik Buchmann IPD, Forschungsbereich Systeme der Informationsverwaltung
2 Synchronous vs. Asynchronous Updates Synchronous (eager replication) within transaction Asynchronous (lazy replication) separate transaction to update replicas no communication to remote sites (e.g., for locking or concurrency control) before commit is processed updates for remote sites are independent transactions that are processed after commiting and releasing all locks Erik Buchmann DDM: Lazy Replication 2
3 Synchronous Updates of Replicas Bad scalability w.r.t. the number of nodes each transaction locks quorum or primary copy With synchronous updates, all TA must wait for the slowest node Failure of nodes similar problem. Transactions: T 1 : w[a] w[b] c T 2 : w[b] c T 3 : r[a] r[b] c a Possible global execution plan: w 1 [a X ] w 1 [a Y ] w 1 [a Z ] w 1 [b Y ] w 1 [b Z ] c 1 w 2 [b Y ] w 2 [b Z ] c 2 r 3 [a Z ] r 3 [b Z ] c 3 X Erik Buchmann DDM: Lazy Replication 3 T2 Y b a Z T2 T3
4 Asynchronous Updates of Replicas Lazy replication underlying idea: if update has been successful on one node, it will be successful on all other nodes as well transaction may already commit without having updated all replicas Transactions: T 1 : w[a] w[b] c T 2 : w[b] c T 3 : r[a] r[b] c a Possible global execution plan: w 1 [a X ] w 1 [b Y ] c 1 w 2 [b Y ] c 2 w 2 [b Z ] w 1 [a Y ] w 1 [a Z ] w 1 [b Z ] r 3 [a Z ] r 3 [b Z ] c 3 X Erik Buchmann DDM: Lazy Replication 4 T2 Y b a Z T2 T3
5 Outline Lazy Updates performance tends to be better than eager (but not by orders of magnitude, depending on the distribution scheme of replicas) serializability typically not guaranteed Our topic in what follows: lazy protocols guaranteeing serializability. a)protocols making assumptions regarding the arrangement of replicas. b)hybrid protocol without such assumptions that is lazy whenever possible. Erik Buchmann DDM: Lazy Replication 5
6 System Model/Assumptions Each data object has a primary site. primary copy, secondary copies/replicas. Transaction has originating site. Transaction can only modify data objects whose primary site = originating site; but may read any data object. Nodes (sites) use 2PL. Network is reliable; delivery of messages in FIFO order. Primary subtransaction, secondary subtransaction. Erik Buchmann DDM: Lazy Replication 6
7 Copy Graph: nodes sites. Copy Graph Edge from si to s j iff primary copy of a data object is on s i, and secondary copy on s j. Example: three sites, two data objects a and b. a s1 s3 s2 Backedges := set of edges s.t. deletion of such edges makes the graph cycle-free. Is it possible to construct a replication scenario where an acyclic graph cannot be constructed? b a Erik Buchmann DDM: Lazy Replication 7
8 Non-serializable Execution a s1 T2 s2 b a s3 T2 T3 Three transactions: on Site 1 updates a. T 2 on Site 2 reads a and writes b. T 3 on Site 3 reads a and b. Lazy propagation of updates possible sequence of executions: on Site 2: w 1 [a] r 2 [a] w 2 [b] on Site 3: w 2 [b] r 3 [a] r 3 [b] w 1 [a] Erik Buchmann DDM: Lazy Replication 8
9 and IPD, Forschungsbereich Systeme der Informationsverwaltung
10 Protocol (1) Directed Acyclic Graph (Without Timestamps) Copy graph is cycle-free and has no duplicate paths from primary to secondary copies (cycle-free when deleting edge directions) Generate Tree T from copy graph: s i child of s j. s i successor of s j in T s1 a s3 s1 a s3 s2 b a s2 b a Erik Buchmann DDM: Lazy Replication 10
11 Protocol (2) Node forwards update transactions to children in T. Commit order: Order in which transactions arrive at node = order in which transactions are forwarded to children Commit order + cycle-free tree without duplicate paths ensure serializability! a Now impossible: w 1 [a X ] w 1 [b Y ] c 1 w 2 [b Y ] c 2 w 2 [b Z ] w 1 [a Y ] w 1 [a Z ] w 1 [b Z ] r 3 [a Z ] r 3 [b Z ] c 3 X Erik Buchmann DDM: Lazy Replication 11 T2 Y b a Z T2 T3
12 Local Deadlocks with Local deadlocks feasible, i.e., transaction does not necessarily commit. Local deadlock feasible because of conflict of T with transaction Tx that has not occurred at other sites. remember: read operations are local! interaction with transaction that has already occurred at other sites. no handshaking, only commit order is given. But local transaction must commit. Thus, victim selection policy should be fair, e.g.: last transaction. Erik Buchmann DDM: Lazy Replication 12
13 Local Deadlock Example Replication scheme that might cause deadlocks: a c s1 s3 s2 : r 1 (c) w 1 (c) w 1 (a) T 2 : r 2 (a) r 2 (c) w 2 (b) Possible execution at s2: w 1 (c) r 2 (a) r 2 (c) w 1 (a) b a c (remember: uses Strict 2PL only) Erik Buchmann DDM: Lazy Replication 13
14 Further Problem With Transaction might be routed to nodes that are not relevant. delays, message overhead, processing costs Example: := w[a] w[c] a d s1 s3 c b s2 b a Erik Buchmann DDM: Lazy Replication 14
15 Protocol - - Timestamps - Protocol DAG with Timestamps Propagate update transactions along the edges of the copy graph unlike, duplicate paths are allowed results can be sent directly to all copies Primary subtransactions have timestamp that specify execution order. challenge: decentralized generation of timestamps that are globally correct Erik Buchmann DDM: Lazy Replication 15
16 Timestamps Acyclicity results in total order of sites; si < s i+k - - Timestamps - Protocol In the following: three notations for timestamps that build on each other local timestamp counter, timestamp of a site, timestamp of a transaction. Erik Buchmann DDM: Lazy Replication 16
17 Local Timestamp Counter tuple corresponding to Node si : (s i, LTS i ) LTS = Local Timestamp Counter; counts the primary subtransactions committed there. a s1 T2 s2 b a (s1,0),(s2,0),(s3,0) (s1,1) (s2,1) (s3,1)< independentfrom the orderthe updates arrive;localtim estam ps are notsuficcientforserializability s3 T3 T2 Erik Buchmann DDM: Lazy Replication 17
18 Site Timestamps Timestamp of a site si : TS(s i ) - - Timestamps - Protocol vector of tuples (s i, LTS i ), a tuple for s i and further tuples for predecessors of s i in copy graph. Important: tuple in vector ordered by sites. Timestamp of a site reflects how many primary subtransactions and how many secondary subtransactions have committed there Erik Buchmann DDM: Lazy Replication 18
19 Example for Site Timestamps a - - Timestamps - Protocol s1 1 Site Timestamp 2 Site Timestamp s1 <(s1, 0)> s1 <(s1,1)> s2 <(s1, 0), (s2, 0)> s2 <(s1,0), (s2,0)> 3 Tx Site Timestamp s1 <(s1, 1)> s2 <(s1, 1), (s2, 0)> 4 T2 s2 b a s3 Site Timestamp s1 <(s1, 1)> s2 <(s1, 1), (s2, 1)> Erik Buchmann DDM: Lazy Replication 19
20 Transaction Timestamps Timestamp of a transaction: TS(Ti ) - - Timestamps - Protocol timestamp of the site of the primary transaction immediately after commit. Example: a s1 s3 T3 : <(s 1, 1)> T2: <(s 1, 1), (s 2, 1)> T3: <(s 1, 1), (s 3, 1)> T2 s2 b a Note: tuples where LTS = 0 are omitted Erik Buchmann DDM: Lazy Replication 20
21 Order of Transaction Timestamps - - Timestamps - Protocol X is a common prefix Global serializability: Order of timestamps must reflect commit order. Lexicographic ordering < of timestamps: TS 1 <TS 2 : TS 1 is prefix of TS 2, or TS 1 =X (s i, LTS i ) Y 1, TS 2 =X (s j, LTS j ) Y 2, and a) s i >s j, or b) s i =s j, and LTS i <LTS j. Erik Buchmann DDM: Lazy Replication 21
22 Timestamp Order Explanation Order of timestamps shall reflect commit order. - - Timestamps - Protocol TS1 <TS 2 TS 1 is prefix of TS 2. Example: <(s 1, 1)> describes state before <(s 1, 1), (s 2, 1)>. TS1 <TS 2 TS 1 =X (s i, LTS i ) Y 1, TS 2 =X (s j, LTS j ) Y 2, and s i =s j, und LTS i <LTS j. Example: <(s 1, 1)> describes state before <(s 1, 2)>. Hence, <(s 1,1), (s 3,1)> < <(s 1,1), (s 2,1)>. Erik Buchmann DDM: Lazy Replication 22
23 Data Structures - - Timestamps - Protocol Data structure for each node: timestamp vector of the node timestamp of the last committed secondary subtransaction + tuple of the node, waiting queues one for each predecessor. Erik Buchmann DDM: Lazy Replication 23
24 Protocol for Primary Transaction - - Timestamps - Protocol Primary transaction commits at Node s i : 1. increment LTS i (Local Timestamp Counter), 2. TS(T i ) := TS(s i ) 3. Send secondary (sub-)transaction to children of s i. Timestamp of a site reflects how many primary subtransactions and how many secondary subtransactions have committed there. Erik Buchmann DDM: Lazy Replication 24
25 Protocol for Secondary Transaction - - Timestamps - Protocol One waiting queue for each direct predecessor of the site in the copy graph. Requirements: only one secondary transaction at a time at one site, but any number of primary transactions at least one transaction in each queue Why is this important? Choose transaction from queues with minimal timestamp Idle nodes should commit dummy transactions from time to time to fill the queues Erik Buchmann DDM: Lazy Replication 25
26 - - Timestamps - Protocol Continuation of Example has Timestamp (s 1, 1), a s1 T2 b a T2 has Timestamp (s 1, 1), (s 2, 1). (When T 1 commits on s 2, the site timestamp is set to (s 1, 1), (s 2, 0).) Site s3 : timestamp of T 1 is prefix of the one of T 2. T 1 is executed there before T 2. s2 s3 T2 Erik Buchmann DDM: Lazy Replication 26
27 Extension to Ensure Progress - - Timestamps - Protocol We can construct graphs where some TAs are never executed s1 s2 s3 (s 2, i) < (s 1, 1) for any i; thus (s 1, 1) would be never processed Solution: add a global epoch number to the timestamp, process TA with smaller epoch first Erik Buchmann DDM: Lazy Replication 27
28 Back-Edge IPD, Forschungsbereich Systeme der Informationsverwaltung
29 Protocol Motivation Copy graph must be acyclic for and protocols. Example: two sites s 1 and s 2. s 1 holds primary copy of a and copy of b, s 2 vice versa. T 1 at Node s 1 reads b and updates a, T 2 at Node s 2 reads a and updates b. Both transactions execute concurrently and commit. No serializability. Erik Buchmann DDM: Lazy Replication 29
30 Protocol Overview Hybrid: for some replicas eager updates, for other ones lazy. Can be described both as extension of and. Gdag results from G by removing backedges. s1 s3 s2 Erik Buchmann DDM: Lazy Replication 30
31 Terminology Backedge from si to s j. s j is predecessor of s i in G dag. Ti primary subtransaction with node s i. Backedge subtransactions : transactions S 1,..., S j at predecessor s i1,..., s ij of s i in T. predecessorofs3 s1 s3 Tx writing b s2 Erik Buchmann DDM: Lazy Replication 31
32 Protocol 1. After execution of T i, S 1 is sent to s 1 no commit, locks are not released. 2. S 2,..., S j as before, but without commit and without releasing locks. 3. 2PC for T i, S 1,..., S j. 4. Remaining secondary subtransactions: lazy, as in. lock b write b unlock b s1 lock b write b unlock b s2 Erik Buchmann DDM: Lazy Replication 32 s3 lock b write b unlock b
33 Protocol Discussion No magic here. Better than primary-copy schemes, according to simulations. upto Factor 5, if there are many readers and few backedges. Implementation on top of commercial DBMSs relatively easy. Erik Buchmann DDM: Lazy Replication 33
34 Literature Yuri Breitbart et al.: Update Propagation Protocols for Replicated Databases. Proceedings SIGMOD 99. Erik Buchmann DDM: Lazy Replication 34
Distributed Data Management
Lecture Data Management Chapter 1: Erik Buchmann buchmann@ipd.uka.de IPD, Forschungsbereich Systeme der Informationsverwaltung of this Chapter are databases and distributed data management not completely
More informationGoal of Concurrency Control. Concurrency Control. Example. Solution 1. Solution 2. Solution 3
Goal of Concurrency Control Concurrency Control Transactions should be executed so that it is as though they executed in some serial order Also called Isolation or Serializability Weaker variants also
More informationConcurrency Control. Chapter 17. Comp 521 Files and Databases Fall
Concurrency Control Chapter 17 Comp 521 Files and Databases Fall 2012 1 Conflict Serializable Schedules Recall conflicts (WR, RW, WW) were the cause of sequential inconsistency Two schedules are conflict
More informationCS 347 Parallel and Distributed Data Processing
CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 5: Concurrency Control Topics Data Database design Queries Decomposition Localization Optimization Transactions Concurrency control Reliability
More informationConcurrency Control. Chapter 17. Comp 521 Files and Databases Spring
Concurrency Control Chapter 17 Comp 521 Files and Databases Spring 2010 1 Conflict Serializable Schedules Recall conflicts (WW, RW, WW) were the cause of sequential inconsistency Two schedules are conflict
More informationConcurrency Control CHAPTER 17 SINA MERAJI
Concurrency Control CHAPTER 17 SINA MERAJI Announcement Sign up for final project presentations here: https://docs.google.com/spreadsheets/d/1gspkvcdn4an3j3jgtvduaqm _x4yzsh_jxhegk38-n3k/edit#gid=0 Deadline
More informationCS 347 Parallel and Distributed Data Processing
CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 5: Concurrency Control Topics Data Database design Queries Decomposition Localization Optimization Transactions Concurrency control Reliability
More informationSerializability of global history
Serializability of global history Global history serializable? r1(a) r4(c) w2(d) r3(d) w3(a) c3 r2(d) c2 c3 w1(b) c1 w4(b) w4(e) c4 c4 s1: r1(a) w3(a) c3 w1(b) c1 w4(b) c4 s2: r4(c) w2(d) r3(d) c3 r2(e)
More informationTransaction Management and Concurrency Control. Chapter 16, 17
Transaction Management and Concurrency Control Chapter 16, 17 Instructor: Vladimir Zadorozhny vladimir@sis.pitt.edu Information Science Program School of Information Sciences, University of Pittsburgh
More informationCSE 444: Database Internals. Lectures 13 Transaction Schedules
CSE 444: Database Internals Lectures 13 Transaction Schedules CSE 444 - Winter 2018 1 About Lab 3 In lab 3, we implement transactions Focus on concurrency control Want to run many transactions at the same
More informationTRANSACTION MANAGEMENT
TRANSACTION MANAGEMENT CS 564- Spring 2018 ACKs: Jeff Naughton, Jignesh Patel, AnHai Doan WHAT IS THIS LECTURE ABOUT? Transaction (TXN) management ACID properties atomicity consistency isolation durability
More informationCS54200: Distributed Database Systems
CS54200: Distributed Database Systems Timestamp Ordering 28 January 2009 Prof. Chris Clifton Timestamp Ordering The key idea for serializability is to ensure that conflicting operations are not executed
More informationConcurrency Control. R &G - Chapter 19
Concurrency Control R &G - Chapter 19 Smile, it is the key that fits the lock of everybody's heart. Anthony J. D'Angelo, The College Blue Book Review DBMSs support concurrency, crash recovery with: ACID
More informationImplementing Isolation
CMPUT 391 Database Management Systems Implementing Isolation Textbook: 20 & 21.1 (first edition: 23 & 24.1) University of Alberta 1 Isolation Serial execution: Since each transaction is consistent and
More informationDistributed Databases Systems
Distributed Databases Systems Lecture No. 07 Concurrency Control Naeem Ahmed Email: naeemmahoto@gmail.com Department of Software Engineering Mehran Univeristy of Engineering and Technology Jamshoro Outline
More informationChapter 9: Concurrency Control
Chapter 9: Concurrency Control Concurrency, Conflicts, and Schedules Locking Based Algorithms Timestamp Ordering Algorithms Deadlock Management Acknowledgements: I am indebted to Arturas Mazeika for providing
More informationCSE 444: Database Internals. Lecture 25 Replication
CSE 444: Database Internals Lecture 25 Replication CSE 444 - Winter 2018 1 Announcements Magda s office hour tomorrow: 1:30pm Lab 6: Milestone today and due next week HW6: Due on Friday Master s students:
More informationConcurrency Control. Himanshu Gupta CSE 532 CC 1
Concurrency Control CSE 532 CC 1 Concurrency Control T1 T2 Tn DB CSE 532 CC 2 Overall Goal/Outline Problems that can arise in interleaving different transactions. Interleaving = Schedule. Define what are
More informationCSE 444: Database Internals. Lectures Transactions
CSE 444: Database Internals Lectures 13-14 Transactions CSE 444 - Spring 2014 1 Announcements Lab 2 is due TODAY Lab 3 will be released today, part 1 due next Monday HW4 is due on Wednesday HW3 will be
More informationOptimistic Concurrency Control. April 18, 2018
Optimistic Concurrency Control April 18, 2018 1 Serializability Executing transactions serially wastes resources Interleaving transactions creates correctness errors Give transactions the illusion of isolation
More informationConcurrency Control. [R&G] Chapter 17 CS432 1
Concurrency Control [R&G] Chapter 17 CS432 1 Conflict Serializable Schedules Two schedules are conflict equivalent if: Involve the same actions of the same transactions Every pair of conflicting actions
More informationConcurrency Control. Conflict Serializable Schedules. Example. Chapter 17
Concurrency Control Chapter 17 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Conflict Serializable Schedules Two schedules are conflict equivalent if: Involve the same actions of the
More informationConcurrency Control. Chapter 17. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1
Concurrency Control Chapter 17 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Conflict Schedules Two actions conflict if they operate on the same data object and at least one of them
More informationPhantom Problem. Phantom Problem. Phantom Problem. Phantom Problem R1(X1),R1(X2),W2(X3),R1(X1),R1(X2),R1(X3) R1(X1),R1(X2),W2(X3),R1(X1),R1(X2),R1(X3)
57 Phantom Problem So far we have assumed the database to be a static collection of elements (=tuples) If tuples are inserted/deleted then the phantom problem appears 58 Phantom Problem INSERT INTO Product(name,
More informationLecture 22 Concurrency Control Part 2
CMSC 461, Database Management Systems Spring 2018 Lecture 22 Concurrency Control Part 2 These slides are based on Database System Concepts 6 th edition book (whereas some quotes and figures are used from
More informationReview. Review. Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Lecture #21: Concurrency Control (R&G ch.
Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications Lecture #21: Concurrency Control (R&G ch. 17) Review DBMSs support ACID Transaction semantics. Concurrency control and Crash
More informationConcurrency Control! Snapshot isolation" q How to ensure serializability and recoverability? " q Lock-Based Protocols" q Other Protocols"
Concurrency Control! q How to ensure serializability and recoverability? q Lock-Based Protocols q Lock, 2PL q Lock Conversion q Lock Implementation q Deadlock q Multiple Granularity q Other Protocols q
More informationMulti-User-Synchronization
Chapter 10 Multi-User-Synchronization Database Systems p. 415/569 Why Run TAs Concurrently? We could run all TAs serially (one after the other) This would prevent all unwanted side effects However, this
More informationConcurrency Control. Data Base Management Systems. Inherently Concurrent Systems: The requirements
Concurrency Control Inherently Concurrent Systems: These are Systems that respond to and manage simultaneous activities in their external environment which are inherently concurrent and maybe broadly classified
More informationCSE 544 Principles of Database Management Systems. Alvin Cheung Fall 2015 Lecture 14 Distributed Transactions
CSE 544 Principles of Database Management Systems Alvin Cheung Fall 2015 Lecture 14 Distributed Transactions Transactions Main issues: Concurrency control Recovery from failures 2 Distributed Transactions
More informationOutline. Optimistic CC (Kung&Robinson) Carnegie Mellon Univ. Dept. of Computer Science Database Applications
Carnegie Mellon Univ. Dept. of Computer Science 15-415 - Database Applications Lecture #23: Alternative Concurrency Control Methods (R&G ch. 17) Faloutsos SCS 15-415 #1 Outline serializability; 2PL; deadlocks
More informationOptimistic Concurrency Control. April 13, 2017
Optimistic Concurrency Control April 13, 2017 1 Serializability Executing transactions serially wastes resources Interleaving transactions creates correctness errors Give transactions the illusion of isolation
More informationConcurrency control in Homogeneous Distributed Databases (2)
Concurrency control in Homogeneous Distributed Databases (2) Timestamp ordering Basic implementation Optimistic CC in distributed DB Distributed deadlock detection based on slides by Weikum / Vossen: Transactional
More informationConcurrency Control. Chapter 17. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke
Concurrency Control Chapter 17 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke Confict Serializable Schedules Two schedules are confict equivalent if: Involve the same actions of the same
More informationFine-Grained Lazy Replication with Strict Freshness and Correctness Guarantees
Department of Computer Science Institute of Information Systems Fine-Grained Lazy Replication with Strict Freshness and Correctness Guarantees Fuat Akal Can Türker Hans-Jörg Schek Torsten Grabs Yuri Breitbart
More informationChapter 5. Concurrency Control Techniques. Adapted from the slides of Fundamentals of Database Systems (Elmasri et al., 2006)
Chapter 5 Concurrency Control Techniques Adapted from the slides of Fundamentals of Database Systems (Elmasri et al., 2006) Chapter Outline Purpose of Concurrency Control Two-Phase Locking Techniques Concurrency
More informationDistributed Transaction Management. Distributed Database System
Distributed Transaction Management Advanced Topics in Database Management (INFSCI 2711) Some materials are from Database Management Systems, Ramakrishnan and Gehrke and Database System Concepts, Siberschatz,
More informationCS 448 Database Systems. Serializability Issues
CS 448 Database Systems Serializability Issues 1 Locking in B+ Trees How can we efficiently lock a particular leaf node? Btw, don t confuse this with multiple granularity locking! One solution: Ignore
More informationCS 541 Database Systems. Serializability Issues
CS 541 Database Systems Serializability Issues 1 Locking in B+ Trees! How can we efficiently lock a particular leaf node? " Btw, don t confuse this with multiple granularity locking!! One solution: Ignore
More informationAdvanced Databases Lecture 17- Distributed Databases (continued)
Advanced Databases Lecture 17- Distributed Databases (continued) Masood Niazi Torshiz Islamic Azad University- Mashhad Branch www.mniazi.ir Alternative Models of Transaction Processing Notion of a single
More informationChapter 6 Distributed Concurrency Control
Chapter 6 Distributed Concurrency Control Table of Contents Serializability Theory Taxonomy of Concurrency Control Algorithms Locking-Based Concurrency Control Timestamp-Based Concurrency Control Optimistic
More informationPage 1. Goals of Today s Lecture. The ACID properties of Transactions. Transactions
Goals of Today s Lecture CS162 Operating Systems and Systems Programming Lecture 19 Transactions, Two Phase Locking (2PL), Two Phase Commit (2PC) Finish Transaction scheduling Two phase locking (2PL) and
More informationIncluding Aborts in Serializability. Conflict Serializable Schedules. Recall Conflicts. Conflict Equivalent
Including Aborts in Serializability Conflict Serializable Schedules 31 32 Extend the definition of a serializable schedule to include aborts Serializable schedule: a schedule that is equivalent to some
More informationChapter 11 - Data Replication Middleware
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 11 - Data Replication Middleware Motivation Replication: controlled
More informationImportant Lessons. A Distributed Algorithm (2) Today's Lecture - Replication
Important Lessons Lamport & vector clocks both give a logical timestamps Total ordering vs. causal ordering Other issues in coordinating node activities Exclusive access to resources/data Choosing a single
More informationIntro to Transactions
Reading Material CompSci 516 Database Systems Lecture 14 Intro to Transactions [RG] Chapter 16.1-16.3, 16.4.1 17.1-17.4 17.5.1, 17.5.3 Instructor: Sudeepa Roy Acknowledgement: The following slides have
More informationLecture 7: Transactions Concurrency Control
Lecture 7: Transactions Concurrency Control February 18, 2014 CSEP 544 -- Winter 2014 1 Reading Material Main textbook (Ramakrishnan and Gehrke): Chapters 16, 17, 18 More background material: Garcia-Molina,
More informationMobile and Heterogeneous databases Distributed Database System Transaction Management. A.R. Hurson Computer Science Missouri Science & Technology
Mobile and Heterogeneous databases Distributed Database System Transaction Management A.R. Hurson Computer Science Missouri Science & Technology 1 Distributed Database System Note, this unit will be covered
More informationConcurrency. Consider two ATMs running in parallel. We need a concurrency manager. r1[x] x:=x-250 r2[x] x:=x-250 w[x] commit w[x] commit
DBMS ARCHITECTURE Concurrency Consider two ATMs running in parallel T1 T2 r1[x] x:=x-250 r2[x] x:=x-250 w[x] commit w[x] commit We need a concurrency manager Examples of interference T1: r[x=100] w[x:=600]
More informationTransactional Information Systems:
Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery Gerhard Weikum and Gottfried Vossen 2002 Morgan Kaufmann ISBN 1-55860-508-8 Teamwork is essential.
More informationDatabase Management System
Database Management System Lecture 9 Transaction, Concurrency Control * Some materials adapted from R. Ramakrishnan, J. Gehrke and Shawn Bowers Basic Database Architecture Database Management System 2
More informationLast Class Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications
Last Class Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications C. Faloutsos A. Pavlo Lecture#23: Concurrency Control Part 3 (R&G ch. 17) Lock Granularities Locking in B+Trees The
More informationIntroduction to Data Management CSE 344
Introduction to Data Management CSE 344 Lecture 21: Transaction Implementations CSE 344 - Winter 2017 1 Announcements WQ7 and HW7 are out Due next Mon and Wed Start early, there is little time! CSE 344
More informationConcurrency Control 9-1
Concurrency Control The problem of synchronizing concurrent transactions such that the consistency of the database is maintained while, at the same time, maximum degree of concurrency is achieved. Principles:
More informationTransaction in Distributed Databases
Transaction in Distributed Databases An Application view Example: Planning a conference trip / Budget:=1000; Trials:=1; ConfFee Go Select Conference Select Tutorials Compute Fee [Cost Budget] What ist
More informationPage 1. Goals of Todayʼs Lecture" Two Key Questions" Goals of Transaction Scheduling"
Goals of Todayʼs Lecture" CS162 Operating Systems and Systems Programming Lecture 19 Transactions, Two Phase Locking (2PL), Two Phase Commit (2PC)" Transaction scheduling Two phase locking (2PL) and strict
More informationDeadlock Prevention (cont d) Deadlock Prevention. Example: Wait-Die. Wait-Die
Deadlock Prevention Deadlock Prevention (cont d) 82 83 When there is a high level of lock contention and an increased likelihood of deadlocks Prevent deadlocks by giving each Xact a priority Assign priorities
More informationDatenbanksysteme II: Implementation of Database Systems Synchronization of Concurrent Transactions
Datenbanksysteme II: Implementation of Database Systems Synchronization of Concurrent Transactions Material von Prof. Johann Christoph Freytag Prof. Kai-Uwe Sattler Prof. Alfons Kemper, Dr. Eickler Prof.
More informationLast Class Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications
Last Class Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications C. Faloutsos A. Pavlo Lecture#23: Concurrency Control Part 2 (R&G ch. 17) Serializability Two-Phase Locking Deadlocks
More informationTransaction. Primary unit of work Well formed: Sequence of operations between begin and end (commit or abort)
Transaction Primary unit of work Well formed: Sequence of operations between begin and end (commit or abort) Concurrency needed in order to start multiple parallel transactions. 1 Serial and serializable
More informationLast Lecture. More Concurrency. Concurrency So Far. In This Lecture. Serialisability. Schedules. Database Systems Lecture 15
Last Lecture More Concurrency Database Systems Lecture 15 Concurrency Locks and resources Deadlock Serialisability Schedules of transactions Serial & serialisable schedules For more information: Connolly
More informationWhat are Transactions? Transaction Management: Introduction (Chap. 16) Major Example: the web app. Concurrent Execution. Web app in execution (CS636)
What are Transactions? Transaction Management: Introduction (Chap. 16) CS634 Class 14, Mar. 23, 2016 So far, we looked at individual queries; in practice, a task consists of a sequence of actions E.g.,
More informationConsistency in Distributed Systems
Consistency in Distributed Systems Recall the fundamental DS properties DS may be large in scale and widely distributed 1. concurrent execution of components 2. independent failure modes 3. transmission
More informationFor more Articles Go To: Whatisdbms.com CONCURRENCY CONTROL PROTOCOL
For more Articles Go To: Whatisdbms.com CONCURRENCY CONTROL PROTOCOL In the multi-user system, we all know that multiple transactions run in parallel, thus trying to access the same data and suppose if
More informationConcurrency Control - Two-Phase Locking
Concurrency Control - Two-Phase Locking 1 Last time Conflict serializability Protocols to enforce it 2 Big Picture All schedules Want this as big as possible Conflict Serializable Schedules allowed by
More informationTransaction Management: Introduction (Chap. 16)
Transaction Management: Introduction (Chap. 16) CS634 Class 14 Slides based on Database Management Systems 3 rd ed, Ramakrishnan and Gehrke What are Transactions? So far, we looked at individual queries;
More informationCSE 344 MARCH 25 TH ISOLATION
CSE 344 MARCH 25 TH ISOLATION ADMINISTRIVIA HW8 Due Friday, June 1 OQ7 Due Wednesday, May 30 Course Evaluations Out tomorrow TRANSACTIONS We use database transactions everyday Bank $$$ transfers Online
More informationExercises on Concurrency Control (part 2)
Exercises on Concurrency Control (part 2) Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2017/2018 http://www.dis.uniroma1.it/~lenzerin/index.html/?q=node/53
More informationLecture 12. Lecture 12: The IO Model & External Sorting
Lecture 12 Lecture 12: The IO Model & External Sorting Announcements Announcements 1. Thank you for the great feedback (post coming soon)! 2. Educational goals: 1. Tech changes, principles change more
More informationTransaction Management Overview
Transaction Management Overview Chapter 16 CSE 4411: Database Management Systems 1 Transactions Concurrent execution of user programs is essential for good DBMS performance. Because disk accesses are frequent,
More informationGraph-based protocols are an alternative to two-phase locking Impose a partial ordering on the set D = {d 1, d 2,..., d h } of all data items.
Graph-based protocols are an alternative to two-phase locking Impose a partial ordering on the set D = {d 1, d 2,..., d h } of all data items. If d i d j then any transaction accessing both d i and d j
More informationSilberschatz and Galvin Chapter 18
Silberschatz and Galvin Chapter 18 Distributed Coordination CPSC 410--Richard Furuta 4/21/99 1 Distributed Coordination Synchronization in a distributed environment Ð Event ordering Ð Mutual exclusion
More informationChapter 13 : Concurrency Control
Chapter 13 : Concurrency Control Chapter 13: Concurrency Control Lock-Based Protocols Timestamp-Based Protocols Validation-Based Protocols Multiple Granularity Multiversion Schemes Insert and Delete Operations
More informationSynchronization Part II. CS403/534 Distributed Systems Erkay Savas Sabanci University
Synchronization Part II CS403/534 Distributed Systems Erkay Savas Sabanci University 1 Election Algorithms Issue: Many distributed algorithms require that one process act as a coordinator (initiator, etc).
More informationPage 1. Goals of Today s Lecture" Two Key Questions" Goals of Transaction Scheduling"
Goals of Today s Lecture" CS162 Operating Systems and Systems Programming Lecture 19 Transactions, Two Phase Locking (2PL), Two Phase Commit (2PC)" Transaction scheduling Two phase locking (2PL) and strict
More informationCSC 261/461 Database Systems Lecture 21 and 22. Spring 2017 MW 3:25 pm 4:40 pm January 18 May 3 Dewey 1101
CSC 261/461 Database Systems Lecture 21 and 22 Spring 2017 MW 3:25 pm 4:40 pm January 18 May 3 Dewey 1101 Announcements Project 3 (MongoDB): Due on: 04/12 Work on Term Project and Project 1 The last (mini)
More information10. Replication. CSEP 545 Transaction Processing Philip A. Bernstein. Copyright 2003 Philip A. Bernstein. Outline
10. Replication CSEP 545 Transaction Processing Philip A. Bernstein Copyright 2003 Philip A. Bernstein 1 Outline 1. Introduction 2. Primary-Copy Replication 3. Multi-Master Replication 4. Other Approaches
More informationIntroduction to Data Management CSE 344
Introduction to Data Management CSE 344 Unit 7: Transactions Schedules Implementation Two-phase Locking (3 lectures) 1 Class Overview Unit 1: Intro Unit 2: Relational Data Models and Query Languages Unit
More informationIntroduction to Data Management. Lecture #26 (Transactions, cont.)
Introduction to Data Management Lecture #26 (Transactions, cont.) Instructor: Mike Carey mjcarey@ics.uci.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Announcements v HW and exam
More informationTransaction Management: Concurrency Control
Transaction Management: Concurrency Control Yanlei Diao Slides Courtesy of R. Ramakrishnan and J. Gehrke DBMS Architecture Query Parser Query Rewriter Query Optimizer Query Executor Lock Manager Concurrency
More informationCSE 344 MARCH 9 TH TRANSACTIONS
CSE 344 MARCH 9 TH TRANSACTIONS ADMINISTRIVIA HW8 Due Monday Max Two Late days Exam Review Sunday: 5pm EEB 045 CASE STUDY: SQLITE SQLite is very simple More info: http://www.sqlite.org/atomiccommit.html
More informationThe Issue. Implementing Isolation. Transaction Schedule. Isolation. Schedule. Schedule
The Issue Implementing Isolation Chapter 20 Maintaining database correctness when many transactions are accessing the database concurrently Assuming each transaction maintains database correctness when
More informationL i (A) = transaction T i acquires lock for element A. U i (A) = transaction T i releases lock for element A
Lock-Based Scheduler Introduction to Data Management CSE 344 Lecture 20: Transactions Simple idea: Each element has a unique lock Each transaction must first acquire the lock before reading/writing that
More informationLecture 5: Transactions Concurrency Control. Wednesday October 26 th, 2011
Lecture 5: Transactions Concurrency Control Wednesday October 26 th, 2011 1 Reading Material Main textbook (Ramakrishnan and Gehrke): Chapters 16, 17, 18 Mike Franklin s paper More background material:
More informationTransactions. Transaction. Execution of a user program in a DBMS.
Transactions Transactions Transaction Execution of a user program in a DBMS. Transactions Transaction Execution of a user program in a DBMS. Transaction properties Atomicity: all-or-nothing execution Consistency:
More information11/7/2018. Event Ordering. Module 18: Distributed Coordination. Distributed Mutual Exclusion (DME) Implementation of. DME: Centralized Approach
Module 18: Distributed Coordination Event Ordering Event Ordering Mutual Exclusion Atomicity Concurrency Control Deadlock Handling Election Algorithms Reaching Agreement Happened-before relation (denoted
More informationConflict Equivalent. Conflict Serializability. Example 1. Precedence Graph Test Every conflict serializable schedule is serializable
Conflict Equivalent Conflict Serializability 34 35 Outcome of a schedule depends on the order of conflicting operations Can interchange non-conflicting ops without changing effect of the schedule If two
More informationChapter 16: Distributed Synchronization
Chapter 16: Distributed Synchronization Chapter 16 Distributed Synchronization Event Ordering Mutual Exclusion Atomicity Concurrency Control Deadlock Handling Election Algorithms Reaching Agreement 18.2
More informationAtomicity. Bailu Ding. Oct 18, Bailu Ding Atomicity Oct 18, / 38
Atomicity Bailu Ding Oct 18, 2012 Bailu Ding Atomicity Oct 18, 2012 1 / 38 Outline 1 Introduction 2 State Machine 3 Sinfonia 4 Dangers of Replication Bailu Ding Atomicity Oct 18, 2012 2 / 38 Introduction
More informationDB2 Lecture 10 Concurrency Control
DB2 Lecture 10 Control Jacob Aae Mikkelsen November 28, 2012 1 / 71 Jacob Aae Mikkelsen DB2 Lecture 10 Control ACID Properties Properly implemented transactions are commonly said to meet the ACID test,
More information2 nd Semester 2009/2010
Chapter 16: Concurrency Control Departamento de Engenharia Informática Instituto Superior Técnico 2 nd Semester 2009/2010 Slides baseados nos slides oficiais do livro Database System Concepts c Silberschatz,
More informationMiddleware based Data Replication providing Snapshot Isolation
Middleware based Data Replication providing Snapshot Isolation Yi Lin McGill Univ. Montreal ylin30@cs.mcgill.ca Bettina Kemme McGill Univ. Montreal kemme@cs.mcgill.ca Marta Patiño-Martínez Univ. Politecnica
More informationLectures 8 & 9. Lectures 7 & 8: Transactions
Lectures 8 & 9 Lectures 7 & 8: Transactions Lectures 7 & 8 Goals for this pair of lectures Transactions are a programming abstraction that enables the DBMS to handle recoveryand concurrency for users.
More informationConcurrency Control Serializable Schedules and Locking Protocols
.. Spring 2008 CSC 468: DBMS Implementation Alexander Dekhtyar.. Concurrency Control Serializable Schedules and Locking Protocols Serializability Revisited Goals of DBMS: 1. Ensure consistency of database
More informationTopic 9: Control Flow
Topic 9: Control Flow COS 320 Compiling Techniques Princeton University Spring 2016 Lennart Beringer 1 The Front End The Back End (Intel-HP codename for Itanium ; uses compiler to identify parallelism)
More informationDistributed Mutual Exclusion Algorithms
Chapter 9 Distributed Mutual Exclusion Algorithms 9.1 Introduction Mutual exclusion is a fundamental problem in distributed computing systems. Mutual exclusion ensures that concurrent access of processes
More informationMultiversion schemes keep old versions of data item to increase concurrency. Multiversion Timestamp Ordering Multiversion Two-Phase Locking Each
Multiversion schemes keep old versions of data item to increase concurrency. Multiversion Timestamp Ordering Multiversion Two-Phase Locking Each successful write results in the creation of a new version
More informationChapter 18: Distributed
Chapter 18: Distributed Synchronization, Silberschatz, Galvin and Gagne 2009 Chapter 18: Distributed Synchronization Event Ordering Mutual Exclusion Atomicity Concurrency Control Deadlock Handling Election
More informationCarnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Last Class. Last Class. Faloutsos/Pavlo CMU /615
Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications C. Faloutsos A. Pavlo Lecture#21: Concurrency Control (R&G ch. 17) Last Class Introduction to Transactions ACID Concurrency
More informationLock Granularity and Consistency Levels (Lecture 7, cs262a) Ali Ghodsi and Ion Stoica, UC Berkeley February 7, 2018
Lock Granularity and Consistency Levels (Lecture 7, cs262a) Ali Ghodsi and Ion Stoica, UC Berkeley February 7, 2018 Papers Granularity of Locks and Degrees of Consistency in a Shared Database, J. N. Gray,
More information