200417 Introduction to databases : Transaction

???? 2020/04/17
????课件 ch17 & 18
graph database


CH17

Transaction

Transaction concept

200417 Introduction to databases : Transaction200417 Introduction to databases : Transaction

200417 Introduction to databases : Transaction200417 Introduction to databases : Transaction

ACID Properties

200417 Introduction to databases : Transaction

Transaction State

200417 Introduction to databases : Transaction
200417 Introduction to databases : Transaction
200417 Introduction to databases : Transaction

Schedules

200417 Introduction to databases : Transaction

Schedule 1

200417 Introduction to databases : Transaction

Schedule 2

200417 Introduction to databases : Transaction

Schedule 3

200417 Introduction to databases : Transaction

Schedule 4

200417 Introduction to databases : Transaction

Serializability

200417 Introduction to databases : Transaction

Simplified view of transactions

200417 Introduction to databases : Transaction

Conflicting Instructions

200417 Introduction to databases : Transaction

Conflict Serializability

200417 Introduction to databases : Transaction

conflict serializable example

200417 Introduction to databases : Transaction

NOT conflict serializable example

200417 Introduction to databases : Transaction

View Serializability

(prof skip)

Testing for Serializability

200417 Introduction to databases : Transaction

vertices 顶点/交点
precedence 优先

Test for Conflict Serializability

200417 Introduction to databases : Transaction

Test for View Serializability

(skip)

Recoverable Schedules

200417 Introduction to databases : Transaction

Cascading Rollbacks

200417 Introduction to databases : Transaction

Concurrency Control

200417 Introduction to databases : Transaction

Weak Levels of Consistency

200417 Introduction to databases : Transaction
200417 Introduction to databases : Transaction

Levels of Consistency in SQL-92

200417 Introduction to databases : Transaction
200417 Introduction to databases : Transaction


CH18

Concurrency Control

Lock-Based Protocols

Protocols 礼仪/规章制度

You can have multiple share locks at the same time, but you can ONLY have ONE exclusive lock.

200417 Introduction to databases : Transaction
200417 Introduction to databases : Transaction

Schedule With Lock Grants

200417 Introduction to databases : Transaction

Deadlock

200417 Introduction to databases : Transaction

The Two-Phase Locking Protocol

200417 Introduction to databases : Transaction

200417 Introduction to databases : Transaction

200417 Introduction to databases : Transaction

Deadlock

200417 Introduction to databases : Transaction

Deadlock Handling

Deadlock prevention protocols ensure that the system will never enter into a deadlock state. Some prevention strategies:

  • Require that each transaction locks all its data items before it begins execution (pre-declaration).
  • Impose partial ordering of all data items and require that a transaction can lock data items only in the order specified by the partial order (graph-based protocol).

200417 Introduction to databases : Transaction

Deadlock Detection

200417 Introduction to databases : Transaction

Deadlock Recovery

200417 Introduction to databases : Transaction

Multiple Granularity

200417 Introduction to databases : Transaction

Example of Granularity Hierarchy

200417 Introduction to databases : Transaction

Intention Lock Modes

200417 Introduction to databases : Transaction
200417 Introduction to databases : Transaction

Insert/Delete Operations and Predicate Reads

200417 Introduction to databases : Transaction

Phantom Phenomenon

Phantom Phenomenon Example

200417 Introduction to databases : Transaction
200417 Introduction to databases : Transaction

Handling Phantoms

200417 Introduction to databases : Transaction

Index Locking To Prevent Phantoms

200417 Introduction to databases : Transaction

Timestamp-Based Protocols

200417 Introduction to databases : Transaction

Validation-Based Protocols

200417 Introduction to databases : Transaction

NoSQL Databases

Introduction

200417 Introduction to databases : Transaction

200417 Introduction to databases : Transaction

One Taxonomy

Taxonomy 分类
200417 Introduction to databases : Transaction

CAP Theorem

CAP Theorem

200417 Introduction to databases : Transaction

Consistency Models

200417 Introduction to databases : Transaction
200417 Introduction to databases : Transaction

  • tradeoff in the CAP theorem
    So in a replicated database, I can get consistancy through locking, but I can’t function of this partition caz I can’t lock enough copies. And so that’s where the partition tolerance comes in. For availability, I need multiple copies. For consistency, I need to lock all the copies, which means I can’t tolerate partitions. So I can have consistency and availability, but not partition tolerance. If I have partition tolerance, by definition I can’t lock all the copies, which means I can’t have consistency. I can get partition tolerance and consistency, but not availabilty.