Database Systems Chapter 21 Quiz

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What is the primary purpose of concurrency control protocols?

  • To guarantee serializability of transactions. (correct)
  • To encrypt sensitive data within the database.
  • To optimize database storage.
  • To provide user authentication and authorization.

What is the role of the lock manager subsystem?

  • To optimize query execution plans.
  • To ensure data backup and recovery processes.
  • To manage user privileges and access rights.
  • To keep track of and control access to locks. (correct)

What is the primary purpose of a timestamp in concurrency control?

  • To optimize query processing by indexing transaction operations.
  • To lock database items and prevent concurrent access.
  • To serve as a unique identifier for each transaction and determine its submission order. (correct)
  • To record the time when a transaction releases its locks.

What are the two possible states for a binary lock?

<p>Locked and Unlocked (A)</p> Signup and view all the answers

What is the function of lock_item(X) operation?

<p>To request access to data item X. (C)</p> Signup and view all the answers

How do timestamp-based concurrency control techniques avoid deadlocks?

<p>By not using locks, which eliminates the possibility of circular wait conditions. (B)</p> Signup and view all the answers

What is the main difference between binary locks and shared/exclusive locks?

<p>Shared/exclusive locks allow read operations to occur concurrently, while binary locks do not. (B)</p> Signup and view all the answers

Which of the following methods can be used to generate timestamps for transactions?

<p>Incrementing a counter or using the system clock. (D)</p> Signup and view all the answers

Which lock type is required for a transaction to modify a data item?

<p>Exclusive Lock (B)</p> Signup and view all the answers

In timestamp ordering (TO), what is guaranteed if a transaction's later operation is rejected?

<p>The schedules produced are conflict serializable. (D)</p> Signup and view all the answers

Which of the following is NOT a locking operation mentioned?

<p>modify_lock(X) (B)</p> Signup and view all the answers

What additional property does the strict TO algorithm guarantee compared to the basic TO algorithm?

<p>Ensuring schedules are both strict and conflict serializable. (A)</p> Signup and view all the answers

Why is binary locking considered too restrictive for database items?

<p>It prevents concurrent read access. (D)</p> Signup and view all the answers

Within two-phase locking techniques, what action describes upgrading?

<p>Issuing a write_lock operation after a read_lock operation. (C)</p> Signup and view all the answers

Which phase of the two-phase locking protocol prohibits the acquisition of new locks?

<p>The shrinking phase. (A)</p> Signup and view all the answers

During which phase of the two-phase locking protocol must lock conversion upgrades occur?

<p>Expanding Phase (A)</p> Signup and view all the answers

What does the two-phase locking protocol guarantee about a schedule if every transaction follows it?

<p>The schedule will be serializable. (C)</p> Signup and view all the answers

According to the content, what is a potential drawback of using two-phase locking?

<p>It might prevent some serializable schedules from occurring. (D)</p> Signup and view all the answers

Which of the following best characterizes Conservative (static) 2PL?

<p>Transactions lock all needed items before starting. (C)</p> Signup and view all the answers

Which two-phase locking variation guarantees a deadlock-free protocol?

<p>Conservative (static) 2PL (C)</p> Signup and view all the answers

How does Strict 2PL differ from Basic 2PL?

<p>Strict 2PL does not release exclusive locks until after commit or abort, while Basic 2PL can release them earlier. (D)</p> Signup and view all the answers

Which of the following is a characteristic of rigorous two-phase locking (2PL)?

<p>Transactions do not release any locks until after they commit or abort. (B)</p> Signup and view all the answers

What is a primary function of a concurrency control subsystem in the context of locking?

<p>To generate read_lock and write_lock requests. (B)</p> Signup and view all the answers

Why is locking generally considered to have high overhead in database systems?

<p>Locking operations require memory allocation, maintenance, and complex algorithms that impact processing time. (D)</p> Signup and view all the answers

Which of the following best describes the condition of deadlock in a database system?

<p>Each transaction in a set is waiting for an item locked by another transaction in the same set. (D)</p> Signup and view all the answers

Which deadlock prevention protocol involves a transaction locking all items it needs in advance?

<p>Early Locking (B)</p> Signup and view all the answers

Which of the following is true about the 'no waiting' algorithm for handling deadlocks?

<p>It immediately aborts and restarts a transaction if it cannot obtain a lock. (C)</p> Signup and view all the answers

In deadlock detection, what is the purpose of the wait-for graph?

<p>To detect cycles indicating a deadlock situation. (D)</p> Signup and view all the answers

What is a common solution to prevent starvation in database transactions?

<p>Using a first-come-first-served queue. (D)</p> Signup and view all the answers

Flashcards

Concurrency Control

Set of rules designed to guarantee serializability in database transactions.

Two-Phase Locking

A protocol that locks data items to prevent concurrent access in two phases: growing and shrinking.

Lock

A variable associated with a data item that describes its status for operations that can be applied.

Binary Locks

Locks with two states: locked (1) meaning inaccessible, and unlocked (0) meaning accessible.

Signup and view all the flashcards

Lock Table

A table that specifies which items currently have locks and their states.

Signup and view all the flashcards

Lock Manager

Subsystem that keeps track of and controls access to locks in the database system.

Signup and view all the flashcards

Shared Lock

Allows multiple transactions to read an item concurrently without conflict.

Signup and view all the flashcards

Exclusive Lock

Requires exclusive control to write to an item, preventing other simultaneous writes.

Signup and view all the flashcards

Lock Conversion

Changing a lock held by a transaction from one type to another.

Signup and view all the flashcards

Upgrading

Switching from a read lock to a write lock in a transaction.

Signup and view all the flashcards

Downgrading

Switching from a write lock to a read lock in a transaction.

Signup and view all the flashcards

Expanding Phase

Phase where new locks can be acquired but not released.

Signup and view all the flashcards

Shrinking Phase

Phase where existing locks can be released but no new ones can be acquired.

Signup and view all the flashcards

Basic 2PL

Standard Two-Phase Locking technique outlined earlier.

Signup and view all the flashcards

Strict 2PL

A version of 2PL that does not release locks until after a transaction commits or aborts.

Signup and view all the flashcards

Rigorous Two-Phase Locking

A locking protocol where transactions do not release locks until they commit or abort.

Signup and view all the flashcards

Deadlock

A situation where two or more transactions are waiting for each other to release locks, leading to a standstill.

Signup and view all the flashcards

Deadlock Prevention Protocols

Methods to avoid deadlock by ensuring transactions lock all needed items in advance or in a specific order.

Signup and view all the flashcards

Wait-die Protocol

A deadlock prevention method where older transactions can wait for younger ones, but younger ones are aborted.

Signup and view all the flashcards

Wound-wait Protocol

A deadlock prevention strategy where older transactions can 'wound' younger ones, forcing them to abort.

Signup and view all the flashcards

No Waiting Algorithm

A strategy where if a transaction cannot obtain a lock, it is immediately aborted and later restarted.

Signup and view all the flashcards

Starvation

A situation where a transaction cannot proceed for a long time while others continue to execute normally.

Signup and view all the flashcards

Victim Selection in Deadlock

Deciding which transaction to abort when deadlock occurs, based on certain criteria or costs.

Signup and view all the flashcards

Timestamp

A unique identifier assigned by the DBMS for a transaction, indicating its start time.

Signup and view all the flashcards

Concurrency Control without Locks

Concurrency control techniques that utilize timestamps and avoid deadlocks since no locks are used.

Signup and view all the flashcards

Timestamp Ordering (TO)

A method allowing interleaved transaction operations while ensuring the order based on their timestamps.

Signup and view all the flashcards

Basic TO Algorithm

An algorithm that rejects later conflicting operations by aborting the transaction that issued them, ensuring conflict serializability.

Signup and view all the flashcards

Strict TO Algorithm

An extension of TO that guarantees schedules are both strict and conflict serializable.

Signup and view all the flashcards

Study Notes

Fundamentals of Database Systems - Chapter 21: Concurrency Control Techniques

  • Concurrency control protocols are sets of rules to guarantee serializability during concurrent access.
  • Two-phase locking protocols manage concurrent access by locking data items.
  • Timestamps provide unique identifiers for each transaction.

21.1 Two-Phase Locking Techniques

  • A lock is a variable associated with a data item.
  • It describes the status of the data item for the operations performed.
  • Binary locks use two states (values): locked (1) and unlocked (0).
  • A locked item cannot be accessed.
  • Unlock operations allow accessing items.

Two-Phase Locking Techniques (cont'd.)

  • Transactions request access by issuing lock_item(X) operations.
  • If a lock is available, the item is locked.
  • If the lock is unavailable, the transaction waits.
  • unlock_item(X) releases a lock.
  • A lock table specifies which database items have locks.
  • The lock manager subsystem manages locks.

Two-Phase Locking Techniques (cont'd.)

  • Shared/exclusive (read/write) locks allow reading simultaneously without conflicts.
  • Exclusive locks are needed for writing.
  • The operations are read_lock(X), write_lock(X), and unlock(X).
  • For read_lock(X): if the lock is unlocked, set it to read-locked, otherwise, increment the read count.
  • For write_lock(X): if the lock is unlocked, set it to write-locked; otherwise, wait until unlocked.

Two-Phase Locking Techniques (cont'd.)

  • Transactions can convert locks from one state to another.
  • Upgrading converts read to write.
  • Downgrading converts write to read.

Guaranteeing Serializability by Two-Phase Locking

  • Two-phase locking protocol ensures all locking operations precede the first unlock operation in each transaction.
  • It consists of expanding (growing) and shrinking phases.
  • Expanding phase: acquiring new locks, allowing lock conversions, and no lock releases.
  • Shrinking phase: releasing existing locks, and allowing downgrades.

Variations of Two-Phase Locking

  • Basic 2PL: described in previous slides.
  • Conservative 2PL: requires predeclaring all accessed items by a transaction before it starts.
  • Strict 2PL: exclusive locks are released only after the transaction commits or aborts.
  • Rigorous 2PL: no lock release until the transaction commits or aborts.

Dealing with Deadlock and Starvation

  • Deadlock occurs when two or more transactions are waiting indefinitely for each other to release locks.
  • Deadlock prevention protocols require transactions to lock all required resources in advance, or to order resource requests.
  • Deadlock detection algorithms check for deadlock states and resolve them.
  • Starvation occurs if a transaction waits indefinitely, while other transactions get processed.
  • Timeouts and victim selection resolve starvation.

21.2 Concurrency Control Based on Timestamp Ordering

  • Timestamps are unique identifiers for transactions, assigned in the order they are submitted.
  • Timestamp ordering avoids using locks.
  • Deadlocks are not possible.

Timestamp Ordering (cont'd.)

  • Generating timestamps: the DBMS assigns timestamps to transactions based on the order of their submission.
  • Timestamp ordering enforces equivalent serial order based on transaction timestamps.
  • Each database item has read_TS(X) and write_TS(X) timestamps.

Timestamp Ordering (cont'd.)

  • Basic TO algorithm: if a conflict arises, the later operation is rejected.
  • Strict TO algorithm ensures schedules are both strict and conflict serializable.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Concurrency Control in DBMS
10 questions

Concurrency Control in DBMS

UserReplaceablePond avatar
UserReplaceablePond
Concurrency Control in Database Systems
10 questions
Two-Phase Locking Techniques
40 questions

Two-Phase Locking Techniques

KidFriendlyBowenite2669 avatar
KidFriendlyBowenite2669
Use Quizgecko on...
Browser
Browser