Create an interactive database concurrency simulator that helps developers understand deadlocks, lock contention, transaction isolation, and slow database operations through visual experiments.
Allow users to define transactions containing reads, writes, updates, and commits. Display concurrent execution as a timeline showing lock acquisition, lock waiting, transaction blocking, rollback, and deadlock detection.
Support configurable transaction isolation levels and simplified models of row-level and table-level locking. Include scenarios such as two transactions updating records in opposite orders, long-running transactions, missing indexes that increase the number of examined records, and retry storms.
Provide step-by-step execution controls, a wait-for graph, and explanations of why a transaction is blocked. Let users modify transaction order or query strategy and compare the results.
Clearly document which database behaviors are simplified. Do not claim that the simulator exactly reproduces every database engine. Make the application usable locally without requiring a production database connection.
0 Comments