Bird
Raised Fist0
DBMS Theoryknowledge~20 mins

Timestamp-based protocols in DBMS Theory - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Timestamp Protocol Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding the purpose of timestamp-based protocols

What is the main goal of using timestamp-based protocols in database management systems?

ATo ensure transactions are executed in the order of their timestamps to maintain serializability
BTo lock data items before transactions access them to prevent conflicts
CTo allow transactions to execute without any order restrictions for maximum concurrency
DTo prioritize transactions based on their size rather than their start time
Attempts:
2 left
💡 Hint

Think about how timestamps help maintain a consistent order of transactions.

📋 Factual
intermediate
2:00remaining
Timestamp components in protocols

Which two timestamps are maintained for each data item in a timestamp-based concurrency control protocol?

ALock timestamp and unlock timestamp
BStart timestamp and commit timestamp
CRead timestamp and write timestamp
DAccess timestamp and release timestamp
Attempts:
2 left
💡 Hint

Consider timestamps related to reading and writing operations on data items.

🔍 Analysis
advanced
2:00remaining
Result of conflicting operations in timestamp protocols

Consider two transactions T1 and T2 with timestamps TS(T1) = 5 and TS(T2) = 10. If T2 tries to write a data item that T1 has already read, what will happen under a timestamp-based protocol?

AT2 waits until T1 commits
BT1 is rolled back because it started earlier
CBoth transactions proceed without interruption
DT2 is rolled back because it violates the timestamp order
Attempts:
2 left
💡 Hint

Recall that in timestamp ordering, a younger transaction can write an item read by an older transaction.

❓ Comparison
advanced
2:00remaining
Difference between basic timestamp protocol and Thomas' write rule

How does Thomas' write rule improve upon the basic timestamp ordering protocol?

AIt assigns timestamps dynamically during transaction execution
BIt allows some write operations to be ignored if they are obsolete, increasing concurrency
CIt introduces locking to prevent conflicts between transactions
DIt enforces stricter ordering by aborting more transactions
Attempts:
2 left
💡 Hint

Consider how ignoring certain writes can help reduce unnecessary rollbacks.

❓ Reasoning
expert
2:00remaining
Determining the number of possible serial schedules

Given 3 transactions T1, T2, and T3, each with unique timestamps, how many possible serial schedules are there that respect the timestamp order in a timestamp-based protocol?

A1
B3
C6
D0
Attempts:
2 left
💡 Hint

Think about how timestamp ordering restricts the order of transactions.

Practice

(1/5)
1. What is the main purpose of timestamps in timestamp-based protocols in DBMS?
easy
A. To give each transaction a unique order number
B. To encrypt the data during transactions
C. To store the transaction results permanently
D. To backup the database automatically

Solution

  1. Step 1: Understand the role of timestamps

    Timestamps assign a unique number to each transaction to order them.
  2. Step 2: Identify the main purpose in protocols

    This ordering helps the system decide which transaction can read or write data safely.
  3. Final Answer:

    To give each transaction a unique order number -> Option A
  4. Quick Check:

    Timestamps = Unique order number [OK]
Hint: Timestamps order transactions uniquely [OK]
Common Mistakes:
  • Confusing timestamps with encryption keys
  • Thinking timestamps store data permanently
  • Assuming timestamps handle backups
2. Which of the following is the correct way to assign a timestamp to a transaction in a timestamp-based protocol?
easy
A. Assign the current system time as the timestamp
B. Assign a random number as the timestamp
C. Assign the transaction ID as the timestamp
D. Assign the timestamp after the transaction commits

Solution

  1. Step 1: Understand timestamp assignment

    Timestamps are usually assigned based on the current system time to reflect order.
  2. Step 2: Evaluate options

    Random numbers or transaction IDs do not guarantee correct ordering; timestamps must be assigned before commit.
  3. Final Answer:

    Assign the current system time as the timestamp -> Option A
  4. Quick Check:

    Timestamp = Current system time [OK]
Hint: Use system time for timestamps [OK]
Common Mistakes:
  • Using random numbers instead of time
  • Assigning timestamp after commit
  • Confusing transaction ID with timestamp
3. Consider two transactions T1 and T2 with timestamps TS(T1) = 5 and TS(T2) = 10. If T1 tries to write a data item that T2 has already written, what will happen according to timestamp-based protocols?
medium
A. T1 will overwrite T2's write because it started earlier
B. T2 will be rolled back because it started later
C. T1 will be rolled back to prevent overwriting newer data
D. Both transactions will commit successfully

Solution

  1. Step 1: Compare timestamps of T1 and T2

    T1 has timestamp 5 (older), T2 has timestamp 10 (newer).
  2. Step 2: Apply timestamp protocol rule

    Older transactions cannot overwrite changes made by newer transactions, so T1 must be rolled back.
  3. Final Answer:

    T1 will be rolled back to prevent overwriting newer data -> Option C
  4. Quick Check:

    Older transaction rollback = T1 rollback [OK]
Hint: Older transactions cannot overwrite newer writes [OK]
Common Mistakes:
  • Thinking older transactions can overwrite newer writes
  • Assuming both transactions commit
  • Confusing which transaction rolls back
4. Identify the error in this scenario: Transaction T3 with timestamp 15 reads a data item last written by T4 with timestamp 20. According to timestamp-based protocols, what is wrong if T3 reads the old value?
medium
A. No error, reading old value is allowed
B. T4 should roll back because T3 read first
C. T3 can read any value without restrictions
D. T3 should not read because it is older than T4's write

Solution

  1. Step 1: Compare timestamps of T3 and T4

    T3 has timestamp 15 (older), T4 has timestamp 20 (newer).
  2. Step 2: Apply read rule in timestamp protocol

    Older transactions cannot read data written by newer transactions because it causes inconsistency.
  3. Final Answer:

    T3 should not read because it is older than T4's write -> Option D
  4. Quick Check:

    Older transaction reading newer write = Not allowed [OK]
Hint: Older transactions cannot read newer writes [OK]
Common Mistakes:
  • Assuming older transactions can read newer writes
  • Thinking newer transaction rolls back
  • Believing reading old value is always allowed
5. In a timestamp-based protocol, if a transaction T5 with timestamp 25 tries to write a data item that was last read by transaction T6 with timestamp 30, what should happen to maintain consistency?
hard
A. T6 should be rolled back because it read before T5's write
B. T5 should be rolled back because it is older than T6
C. Both transactions can proceed without rollback
D. T5 can write only if T6 commits first

Solution

  1. Step 1: Analyze timestamps of T5 and T6

    T5 has timestamp 25 (older), T6 has timestamp 30 (newer).
  2. Step 2: Apply write rule in timestamp protocol

    Older transaction T5 cannot write if a newer transaction T6 has already read the data, to avoid inconsistency.
  3. Step 3: Decide action to maintain consistency

    T5 must be rolled back to prevent overwriting data read by newer transaction T6.
  4. Final Answer:

    T5 should be rolled back because it is older than T6 -> Option B
  5. Quick Check:

    Older write after newer read = Rollback older [OK]
Hint: Older writes after newer reads cause rollback [OK]
Common Mistakes:
  • Allowing older writes after newer reads
  • Rolling back newer transaction incorrectly
  • Assuming both can proceed safely
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard