摘要 |
A computer database method wherein the data is organized into atomic data sets and transactions are separated into projections which operate on only one atomic data set. Multiple transactions can thereby access the same atomic data set using a locking protocol wherein locks are held by each projection. On access to a data item, the system detects existing locks. If locks are not found, the system locks the data and performs the access. When existing locks are found the system delays execution of the command and determines if a deadlock is present. To recover from a deadlock, related projections are merged together and reexecuted. The system merges related projections from other transactions and reexecutes if the deadlock continues. When the deadlock continues after execution of the above steps, a victim projection is chosen and aborted. The victim projection is restarted after commit of the conflicting projection.
|