Changes

Jump to navigation Jump to search
44 bytes removed ,  01:57, 18 December 2010
When executing a transaction, all updates are stored in an update
list. They will be executed all at once, so the database is
updated atomically. If any of the update subtransactions sub-transactions iserroneous , the overall transaction will be aborted.
The concurrency control checks for each transaction, which will
update operations increased, so now it's possible to address
numerous databases and execute updates on them.
Updates, which uses access multiple databases can not cannot be executed
with a simple data lock. That's why BaseX uses a special lock
object, which controls the execution of the server process.
This has the advantage that the used databases need not to be
known in advance, and the correct execution is still granted. The
disadvantage is that write operations are executed sequentially.
Read-only operations are executed in parallel.
For these reasons, a waiting list is used, which ensures that all processes are
treated equally and that they are executed accordingly to their sequenceone after another.
This corresponds to the FIFO principle ('First-In First-Out'), which states that
the first processes process that arrives at the server, will be the first one which that willbe executed. The FIFO principle can not cannot be adhered in a group of readingtransactions, as they run in different threads and thus they can overtake each other.
The use of the monitor also prevents the system from deadlocks, because the
critical resource is only assigned to one writing transaction resp. a group of
reading transactions. So there is only one active writing transaction.
 
N.B.
An abort of the server during a transaction will inevitably lead
to an inconsistent database. A rollback of the transaction would
prevent such an undesirable database state. Unfortunately,this This feature is not <b>yet</b> available in the current version of BaseX.
[[Category:Server]]
[[Category:Internal]]
[[Category:Finish]]
Bureaucrats, editor, reviewer, Administrators
13,554

edits

Navigation menu